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

IN SMP ENVIROMENTS, APPLICATIONS THAT DO POSITIONED UPDATE/DELETE COULD
ENCOUNTER SQL0902N

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
The error - "SQLD_BADH "BAD TABLE HANDLE" DIA8521C An incorrect 
table handle was encountered." is returned along with a SQL0902N 
error due to a rare timing hole when the following conditions 
are met: 
 
1) Instance has INTRA_PARALLEL SET to YES and database has 
DFT_DEGREE > 1 
2) Application is using a DELETE WHERE CURRENT of <Cursor_name> 
or UPDATE WHERE CURRENT of <Cursor_name> clause and the cursor, 
more likely, has more than 1 table involved. For example, the 
statement has a join on 2 tables: 
 
DECLARE <Cursor_name> CURSOR FOR <statement with join> 
 
Possible functions returning SQLD_BADH : sqlriridc, 
sqldRowDelete. 
 
<Stacktrace Snippet> 
 
. 
. 
. 
0x0900000009033F38 sqlriridc__FP8sqlrr_cb + 0x200 
0x0900000008E6DB84 sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 
0x28 
0x0900000008E733E4 sqlrr_process_execute_request__FP8sqlrr_cbi + 
0x5AC 
0x0900000008E312B4 sqlrr_execute__FP14db2UCinterfaceP9UCstpInfo 
+ 0x1AC 
0x0900000005F8D28C executeSection__10pvmPackageFP5sqlcaUib + 
0x7EC 
0x090000000696AD60 executeQuery__3PVMFUib + 0x1A4 
0x0900000006969A60 run__3PVMFv + 0x454 
0x0900000006967298 pvm_entry + 0x460 
0x0900000008DF1B5C sqloInvokeFnArgs + 0xCC
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 UDB version 9.7 Fixpack 7                     * 
****************************************************************
Local Fix:
Recompiling the stored procedure with no SMP or SMP Degree =1 
will prevent the crash. 
 
1) Recompile stored procedure with NO SMP: 
         - Change instance to INTRA_PARALLEL NO; 
         - Restart instance; 
         - Drop procedure   DB2INST1.DELETE_AUDIT_TAB@ 
         - CREATE PROCEDURE SHAPP1.DELETE_AUDIT_TAB()... <-- 
this will create non-SMP section 
         - Change instance back to INTRA_PARALLEL YES 
         - Restart instance; 
 
or 
 
2) Do the same thing but with DFT_DEGREE=1 for db cfg, so 
there's only 1 subagent generating rows
available fix packs:
DB2 Version 10.1 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Solution
First fixed in DB2 UDB version 9.7 Fixpack 7
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
17.11.2012
17.01.2013
17.01.2013
Problem solved at the following versions (IBM BugInfos)
9.7.FP7
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.2 FixList
10.5.0.2 FixList