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

DB2 MIGHT NOT CLOSE CLIENT SIDE CURSORS IF AN XA APPLICATION INVOKES
XA_ROLLBACK.

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
An XA application might not close client side cursors on XA 
rollback, and this behavior rises SQL0502N at second OPEN 
request. 
This problem is only applicable to withhold cursors, i.e. 
xa_open is set with HOLD_CURSOR=T. 
 
The following code illustrates one of the scenario to cause 
SQL0502N. 
 
1. Open a withhold cursor and make a XA transaction. 
EXEC SQL DECLARE CUR1 CURSOR WITH HOLD FOR <query string> FOR 
UPDATE; 
EXEC SQL OPEN CUR1; 
EXEC SQL FETCH CUR1 INTO :hv1; 
EXEC SQL UPDATE ORG SET <colname>=:hv1 WHERE CURRENT OF CUR1; 
 
2. Rollback the transaction. 
EXEC CICS SYNCPOINT ROLLBACLK; 
 
3. Open the cursor again. 
EXEC SQL OPEN CUR1; 
-> this request fails with SQL0502N. 
 
All cursors will be closed on rollback even if withhold cursors. 
However DB2 might not close client side cursors. This defect 
ensures to close client side cursors after xa_rollback. 
NOTE: Server side cursors are closed in this scenario.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users who use XA application on DB2 client.                  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* An XA application might not close client side cursors on XA  * 
* rollback, and this behavior rises SQL0502N at second OPEN    * 
* request.                                                     * 
* This problem is only applicable to withhold cursors, i.e.    * 
* xa_open is set with HOLD_CURSOR=T.                           * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Please upgrade to V9.7 FixPack 6 or later.                   * 
****************************************************************
Local Fix:
Close all cursors after rollback.
available fix packs:
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

Solution
This problem is first fixed in DB2 V9.7 FixPack 6.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
15.02.2012
11.06.2012
11.06.2012
Problem solved at the following versions (IBM BugInfos)
9.7.FP6
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.6 FixList