IBM Support

IY95427: DATABASE MAY BE MARKED BAD IF THE ROW LENGTH EXCEEDS MAXIMUM ROW LENGTH FOR PAGE EVEN WHEN THE VALUE COMPRESSION LENGTH DOES NOT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Table value compression allows the maximum size of some column
    types to use less space than the uncompressed versions of that
    column type.
    
    When a table has some columns using value compression and value
    compression is active for the table, columns may be added to the
    table which would make the total uncompressed size of all the
    columns exceed the maximum row length for a given tablespace
    page size.
    
    An incorrect check of the row length will cause the database to
    be marked bad, reporting that the row length exceeds the maximum
    length even though the maximum length of the value compressed
    columns is less than the maximum row length.
    
    
    
    There are two triggers:
    
    1) The erroneous check will occur when a table control block is
    initialized:
    
    
    This error is accompanied by db2diag.log entries:
    
    2007-02-15-16.41.37.012096-300 I849701A484        LEVEL: Severe
    PID     : 1310790              TID  : 1           PROC :
    db2agent (SAMPLE) 0
    INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
    APPHDL  : 0-49                 APPID:
    *LOCAL.db2inst1.070215214102
    FUNCTION: DB2 UDB, data management, setupDATInfo, probe:1695
    MESSAGE : Descriptor row length exceeds maximum allowed:
    DATA #1 : Hexdump, 4 bytes
    0x0FFFFFFFFFFE90F0 : 0000 1FB4
    
    
    
    A trap file will also be generated with the following functions:
         setupDATInfo
         sqldLoadTCB
         sqldLockTableFixTCB
    
    
    
    2) The erroneous check will occur when an online reorg is issued
    against a table containing rows that are uncompressed as well as
    rows that are compressed:
    
    
    This error is accompanied by db2diag.log entries:
    
    2007-02-15-00.40.36.674450-300 I1995815A496       LEVEL: Severe
    PID     : 1306660              TID  : 1           PROC :
    db2reorg (SAMPLE) 0
    INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
    APPHDL  : 0-1127               APPID:
    *LOCAL.db2inst1.070215054048
    AUTHID  : db2inst1
    FUNCTION: DB2 UDB, data management, sqldCalcMaxRecordLength,
    probe:100
    MESSAGE : Row length is larger than allowed:
    DATA #1 : Hexdump, 4 bytes
    0x0FFFFFFFFFFF50A0 : 0000 0FED
    
    
    A trap file will also be generated with the following functions:
         sqloDumpEDU
         sqldCalcMaxRecordLength
         sqldOLRInitialize
         sqldOnlineTableReorg
         sqldOLRInvoke
         sqleIndCoordProcessRequest
         sqleRunAgent
    

Local fix

  • Drop the tablespace containing the table and recreate the
    tablespace and tables.
    

Problem summary

  • Table value compression allows the maximum size of some column
    types to use less space than the uncompressed versions of that
    column type.
    
    When a table has some columns using value compression and value
    compression is active for the table, columns may be added to the
    table which would make the total uncompressed size of all the
    columns exceed the maximum row length for a given tablespace
    page size.
    
    An incorrect check of the row length will cause the database to
    be marked bad, reporting that the row length exceeds the maximum
    length even though the maximum length of the value compressed
    columns is less than the maximum row length.
    
    
    
    There are two triggers:
    
    1) The erroneous check will occur when a table control block is
    initialized:
    
    
    This error is accompanied by db2diag.log entries:
    
    2007-02-15-16.41.37.012096-300 I849701A484        LEVEL: Severe
    PID     : 1310790              TID  : 1           PROC :
    db2agent (SAMPLE) 0
    INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
    APPHDL  : 0-49                 APPID:
    *LOCAL.db2inst1.070215214102
    FUNCTION: DB2 UDB, data management, setupDATInfo, probe:1695
    MESSAGE : Descriptor row length exceeds maximum allowed:
    DATA #1 : Hexdump, 4 bytes
    0x0FFFFFFFFFFE90F0 : 0000 1FB4
    
    
    
    A trap file will also be generated with the following functions:
         setupDATInfo
         sqldLoadTCB
         sqldLockTableFixTCB
    
    
    
    2) The erroneous check will occur when an online reorg is issued
    against a table containing rows that are uncompressed as well as
    rows that are compressed:
    
    
    This error is accompanied by db2diag.log entries:
    
    2007-02-15-00.40.36.674450-300 I1995815A496       LEVEL: Severe
    PID     : 1306660              TID  : 1           PROC :
    db2reorg (SAMPLE) 0
    INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
    APPHDL  : 0-1127               APPID:
    *LOCAL.db2inst1.070215054048
    AUTHID  : db2inst1
    FUNCTION: DB2 UDB, data management, sqldCalcMaxRecordLength,
    probe:100
    MESSAGE : Row length is larger than allowed:
    DATA #1 : Hexdump, 4 bytes
    0x0FFFFFFFFFFF50A0 : 0000 0FED
    
    
    A trap file will also be generated with the following functions:
         sqloDumpEDU
         sqldCalcMaxRecordLength
         sqldOLRInitialize
         sqldOnlineTableReorg
         sqldOLRInvoke
         sqleIndCoordProcessRequest
         sqleRunAgent
    

Problem conclusion

  • Problem was first fixed in Version X FixPak Y (s080111).
    

Temporary fix

  • Drop the tablespace containing the table and recreate the
    tablespace and tables.
    

Comments

APAR Information

  • APAR number

    IY95427

  • Reported component name

    DB2 UDB ESE SOL

  • Reported component ID

    5765F4102

  • Reported release

    810

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-02-27

  • Closed date

    2008-02-07

  • Last modified date

    2008-02-07

  • 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 UDB ESE SOL

  • Fixed component ID

    5765F4102

Applicable component levels

  • R810 PSN

       UP

  • R820 PSN

       UP

  • R910 PSN

       UP

  • R950 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"810","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
07 February 2008