DB2 - Problem description
Problem IC97422 | Status: Closed |
POSSIBLE INDEX OBJECT CORRUPTION WHEN "NOT ENFORCED" CONSTRAINT IS USED ON A ROW-ORGANIZED TABLE | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
Symptoms: There are several possible symptoms. a) The following message could be seen when attempting to access the table for the first time after the database has been deactivated: SQL1655C The operation could not be completed due to an error accessing data on disk. SQLSTATE=58030 The diag.log will contain the following and an FODC_BadPage directory will be created. FUNCTION: DB2 UDB, buffer pool services, sqlb_verify_page, probe:2 MESSAGE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad" DIA8400C A bad page was encountered. DATA #1 : String, 64 bytes Error encountered trying to read a page - information follows : DATA #2 : String, 23 bytes Page verification error Upon formatting the page dumped in the FODC_BadPage directory the page dumped may be all zeroes. b) Dropping the index on the table could fail with the following written to the diag.log: FUNCTION: DB2 UDB, data management, sqldmdpi, probe:195 MESSAGE : Unable to find index token. DATA #1 : Hexdump, 2 bytes 0x00002AAAC73F6288 : 0100 .. c) If the index object has been marked bad, either manually or by rolling forward through an operation that marked it bad, it's possible that one of the following could happen when an attempt is made to recreate the index object. An endless loop could occur with the following being written to the diag.log repeatedly: FUNCTION: DB2 UDB, data management, sqldLoadTCB, probe:10717 MESSAGE : ADM5572I One or more indexes on table "KIRTON .T1" are marked invalid and require rebuilding. or a -901 will be returned with the message "numIndexes not set for index recreation!". Conditions Required: Have a table with a not enforced key defined, create one or more physical indexes on the table and drop all the indexes. The index object will now be in an inconsistent state. Creating a new index will appear to be successful but corruption may have occurred. The corruption will ultimately lead to one of the symptoms as above. Note that the corrupt object may not be detected immediately as in some cases use of the table and inserts into it will succeed, but the index will not be updated. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 10.5.0.3. * **************************************************************** | |
Local Fix: | |
If an index was created successfully, then the index object can be marked bad and will be recreated successfully. After the indexes are recreated the table must then be altered to drop the NOT ENFORCED constraint to avoid corrupting the object again. If the index object has been marked bad and cannot be recreated successfully then an attempt can be made to drop the table. If this fails then service will have to assist to mark the table bad and then drop it. Alternatively, the database can be restored from a backup and rolled forward to a point in time before the last index on the NOT ENFORCED table was dropped. At the point the table could be altered to drop the NOT ENFORCED constraint and avoid the corruption. To Avoid: Do not use a mix of not enforced keys and indexes on the same row-organized table. If you have a NOT ENFORCED constraint as well as one or more indexes defined on a table then alter the table to drop the NOT ENFORCED key before attempting to drop any indexes. | |
available fix packs: | |
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows | |
Solution | |
The problem is first fixed in DB2 version 10.5.0.3. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.11.2013 27.02.2014 27.02.2014 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.3 | |
10.5.0.3 |