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

APPLICATION MAY FAIL WITH -901 WHEN ACCESSING DGTT DUE TO THE WRONG
COUNTER INJECTED INTO THE CACHE BY ANOTHER CONNECTION

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
Applocation may fail with -901 when accessing DGTT due to the 
wrong counter injected into the cache by another connection. 
When the drop table fails on the DGTT due not able to write 
a log record because of log full situation or for any other 
reason, the "Number of active user temps" count is not 
maintained. 
 
Reproduction: 
CONNECTION 1: 
 
declare global temporary table t1 (i int) on commit preserve 
rows not logged 
commit 
DROP table session.t1 -> force this to fail 
rollback 
insert into session.t1 values 1 
 
CONNECTION 2: 
insert into session.t1 values 1 --> fails with  -901 as 
 the cached entry from connection 1 was incorrectly 
resolved due to the wrong counter that was injected into the 
cache by connection 1. 
 
 
This is similar to LI73859, however this only occurs when there 
is an error during logging - as we rely on the log record to 
maintain the count of active user temps correctly. 
 
SYMPTOM: 
a) one of the following 2 errors: 
 
SQL0901N  The SQL statement failed because of a non-severe 
system error. 
Subsequent SQL statements can be processed.  (Reason 
"sqlrl_userTempOpen: 
usertemp entry not found".)  SQLSTATE=58004 
 
or 
 
SQL0901N  The SQL statement failed because of a non-severe 
system error. 
Subsequent SQL statements can be processed.  (Reason 
"sqlrl_userTempIUD: 
tid/fid not found".)  SQLSTATE=58004 
 
 
b) The db2diag.log should contain the following probes: 
 
2009-10-14-14.57.03.172886-240 I1026949E507       LEVEL: Error 
PID     : 15116                TID  : 183035119808PROC : 
db2agent (xxxxxxxx) 0 
INSTANCE: xxxxxxxx             NODE : 000         DB   : 
NYGRCPI5 
APPHDL  : 0-143                APPID: 
139.172.165.181.27102.091014184 
AUTHID  : xxxxxxx 
FUNCTION: DB2 UDB, relation data serv, sqlrr_write_logrec, 
probe:60 
 
(there will likely be other probes about failure to write log 
records)
Problem Summary:
Applocation may fail with -901 when accessing DGTT due to the 
wrong counter injected into the cache by another connection. 
When the drop table fails on the DGTT due not able to write 
a log record because of log full situation or for any other 
reason, the "Number of active user temps" count is not 
maintained.
Local Fix:
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
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 9a 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 10 for Linux, UNIX, and Windows

Solution
Problem was first fixed in Version 9.7 Fix Pack 2
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
29.10.2009
04.06.2010
04.06.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FP2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList