PM96567: RC00C90101 DSNGDCMT ERQUAL500E 13/09/13 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • ABEND04E RC00C90101 DSNGDCMT ERQUAL500E during abort
    when an internal control block is found to be still allocated.
    .
    The problem scenario is
    1. The thread has a hold cursor on DGTT table.
    2. The thread got an ABEND including soft/hard cancel before
    closing the cursor.
    
    This apar will fix following scenario too.
    1. There is a hold cursor on an index on a DGTT.
    2. Drop the DGTT before the cursor is closed.
    3. COMMIT -> ABEND04E RC00C90101 DSNGDCMT:500E
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 for z/OS users of CURSOR WITH HOLD   *
    *                 on declared global temporary tables (DGTT)   *
    *                 (or SCROLL CURSOR WITH HOLD on base table,   *
    *                 which builds internal DGTTs) who have        *
    *                 applied APAR PM83642 (DB2 10 PTF UK94441,    *
    *                 DB2 9 PTF UK94442)                           *
    ****************************************************************
    * PROBLEM DESCRIPTION: After applying APAR PM83642 (UK94441/   *
    *                      UK94442), users of CURSOR WITH HOLD on  *
    *                      DGTT or SCROLL CURSOR WITH HOLD on base *
    *                      table may experience RC00C90101         *
    *                      DSNGDCMT ERQUAL500E, followed by DB2    *
    *                      crash RC00D94001 or RC00D93001          *
    *                      MSGDSNV086E                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    After applying PM83642 (UK94441/UK94442), RC00C90101 DSNGDCMT
    ERQUAL500E abend occurred in the following DGTT WITH HOLD
    scenarios:
    
    Case 1:
    Application with CURSOR WITH HOLD on a DGTT (or SCROLL CURSOR
    WITH HOLD on a base table) experienced cancel/abort of some
    kind. RC00C90101 DSNGDCMT ERQUAL500E abend occurred during abort
    processing.
    
    Case 2:
    Application with CURSOR WITH HOLD on a DGTT had a DGTT index
    defined and performed DDL DROP TABLE on the DGTT before the
    cursor was closed. RC00C90101 DSNGDCMT ERQUAL500E abend
    occurred during the subsequent commit.
    
    In both cases, DB2 went down because RC00C90101 DSNGDCMT
    ERQUAL500E abend occurred during must-complete processing.
    
    The reason for the abend was that the internal CTDB structure
    for local DBD for Workfile database was still present at the
    time when this local DBD was being freed.
    
    The reason that the local CTDB has persisted is that APAR
    PM83642 added code which ensures that the CTDB does not get
    freed it there are any held CUBs in Workfile database present.
    
    However, in the case of DGTT abort processing such as in Case 1
    above, a held CUB may not necessarily be freed until storage
    pool goes away at deallocation time and therefore it should be
    acceptable for the CTDB to be freed during abort time.
    
    For case 2, when the DGTT was dropped, any held DGTT index CUBs
    were invalidated and, by the time they were freed in subsequent
    commit, these CUBs may not have necessarily gone through the
    code that turns off their HOLD state. Therefore it should be
    acceptable for the CTDB to be freed during commit time.
    

Problem conclusion

  • The following changes are made to the DB2 code:
    
    In thread abort processing in DM, there is no need to check
    CTDB for HOLD count, since any held CUBs are expected to be
    freed during deallocation anyway.
    
    If DGTT index CUB is being invalidated, turn off its HOLD state
    in DM code.
    
    For future cases of the aforementioned DBDM sanity check, a
    diagnostic dump will be attempted instead, to avoid bringing
    down DB2.
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    PM96567

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-09-06

  • Closed date

    2013-10-25

  • Last modified date

    2013-11-04

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

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

    UI11697 UI11698 UI11699

Modules/Macros

  •    DSNGDCMT DSNICINV DSNICMT2
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UI11697

       UP13/10/31 P F310 ®

  • RB10 PSY UI11698

       UP13/10/31 P F310 ®

  • R910 PSY UI11699

       UP13/10/31 P F310 ®

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.



Rate this page:

(0 users)Average rating

Document information


More support for:

DB2 for z/OS

Software version:

A10

Reference #:

PM96567

Modified date:

2013-11-04

Translate my page

Machine Translation

Content navigation