home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC64834 Status: Closed

MEMORY LEAK IN APPLICATION HEAP CAUSED BY UDFS OR STORED PROCEDURES WHEN
CLIENT AND SERVER HAS DIFFERENT CODE PAGE.

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
This memory leak is caused by running UDFs when the following 
two conditions are true: 
 
1) your clientapplication and database server has different 
   code pages 
2) the connection concentrator is enabled. DB2 Connection 
   concentrator is activated when you set the number of maximum 
   logical agents (max_connections) higher than the number of 
   coordinating agents (max_coordagents). 
 
You may experience frequent out of application heap error 
messages due to this. The error message may look something 
like this: 
 
SQL0954C  Not enough storage is available in the application 
heap to process the statement.  SQLSTATE=57011 
 
 
Running the following db2pd command will show you a single 
application heap increasing as you repeat the execution of the 
UDF: 
 
 
db2pd -db <dbname> -memblocks appctl top 
 
------------------------------------------------- 
Top memory consumers in AppCtl memory set: 
PoolID     PoolName   TotalSize(Bytes)     %Bytes  TotalCount 
%Count    LOC          File 
     1         apph         4923381504      86.45     2562612 
1.68    117     3551095165 
     1         apph          486051840       8.53     2531520 
0.17    117     3551095165 
 
-------------------------------------------------
Problem Summary:
USERS AFFECTED: 
=============== 
Customer using version 9.5 and above on all platforms. 
 
PROBLEM DESCRIPTION: 
==================== 
It user application runs UDFs very frequently under the 
following two conditions, database will experience the memory 
leak in application heap and cause frequent out of memory 
errors: 
. 
1) your clientapplication and database server has different 
   code pages 
2) the connection concentrator is enabled. DB2 Connection 
   concentrator is activated when you set the number of maximum 
   logical agents (max_connections) higher than the number of 
   coordinating agents (max_coordagents). 
 
RECOMMENDATION: 
=============== 
Disabling connection concentrator will prevent the memory leak.
Local Fix:
Disabling connection concentrator will prevent the memory leak. 
 
NOTE: DB2 connection concentrator is activated when you set the 
number of maximum logical agents (max_connections) higher than 
the number of coordinating agents (max_coordagents).
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problem is first fixed in version 9.7 Fixpack 2.
Workaround
Disabling connection concentrator will prevent the memory leak.
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
25.11.2009
23.03.2011
23.03.2011
Problem solved at the following versions (IBM BugInfos)
9.7.,
9.7.FP2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList