DB2 - Problem description
| Problem IC81680 | Status: Closed |
ROLLFORWARD OR CRASH RECOVERY MAY FAIL WITH SQL1042C WHILE REDOING EXTENT ADDITION. | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
When a new object (e.g. a user table) is created, IBM DB2 for
Linux, Unix, and Windows writes a transaction log record of type
"OBJ_ADD_EXT" to state that an extent has been added to this
newly created object. Assume that the database terminates before
the add extent operation gets written to the disk, meaning that
OBJ_ADD_EXT is newer than minBuffLSN for the database. If the
user decides to restore the database and rollforward through the
existing log files at this point, or if crash recovery is
initiated during the next database start, replaying the
OBJ_ADD_EXT log record will result in
SQLB_EAT_OBJ_TYPE_NOT_FOUND in sqlbRedoUpdateEMP(), and recovery
will fail with SQL1042C.
Sample db2diag.log entries:
2012-01-27-14.25.21.099246-660 I19197565A584 LEVEL: Warning
PID : 1232992 TID : 14002 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID:
*LOCAL.db2inst1.120127012520
AUTHID : db2inst1
EDUID : 14002 EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, recovery manager, sqlpForwardRecovery,
probe:710
DATA #1 : <preformatted>
Invoking database rollforward forward recovery,
lowtranlsn 0000489899A43641 in log file number 234412
minbufflsn 00004898BE477C64 in log file number 234413
.
.
2012-01-27-14.25.23.978969-660 I19199640A13225 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID:
*LOCAL.db2inst1.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbCalcEMPDiskPageNum,
probe:1957
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space."
<...skipping...>
2012-01-27-14.25.23.979899-660 I19212866A1283 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID: *LOCAL.db2fpr.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbRedoUpdateEMP,
probe:1633
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space."
<...skipping...>
2012-01-27-14.25.23.980106-660 I19214150A557 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
APPHDL : 0-55605 APPID: *LOCAL.db2fpr.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbRedo, probe:0
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space." | |
| Problem Summary: | |
When a new object (e.g. a user table) is created, IBM
DB2 for
Linux, Unix, and Windows writes a transaction log record of type
"OBJ_ADD_EXT" to state that an extent has been added to this
newly created object. Assume that the database terminates before
the add extent operation gets written to the disk, meaning that
OBJ_ADD_EXT is newer than minBuffLSN for the database. If the
user decides to restore the database and rollforward through the
existing log files at this point, or if crash recovery is
initiated during the next database start, replaying the
OBJ_ADD_EXT log record will result in
SQLB_EAT_OBJ_TYPE_NOT_FOUND in sqlbRedoUpdateEMP(), and recovery
will fail with SQL1042C.
Sample db2diag.log entries:
2012-01-27-14.25.21.099246-660 I19197565A584 LEVEL: Warning
PID : 1232992 TID : 14002 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID:
*LOCAL.db2inst1.120127012520
AUTHID : db2inst1
EDUID : 14002 EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, recovery manager, sqlpForwardRecovery,
probe:710
DATA #1 : <preformatted>
Invoking database rollforward forward recovery,
lowtranlsn 0000489899A43641 in log file number 234412
minbufflsn 00004898BE477C64 in log file number 234413
.
.
2012-01-27-14.25.23.978969-660 I19199640A13225 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID:
*LOCAL.db2inst1.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbCalcEMPDiskPageNum,
probe:1957
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space."
<...skipping...>
2012-01-27-14.25.23.979899-660 I19212866A1283 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-55605 APPID: *LOCAL.db2fpr.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbRedoUpdateEMP,
probe:1633
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space."
<...skipping...>
2012-01-27-14.25.23.980106-660 I19214150A557 LEVEL: Error
PID : 1232992 TID : 3085 PROC : db2sysc
0
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
APPHDL : 0-55605 APPID: *LOCAL.db2fpr.120127012520
AUTHID : db2inst1
EDUID : 3085 EDUNAME: db2redow (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbRedo, probe:0
MESSAGE : ZRC=0x8002045A=-2147351462=SQLB_EAT_OBJ_TYPE_NOT_FOUND
"Requested object type could not be found in the
Extent Anchor Table for the table space." | |
| Local Fix: | |
If restoring and rolling forward, use a different backup image where the OBJ_ADD_EXT operation has already been written to the disk. No workaround for the crash recovery case. | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
| Solution | |
First fixed in DB2 Version 9.7 Fix Pack 6. | |
| Workaround | |
If restoring and rolling forward, use a different backup image where the OBJ_ADD_EXT operation has already been written to the disk. No workaround for the crash recovery case. | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.02.2012 04.02.2013 04.02.2013 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.FP6 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.6 |
|