home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
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
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC70176 Status: Geschlossen

HIGH MEMORY USAGE CALLING PROCEDURES WITH NO COMMIT IN DPF CONFIGURATIONS

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
This problem was introduced in DB2 Version 9.7 Fix Pack 1. 
It causes abnormally high memory usage on DPF (multiple 
partition) systems when a large number of procedures are called 
from an application with no commit. 
 
A monitor enhancement was introduced to provide unique 
invocation IDs for each procedure call during a Unit of Work. 
This allows for a more granular and correct breakdown of 
monitoring activity. 
Internally this prevented efficient reuse of memory required on 
non-coordinator partitions to run SQL from procedures, resulting 
in a build-up of allocated memory within a Unit of Work. 
This memory is still available for reuse and will be gradually 
reduced after a commit is issued. 
 
The most common symptom will be high system memory usage, 
including possible paging and related performance degradation. 
If Application Memory (APPL_MEMORY) is configured with a fixed 
value (not the default), various out-of-memory errors might 
occur once this limit is reached, as this is a shared area and 
the additional memory requirements are allocated from this area. 
 It is possible that similar errors relating to Instance Memory 
exhaustion can also occur, though INSTANCE_MEMORY is not 
typically set to a fixed value in DPF (multiple partition) 
systems. 
 
The problem can best be identified by observing both the high 
memory usage symptom and confirming application behaviour 
through monitoring.  For example, use the MON_GET_UNIT_OF_WORK 
table function to check the number of application requests 
issued within a current unit of work. The specific area of 
memory to monitor (on non-coordinator partitions) is the 
Application Shared Heap. This can be monitored as follows : 
 
SELECT POOL_CUR_SIZE, POOL_WATERMARK, POOL_ID, DBPARTITIONNUM 
from SYSIBMADM.SNAPDB_MEMORY_POOL 
where POOL_ID = 'APPL_SHARED' 
 
This statistics can also be seen in a database snapshot. 
 
An alternative method of memory monitoring not requiring a 
connection or attachment is: 
   db2pd -db <database> -mempools 
Check the Physical Size  and High Water Marks for the Memory 
Pool labeled "appshr"
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DPF environments where applications make a high number of    * 
* stored procedure calls with no commit                        * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See error description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Starting with version 9.7 Fix Pack 2, an internal workaround * 
* is provided by issuing db2set DB2_APM_PERFORMANCE=8,         * 
* requiring an instance recycle.  This should be viewed as a   * 
* temporary workaround only until the system can be upgraded   * 
* to a level of DB2 containing this APAR.  This registry       * 
* setting will prevent granular monitoring of multiple         * 
* invocations of a stored procedure within a Unit of Work.     * 
****************************************************************
Local-Fix:
Workarounds include 
 
- adding explicit COMMITs to the application 
- creating the procedures with the "COMMIT ON RETURN YES" clause 
- In version 9.7 Fix Pack 2, an internal workaround is provided 
by issuing db2set DB2_APM_PERFORMANCE=8, requiring an instance 
recycle.  This should be viewed as a temporary workaround only 
until the system can be upgraded to a level of DB2 containing 
this APAR.  This registry setting will prevent granular 
monitoring of multiple invocations of a stored procedure within 
a Unit of Work.
verfügbare FixPacks:
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 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
Problem first fixed in DB2 UDB 9.7 Fix Pack 4
Workaround
See Recommendation
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
24.07.2010
29.04.2011
29.04.2011
Problem behoben ab folgender Versionen (IBM BugInfos)
9.7.FP2,
9.7.FP4
Problem behoben lt. FixList in der Version
9.7.0.4 FixList