DB2 - Problembeschreibung
| Problem IT07662 | Status: Geschlossen |
CURSOR VARIABLES REFERENCED EXTERNALLY CAN CAUSE MEMORY LEAK IN THE APPLICATION HEAP. | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
| Problembeschreibung: | |
Memory blocks in the application heap might keep growing if an
application calls a procedure which returns cursor variable(s).
The db2pd shows the following 4 kinds of memory blocks keep
increasing if users is hitting this problem.
$ db2pd -db <dbname> -memblock appl 1 sort
Memory blocks sorted by size for apph pool:
PoolID PoolName TotalSize(Bytes) TotalCount LOC File
1 apph 216000 1000 1159 1043897861
1 apph 120000 1000 11229 4262186386
1 apph 64000 1000 1216 1043897861
1 apph 24000 1000 10832 4262186386
The steps below illustrates a scenario to hit the issue.
1. Create a procedure which returns an open cursor.
db2 connect to <dbname>
db2 -td@ -vf p1.sql
----------------------------
CREATE OR REPLACE PROCEDURE PROC1(OUT CUR1 CURSOR)
MODIFIES SQL DATA
LANGUAGE SQL
BEGIN
SET CUR1 = CURSOR WITH HOLD FOR VALUES CURRENT TIMESTAMP;
OPEN CUR1;
END @
----------------------------
2. Call the procedure like as below, and keep the database
connection.
try{
cstmt = conn.prepareCall("CALL PROC1(?)");
cstmt.registerOutParameter(1, DB2Types.CURSOR);
cstmt.execute();
rs = (ResultSet)cstmt.getObject(1);
System.out.println( rs.getString(1));
} catch (Exception e){
e.printStackTrace();
} finally{
rs.close();
cstmt.close();
} | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Please upgrade to DB2 V10.5 fixPack 7 or later. * **************************************************************** | |
| Local-Fix: | |
Please disconnect the application from the database to free up the application heap. | |
| Lösung | |
This problem was first fixed in DB2 V10.5 FixPack 7. | |
| Workaround | |
keiner bekannt / siehe Local-Fix | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 12.03.2015 03.02.2016 03.02.2016 |
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
| Problem behoben lt. FixList in der Version | |
| 10.5.0.7 |
|