IBM Support

PH46351: INCORRECT VALUE OF CARDF IN SYSIBM.SYSCOLDIST WHEN RUNSTATS COLLECTS KEYCARD STATISTICS ON DPSI INDEX

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The user has a partitioned table with at least a Data Secondary
    Partitioned index (DPSI).
    The first two columns of the partitioned index have the
    following cardinality:
    COL1=1
    COL2=5
    So the combination of the distinct values of thetwo columns
    should be 5.
    However after a RUNSTATS , SYSIBM.SYSCOLDIST contains the
    following:
    !  COLGROUPCOLNO   !CARDF! NUMCOLUMNS
    ------------------------------------------------
    ! 00010002         !  8  !   2
    ! 000100020003     !  3  !   3
    ! 0001000200030004 !  5  !   4
    CARDF of Colgroup 1,2 is 8 and obviously wrong.
    Effectively the CARDF of Colgroup 1,2 seems to be the sum of the
    CARDF of the other colgroups.
    This is the v13 apar for v12 apar PH45533.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Db2 13 for z/OS utility users of                         *
    * RUNSTATS or inline STATISTICS                                *
    * gathering statistics on a multi-column                       *
    * partitioned index that is not a DPSI.                        *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * INCORROUT MSGDSNU616I intermediate                           *
    * keycard statistics during                                    *
    * RUNSTATS INDEX on multi-column                               *
    * partitioned indexes resulting in                             *
    * incorrect CARDF in SYSIBM.SYSCOLDIST                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply corrective PTF when available                          *
    ****************************************************************
    When the user executed RUNSTATS INDEX on a partitioned index
    with more than two key columns, the statistics reported
    incorrect intermediate correlation values in DSNU616I and the
    SYSIBM.SYSCOLDIST catalog table was updated with those values.
    The leading key columns had the same column value appearing
    across adjacent partitions. This resulted in wrong
    aggregation of the intermediate key cardinalities across
    partitions.
    This problem can also occur during REORG, LOAD, REBUILD
    INDEX utilities with inline STATISTICS index processing.
    

Problem conclusion

  • The code was modified to take into consideration the same
    intermediate key values spanning across partitions and arrive
    at the correct cardinality values for each set of columns.
    With this APAR, the intermediate key cardinalities are now
    calculated using a Hash algorithm. The intermediate key
    cardinalities will be accurate when the number of
    distinct values are lower than 100. For indexes with high
    number of distinct values at the intermediate level, the
    derived cardinalities will be only an estimate.
    With this APAR, since hash structures are now used for
    arriving at the intermediate cardinality, the user may
    receive MSGDSNU623I during aggregation, when executing the
    utility at the partition level.
    DSNU623I can be avoided by specifying FORCEROLLUP keyword
    when executing the utility at the partition level.
    

Temporary fix

Comments

  • ×**** PE22/08/30 FIX IN ERROR. SEE APAR PH49119  FOR DESCRIPTION
    ×**** PE23/05/26 FIX IN ERROR. SEE APAR PH54783  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PH46351

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    D10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-05-11

  • Closed date

    2022-06-01

  • Last modified date

    2023-09-11

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

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

    UI80817

Modules/Macros

  • DSNUSIDX DSNUSIIX DSNUSEOF
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RD10 PSY UI80817

       UP22/06/09 P F206

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"D10","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
12 September 2023