home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

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
DB2 Version 10.5 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows
DB2 Version 10.5 Fix Pack 9 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 FixList
10.5.0.3 FixList