DB2 - Problem description
| Problem IT06019 | 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 / A10 - 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 10.1.0.5. * **************************************************************** | |
| 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 10.1.0.5. | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 10.12.2014 14.07.2015 14.07.2015 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.1.0.5 |
|