DB2 - Problem description
Problem IT05673 | Status: Closed |
DATA CORRUPTION CAUSED BY LOCKING BEHAVIOR WHEN LOCKSIZE SET TO BLOCKINSERT AND A TRANSACTION INSERTING INTO AN MDC TABLE | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When LockSize is set to BlockInsert and a transaction is inserting into an MDC table, we check the cell cache to see if this transaction previously inserted a row wth this same cell value into the table. If we find such a cell, we go ahead and try to insert the new row into it. Since LockSize is set to BlockInsert we think already we have the block locked X and that we don't need to do row locking. However, if the first value was inserted either when LockSize was set to Row, or as part of a decomposed update that moved the row into a new cell (either in the same or a different database partition), then the transaction only has an IX lock on the block and therefore needs to do row locking. In db2diag.log, might see an error similar to the following: 2014-11-13-04.58.15.623848-300 I34596766A563 LEVEL: Severe PID : 7078060 TID : 41455 PROC : db2sysc 3 INSTANCE: db2inst NODE : 003 DB : SAMPLE APPHDL : 2-42740 APPID: *N1.db2inst.1411130928361 AUTHID : DB2INST EDUID : 41455 EDUNAME: db2agnta (SAMPLE) 3 FUNCTION: DB2 UDB, index manager, sqliMarkKey, probe:1323 RETCODE : ZRC=0x82090001=-2113339391=SQLI_NONSEVERE_PRGERR "Non severe index programming error" DIA8532C An internal processing error has occurred. ... 2014-11-13-04.58.15.651651-300 I34599687A511 LEVEL: Severe PID : 7078060 TID : 41455 PROC : db2sysc 3 INSTANCE: db2inst NODE : 003 DB : SAMPLE APPHDL : 2-42740 APPID: *N1.db2inst.1411130928361 AUTHID : DB2INST EDUID : 41455 EDUNAME: db2agnta (SAMPLE) 3 FUNCTION: DB2 UDB, index manager, sqliMarkKey, probe:1147 MESSAGE : Index object = {TBSPACEID=<127>; OBJECTID=<4>} Parent object = {TBSPACEID=<126>; OBJECTID=<4>} ... 2014-11-13-04.58.15.987567-300 E34656647A966 LEVEL: Critical PID : 7078060 TID : 41455 PROC : db2sysc 3 INSTANCE: db2inst NODE : 003 DB : SAMPLE APPHDL : 2-42740 APPID: *N1.db2inst.1411130928361 AUTHID : DB2INST EDUID : 41455 EDUNAME: db2agnta (SAMPLE) 3 FUNCTION: DB2 UDB, base sys utilities, sqeLocalDatabase::MarkDBBad, probe:10 MESSAGE : ADM14001C An unexpected and critical error has occurred: "DBMarkedBad". The instance may have been shutdown as a result. "Automatic" FODC (First Occurrence Data Capture) has been invoked and diagnostic information has been recorded in directory "/dbhome/db2inst/sqllib/db2dump/FODC_DBMarkedBad_2014-11-13-04.5 8.15.967584_0003/". Please look in this directory for detailed evidence about what happened and contact IBM support if necessary to diagnose the problem. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7.0.11. * **************************************************************** | |
Local Fix: | |
Alter the table to use LockSize Row using the ALTER TABLE statement: ALTER TABLE <TableName> LOCKSIZE ROW | |
Solution | |
The problem is first fixed in DB2 version 9.7.0.11. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 19.11.2014 06.10.2015 06.10.2015 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.0.11 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.11 |