IBM Support

IT36183: DATABASES CREATED WITH "AUTOMATIC STORAGE NO" MAY CORRUPT STORAGE GROUP FILES AFTER UPGRADE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Databases created with "AUTOMATIC STORAGE NO" (or created before
    the automatic storage feature was released) may corrupt storage
    group files after upgrade.
    
    In the feature release of automatic storage databases (v9.7) a
    flag was added to the database configuration file (SQLDBCONF) to
    indicate whether the database was enabled for automatic storage.
    Existing databases upgraded to 9.7 or higher would have their
    automatics storage flag set to false. New databases created with
    the "automatic storage no" clause would also have their
    automatic storage flag set to false. The automatic storage flag
    is supposed to be set to true when a user creates the first
    storage group in a non-automatic storage database via CREATE
    STOGROUP. Specifically the flag is set to true during commit
    processing, so as to not change the automatic storage flag in
    case the CREATE STOGROUP transaction is rolled back. However,
    there is a defect in the code that prevents the automatic
    storage flag from being set to true, but also allows commit of
    CREATE STOGROUP to succeed. An error message is logged in
    db2diag.log indicating this condition occurred:
    
    
    2021-03-03-16.32.57.978584-300 I394005E2347          LEVEL:
    Error
    PID     : 26821                TID : 140585021204224 KTID :
    26843
    PROC    : db2sysc
    INSTANCE: XXXXXXXX             NODE : 000            DB   :
    TESTDB
    APPHDL  : 0-7                  APPID:
    AUTHID  : XXXXXXXX             HOSTNAME: XXXXXXXX
    EDUID   : 18                   EDUNAME: db2agent (TESTDB)
    FUNCTION: DB2 UDB, config/install, sqlfUpdateDbCfg, probe:71
    DATA #1 : <preformatted>
    each_param->token: 830
    each_param->ptrvalue: 215^E
    each_param->flags: 0
    
    CALLSTCK: (Static functions may not be resolved correctly, as
    they are resolved to the nearest symbol)
      [0] 0x00007FDC90D35041 pdLogVPrintf + 0x2F0
      [1] 0x00007FDC90D3557B pdLogPrintf + 0x12F
      [2] 0x00007FDCAF2E54EF
    _Z15sqlfUpdateDbCfgP16sqeLocalDatabaseP6db2CfgjiiP5sqlcas +
    0x3458
      [3] 0x00007FDC9195CC85
    _Z25sqlbCreateStorageGroupActlP9SQLP_LSN8P8sqeAgent + 0x1DA3
      [4] 0x00007FDC91CAD235 libdb2e.so.1 + 0x4397235
      [5] 0x00007FDC91CB8958
    _Z8sqldmpndP8sqeAgentiPcP9SQLP_LSN8PmP15SQLD_RECOV_INFO + 0x6D2
      [6] 0x00007FDCB247746F _Z8sqlptpplP8sqeAgentiPb + 0xFCB
      [7] 0x00007FDCB243E8B1
    _Z8sqlpxcm1P8sqeAgentP15SQLXA_CALL_INFOi + 0x19CB
      [8] 0x00007FDCB2FF874A
    _Z12sqlrrcom_dpsP8sqlrr_cbiiP15SQLXA_CALL_INFO + 0x3BD3
      [9] 0x00007FDCB2FF9FED _Z8sqlrrcomP8sqlrr_cbii + 0x8EE
      [10] 0x00007FDCB2F97363 _Z12sqlrr_commitP14db2UCinterface +
    0x247
    
    During a database upgrade this flag is used to decide how to
    restore storage group files (SQLSGF.*). If the database is not
    flagged as automatic storage and is upgraded to 10.1 or higher,
    the storage group files will be re-initialized with incorrect
    values. These incorrect values may be detected by db2dart or db2
    INSPECT in a report such as the following:
    
    Action: CHECK DATABASE
    Result file name: xxx.report
    
       Database phase start.
          Error: Default storage group -1 doesn't exist.
       Database phase end.
    
    If a database has any storage groups it should be set to an
    automatic storage database. The state of the automatic storage
    database flag can be viewed with an IBM internal tool db2modcfg:
    
    db2modcfg -d TESTDB -c
    
    <..>
    (-a) Autostorage [0x1160]: NO (0x0000074D)
    

Local fix

  • If the error reported by db2dart or db2inspect indicates that
    the only error is: "Error: Default storage group -1 doesn't
    exist.", the storage group files can be corrected by issuing
    "ALTER STOGROUP  SET AS DEFAULT". If the error reported by
    db2dart or db2inspect indicates additional issues with the
    storage group files, open a ticket with IBM support as this
    could indicate wider storage group file corruption.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * all                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to 11.1.4.7                                          *
    ****************************************************************
    

Problem conclusion

  • Upgrade to 11.1.4.7
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT36183

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-03-11

  • Closed date

    2022-04-17

  • Last modified date

    2022-04-17

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

    IT36166

  • 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

  • RB10 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.1","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
04 May 2022