IBM Support

PM51097: ABEND0C4 RC38 DSNXEXPL +216A ON DYNAMIC EXPLAIN PLAN

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After previously executing a dynamic SQL EXPLAIN STMTCACHE
    statement, a dynamic SQL EXPLAIN PLAN FOR explainable-stmt
    failed with the following abend:
      ABEND0C4 RC00000038 DSNXEXPL +216A
    
    Additional Keywords: SQLDYNSTMTCACHE SQLEXPLAIN
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 users of dyn SQL EXPLAIN STMTCACHE   *
    ****************************************************************
    * PROBLEM DESCRIPTION: After a dynamic SQL EXPLAIN STMTCACHE   *
    *                      statement, a later dyn SQL EXPLAIN PLAN *
    *                      statement fails with the following DB2  *
    *                      application abend:                      *
    *                                                              *
    *                       ABEND0C4 RC00000038 DSNXEXPL +2nnn     *
    *                                                              *
    *                      Other unexpected DSNXEXPL abends or     *
    *                      SQL EXPLAIN errors are possible on      *
    *                      that dynamic SQL EXPLAIN PLAN statement *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    User issued a dynamic SQL EXPLAIN STMTCACHE statement followed
    later by a dynamic SQL EXPLAIN PLAN / ALL statement. The dynamic
    SQL EXPLAIN PLAN statement encountered a DB2 application abend:
                                                                   .
     AB0C4 RC00000038 DSNXEXPL +2nnn
                                                                   .
    DB2 Development determined that the AB0C4 DSNXEXPL occurred only
    when using an application/tool/driver (such as DSNTEP2 , SPUFI ,
    JCC , etc.) that uses the same SQL PREPARE or EXECUTE IMMEDIATE
    statement/section to prepare different dynamic SQL statements
    and then execute them, one after the other.
    This DSNXEXPL abend occurred for the dynamic SQL EXPLAIN PLAN /
    ALL due to a residual DB2 internal flag left over from
    the previous dynamic SQL EXPLAIN STMTCACHE statement that was
    prepared using this same SQL PREPARE section.  In addition to
    performing the EXPLAIN PLAN function, DB2 also incorrectly
    attempted to do the EXPLAIN STMTCACHE function under the EXPLAIN
    PLAN statement, but the EXPLAIN STMTCACHE structures were no
    longer available of course, resulting in the DSNXEXPL ABEND0C4.
    DB2 should not have attempted to perform the EXPLAIN STMTCACHE
    because that SQL statement had completed previously and
    structures freed.
                                                                   .
    Other DSNXEXPL abends are possible, as well as, unexpected
    errors or unexpected EXPLAIN STMTCACHE behavior with the above
    described scenario.
                                                                   .
    The problem does not occur if
     - a different SQL PREPARE or EXECUTE IMMEDIATE stmt/section
       is used to prepare the two different EXPLAIN statements,
     - the order of the two dynamic EXPLAIN statements is reversed,
     - a non-EXPLAIN statement follows the dyn EXPLAIN STMTCACHE,
     - the EXPLAIN statements are static.
                                                                   .
    

Problem conclusion

  • DB2 was modified to reset residual flags from a previous
    dynamic SQL EXPLAIN STMTCACHE statement, so that a follow-on
    dyn SQL EXPLAIN PLAN / ALL statement using the same SQL PREPARE
    section is not affected.
                                                                   .
    Additional search keywords: SQLEXPLAIN
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM51097

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-10-28

  • Closed date

    2012-02-13

  • Last modified date

    2012-03-01

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

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

    UK73861 UK73862 UK73901

Modules/Macros

  • DSNXEDP
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK73861

       UP12/02/29 P F202

  • R810 PSY UK73862

       UP12/02/29 P F202

  • R910 PSY UK73901

       UP12/03/01 P F202

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.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 March 2012