IBM Support

PM59558: ABEND04E RC00E20003 DSNSVBK ; DSNOGETD OBTAINS STORAGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Abend04e rc00e20003 dsnsvbk . Also abend04e rc00e20016.
    
    DSNOGETD obtains translation buffer storage for each LOB and
    doesn't free the storage when the input LOB is empty and LOB
    streaming is used (length is not provided from jcc).
    

Local fix

  • na
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 9 and DB2 10 for z/OS users of empty *
    *                 LOBs as input to DB2 in a distributed        *
    *                 environment.                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: An ABEND04E RC00E20003 or RC00E20016    *
    *                      from module DSNSVBK can occur when a    *
    *                      distributed application uses empty LOB  *
    *                      data as the input to DB2, if CCSID      *
    *                      conversion is needed between the input  *
    *                      LOB and the target object.              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An ABEND04E RC00E20003 or RC00E20016 from module DSNSVBK can
    occur when a distributed application uses an empty LOB as the
    input to DB2, if CCSID conversion is needed between the input
    LOB and the target data object.
    
    
    The following example illustrates the problem.
    
    1. Create an EBCDIC Table with a LOB column on a remote server.
    
       CREATE TABLE T1 (ID INT, C1 CLOB(1M));
    
    
    2. Use Java distributed application to insert empty LOB data for
       Table T1.
    
       String sql = "INSERT INTO T1(ID, C1) VALUES( ?, ? )";
    
       PreparedStatement pst = con.prepareStatement(sql);
    
       //0.xml is a empty file
       java.io.File file1 = new java.io.File("0.xml");
    
       for(int i=0;i<1000;i++)
       {
         pst.setInt(1, i);
    
         //Empty LOB is inserted into column C1 and its length
         //is not specified
         pst.setAsciiStream(2,
                            new java.io.FileInputStream(file1),
                            -1);
         pst.addBatch();
    
       }
    
       pst.executeBatch();
    
    
    3.  When the JAVA application is executed against the remote
    server, the empty LOB being inserted into DB2 is in a streaming
    format and CCSID conversion is needed for the LOB because JAVA
    uses a CCSID 1208 encoding scheme and T1 is created with an
    EBCDIC encoding scheme.  DB2 (LOB manager) does not free the
    pre-allocated conversion buffer for empty LOBs when a streaming
    format is used.  If this occurs frequently, this can result in a
    memory leak which can lead to a "short-on-storage" condition
    which can eventually result in an ABEND04E from DSNSVBK.
    

Problem conclusion

  • The code in DB2 is modified to free the pre-allocated conversion
    buffer from LOB manager to prevent the creation of a memory leak
    or "short-on-storage" condition.
    
    Additional Keywords: SQLLOB SQLCCSID SQLSTORAGE DB2STGLK/K
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PM59558

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-05

  • Closed date

    2012-04-19

  • Last modified date

    2012-06-03

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

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

    UK78112 UK78113

Modules/Macros

  • DSNOGETD
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK78112

       UP12/05/04 P F205

  • R910 PSY UK78113

       UP12/05/04 P F205

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:
03 June 2012