IC81680: ROLLFORWARD OR CRASH RECOVERY MAY FAIL WITH SQL1042C WHILE REDOING EXTENT ADDITION.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error 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."
    

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.
    

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."
    

Problem conclusion

  • First fixed in DB2 Version 9.7 Fix Pack 6.
    

Temporary 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.
    

Comments

APAR Information

  • APAR number

    IC81680

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-02-27

  • Closed date

    2013-02-04

  • Last modified date

    2013-02-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

DB2 for Linux, UNIX and Windows

Software version:

9.7

Reference #:

IC81680

Modified date:

2013-02-04

Translate my page

Machine Translation

Content navigation