IBM Support

PM69866: NO RECORD FOUND (SQLCODE +100) WHEN A ISO(UR) ACCESS IS READING A LOB COLUMN

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • DB2 development has found a timing window in the code that
    incorrectly returns a no record found NRF SQLCODE100 when a
    ISO(UR) access is reading a lob column.
    Code added in V9 remove reading the pseudo deleted Aux Index
    key/rid which is allowing the access to the lob column
    during an SQL update of the lob column to incorrect sqlcode +100
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 9 and DB2 10 for z/OS users of LOBs  *
    *                 (large objects) with isolation level UR      *
    *                 (Uncommitted Read).                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: An unexpected SQLCODE100 (SQLCODE +100) *
    *                      or no records found is returned for an  *
    *                      ISO(UR) reader when fetching LOB        *
    *                      columns.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An unexpected SQLCODE100 (SQLCODE +100) or no records found can
    be returned for an ISO(UR) reader when fetching LOB columns.
    
    Apar PM18903 (v9 ptf UK60323) intended to close a small
    serialization window to avoid LOB corruption in a data sharing
    environment when a LOB updater and a LOB UR reader are accessing
    the same LOBs.  At the time, it was thought that the fix
    provided in PM18903 (which was not to read a pseudo deleted LOB)
    might close the serialization window.  Unfortunately, it was
    later discovered that this was not the case for v9.  As a
    result, an SQLCODE +100 could be returned as now reported.
    
    In summary, PM18903 did not correct the inconsistency involving
    the read LRSN problem but did restore code that always requests
    a pseudo delete.
    
    The following paragraph provides additional information about
    the serialization which could lead to this LOB inconsistency.
    
    Today, when a LOB is deleted, DB2 always does a pseudo delete on
    both the LOB data storage and its associated Aux index.  DB2
    deploys a read LRSN to claim the LOB data storage and its Aux
    index entry when there is no active thread to access the data.
    In the past, due to an inconsistent read LRSN value, DB2 could
    mistakenly lose both the LOB data storage and its Aux index when
    there is still an active thread accessing the data.
    

Problem conclusion

  • The code in DB2 is modified to prevent the SQLCODE +100 or no
    records found condition for ISO(UR) readers of LOB columns.
    
    Additional Keywords: SQLCODE100 SQLLOB INCORROUT
                         SQLINCORR SQLINCORROUT DB2INCORR/K
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PM69866

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-31

  • Closed date

    2012-08-29

  • Last modified date

    2012-10-01

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

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

    UK81415 UK81416

Modules/Macros

  • DSNODCRL
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK81415

       UP12/09/14 P F209

  • R910 PSY UK81416

       UP12/09/14 P F209

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

Document Information

Modified date:
01 October 2012