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 IC83957 Status: Closed

SQL/PL SQLEXCEPTION HANDLER DOES NOT HANDLE SQL0973N CORRECTLY

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
When memory cannot be allocated at SQL executing in a stored 
procedure, it returns a SQL0973N (-973). However, any 
sqlexception handler does not 
return any error because it fails to handle SQL0973N (-973) and 
the subsequent processing is 
successful unexpectedly. 
 
Consider the following example: 
 
update db cfg for testdb using APPL_MEMORY 2000 
 
CREATE OR REPLACE PROCEDURE memtest 
BEGIN 
  DECLARE var1 CLOB(2M); 
  DECLARE var2 CLOB(2M); 
  DECLARE var3 CLOB(2M); 
  CALL DBMS_OUTPUT.PUT_LINE('MEMTESTPROC'); 
END@ 
 
BEGIN 
  DECLARE SQLCODE INT; 
  DECLARE msg VARCHAR(1024); 
  DECLARE EXIT HANDLER FOR SQLEXCEPTION 
  BEGIN 
    GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT; 
    CALL DBMS_OUTPUT.PUT_LINE('ERROR '||SQLCODE||' '|| 
NVL(msg,'NULL')); 
  END; 
  CALL memtest(); 
  GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT; 
  CALL DBMS_OUTPUT.PUT_LINE('OK '||SQLCODE||' '|| 
NVL(msg,'NULL')); 
END@ 
---------------------------- 
Output: 
OK 0 SQL0973N  Not enough storage is available in the 
"application shared" heap or stack to process the statement. 
SQLSTATE=00000 
 
In this case, even though the SQLCODE is non-zero, it is not 
correctly mapped to the relevant SQLSTATE. This leads the 
Exception handler to think that the statement was successful.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 version 970 fixpack 7                         * 
****************************************************************
Local Fix:
available fix packs:
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

Solution
Problem is fixed in DB2 version 970 fixpack 7
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC87896 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
05.06.2012
29.01.2013
29.01.2013
Problem solved at the following versions (IBM BugInfos)
9.7.0
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.7 FixList