DB2 - Problem description
Problem IC69922 | Status: Closed |
MEMORY LEAK WHEN USING CURSOR VARIABLE INSIDE A NESTED ROUTINE CALL. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
Memory leak happens when calling nested stored procedure involving cursor variable. The problem will be observed in environments with persistent connections, such as web servers which never disconnect. Customers will see a slow degradation in performance as stress workloads run longer. Also we will see high page swapping as DB2 will start consuming more memory because of the leak. In the command "db2pd -db <database name> -mempools" output, you will see that one of the Application Heaps (PoolName "apph") is increasing in size considerable. This pool is associated to the application connection and memory is released when the connection is terminated. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 UDB LUW V9.7 Users on all platforms. * **************************************************************** * PROBLEM DESCRIPTION: * * Memory leak happens when calling nested stored * * procedureinvolving cursor variable.Cursor variable is common * * in Oracle PL/SQL storedprocedures. When customers are moving * * from Oracle to DB2 andare using nesting PL/SQL procedures, * * it is likely thatcustomer will hit the problem.The problem * * will be observed in environments with persistentconnections, * * such as web servers which never disconnect. Thetemporary * * work around for this issue is to disconnect orterminate the * * current connection in a round robin fashion.Customers will * * see a slow degradation in performance asstress workloads run * * longer. Also we see a high pageswapping as DB2 will start * * consuming more memory because ofthe leak.In the command * * "db2pd -db <database_name> -mempools" output,you will see * * that one of the Application heaps (Poolname"apph") is * * increasing in size considerable. This pool isassociated with * * the application connection and the memory isreleased when * * the connection is terminated. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7 Fix Pack 4. * **************************************************************** | |
Local Fix: | |
Memory will be freed after a disconnect/terminate the current connection. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in Version 9.7 Fix Pack 4. | |
Workaround | |
N/A | |
Comment | |
N/A | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 14.07.2010 03.03.2011 03.03.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP4 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.4 |