A fix is available
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
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