DB2 - Problembeschreibung
Problem IC64209 | Status: Geschlossen |
APPLICATION MAY FAIL WITH -901 WHEN ACCESSING DGTT DUE TO THE WRONG COUNTER INJECTED INTO THE CACHE BY ANOTHER CONNECTION | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
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-Zusammenfassung: | |
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: | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Lösung | |
Problem was first fixed in Version 9.7 Fix Pack 2 | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 29.10.2009 04.06.2010 04.06.2010 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP2 | |
Problem behoben lt. FixList in der Version | |
9.7.0.2 |