IBM Support

PI55555: DSN_STATEMNT_TABLE PROCMS AND PROCSU VALUES FOR EXPLAIN OF CGTT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Very large PROCMS and PROCSU values are found in the
    DSN_STATEMNT_TABLE with the explain of a query referencing a
    CGTT.
    
    Additional Keywords:
    SQLCGTT
    DB2RLF
    DB2INCORR/K
    DB2OVRLAY/K
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 10 and DB2 11 for z/OS users of the  *
    *                 DSN_STATEMNT_TABLE EXPLAIN Table.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Very large and inaccurate values are    *
    *                      found for columns PROCMS and PROCSU in  *
    *                      the DSN_STATEMNT_TABLE resulting from   *
    *                      the EXPLAIN of a query referencing a    *
    *                      created global temporary table (CGTT).  *
    *                      These values can lead to an unexpected  *
    *                      SQLCODE495 when using the Resource      *
    *                      Limit Facility (RLF).                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Very large (and inaccurate) values are computed for the columns
    PROCMS and PROCSU in the DSN_STATEMNT_TABLE with the EXPLAIN of
    a query referencing a CGTT.  These large values can lead to an
    SQLCODE495 (SQLCODE -495) when using RLF or an overlay of DB2
    storage.
    
    
    The following simple example helps to illustrate the problem.
    
    STEP 1. Create a Global Temporary Table.
    
      CREATE GLOBAL TEMPORARY TABLE CGTT1 (
         TEXT CHAR(133) ) ;
    
    
    STEP 2. Populate Table CGTT1.
    
       INSERT INTO CGTT1 VALUES(
         CHAR('               ',133) );
    
    
    STEP 3. Explain the statement which selects from CGTT1.
    
        EXPLAIN ALL SET QUERYNO=61218 FOR
        SELECT * FROM CGTT1 ;
    
    
    STEP 4. Check the results from the EXPLAIN for the DSN_STATEMNT
    Table.
    
      SELECT * FROM DSN_STATEMNT_TABLE;
    
    
    In DB2 10, for the above query, the values for columns
    PROCMS and PROCSU are as follows.
    
      ------------------------------------
       |     PROCMS     |     PROCSU     |
      ------------------------------------
       |             15 |            39  |
      ------------------------------------
    
    
    In DB2 11, for the same query, the values for
    PROCMS and PROCSU are more alarming, they are.
    
      ------------------------------------
       |     PROCMS     |     PROCSU     |
      ------------------------------------
       |       32312512 |       85032960 |
      ------------------------------------
    
    
    The expected values for both DB2 10 and DB2 11 are as follows.
    
      ------------------------------------
       |     PROCMS     |     PROCSU     |
      ------------------------------------
       |              1 |              1 |
      ------------------------------------
    
    
    However, in some cases, the values can be even more skewed.
    For example:
    
      ------------------------------------
       |     PROCMS     |     PROCSU     |
      ------------------------------------
       |        6887669 |      255098880 |
      ------------------------------------
    
    when they should be this.
    
      ------------------------------------
       |     PROCMS     |     PROCSU     |
      ------------------------------------
       |              1 |              2 |
      ------------------------------------
    

Problem conclusion

  • The code in DB2 is modified to compute the proper values for the
    PROCMS and PROCSU columns which represent the number of rows
    being inserted into the CGTT.  This will prevent the SQLCODE495,
    the large inaccurate reported values, and the possible storage
    overlays from occurring.
    
    Additional Keywords: SQLCODE495 SQLCGTT DB2RLF
               DB2INCORR/K DB2OVRLAY/K
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PI55555

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-01-18

  • Closed date

    2016-02-24

  • Last modified date

    2016-04-05

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

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

    UI35633 UI35634

Modules/Macros

  • DSNXRIGT DSNXRIG9 DSNXRINS DSNXRIN9 DSNXRIWS
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UI35633

       UP16/03/11 P F603 Ž

  • RB10 PSY UI35634

       UP16/03/11 P F603 Ž

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":"11.0","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":"11.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
05 April 2016