DB2 - Problem description
| Problem IC89290 | Status: Closed |
INDEX CORRUPTION MIGHT BE INTRODUCED DURING A DATABASE UPGRADE TO DB2 VERSION 9.7 | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
During a database upgrade to DB2 Version 9.7, index corruption
might be introduced. This is caused by the DB2 code that
upgrades the index root page to Version 9.7 if the following
conditions are true:
- the index was created with both the UNIQUE and INCLUDE
keywords
- at least one of the columns specified in the INCLUDE clause of
the CREATE INDEX statement is a variable length column
- the only variable length columns in the index are specified in
the INCLUDE clause of the CREATE INDEX statement
- the index contains more than one level
If db2dart is run with the /DB option immediately after the
upgrade, the following error message might appear in the report:
Error: BPS check read error for pool page <PageNumber>, from
object ID <ObjectID>, pool <PoolID>,
If db2dart is not run immediately after the upgrade, a number of
different symptoms might occur, such as the following message in
the db2diag.log:
2013-01-11-14.01.52.435086-300 I1705E3859 LEVEL: Severe
PID : 763 TID : 46912946301248PROC:
db2sysc
INSTANCE: dbuser NODE : 000 DB : SAMPLE
APPHDL : 0-7 APPID: *LOCAL.dbuser.130111190139
AUTHID : DBUSER
EDUID : 16 EDUNAME: db2agent (SAMPLE)
FUNCTION: DB2 UDB, buffer pool services, sqlb_verify_page,
probe:12
MESSAGE : ZRC=0x87020036=-2029912010=SQLB_BADHDR "Bad Page
Header"
DIA8547C An error occurred in a database page header.
The following query can be used to identify indexes that might
be affected:
select distinct t2.TBSPACEID, t2.TABLEID, t1.IID,
t1.TABSCHEMA, t1.TABNAME, t1.INDSCHEMA, t1.INDNAME
from syscat.indexes as t1,
syscat.tables as t2
where t1.UNIQUE_COLCOUNT >= 1
and t1.UNIQUE_COLCOUNT < t1.COLCOUNT
and t1.TABSCHEMA = t2.TABSCHEMA
and t1.TABNAME = t2.TABNAME
and t1.UNIQUE_COLCOUNT <
(select min(t3.COLSEQ)
from syscat.indexColUse as t3,
syscat.columns as t4
where t1.INDSCHEMA = t3.INDSCHEMA
and t1.INDNAME = t3.INDNAME
and t1.TABSCHEMA = t4.TABSCHEMA
and t1.TABNAME = t4.TABNAME
and t3.COLNAME = t4.COLNAME
and t4.TYPENAME = 'VARCHAR'
and t4.TYPESCHEMA = 'SYSIBM'
with ur)
with ur; | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users upgrade to DB2 version 9.7 * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7.0.8. * **************************************************************** | |
| Local Fix: | |
REORG the corrupted indexes or mark the index as bad by using the db2dart option /MI. When completed, rebuild it by accessing the table. | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows | |
| Solution | |
The problem is first fixed in DB2 version 9.7.0.8. | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.12.2012 25.03.2013 26.03.2013 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.0.8 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.8 |
|