home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
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
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IT08331 Status: Geschlossen

FOUND SELF DEAD LATCH FOR THE EDUS HANDLING THE ALTER TABLESPACE SWITCH
ONLINE STATEMENT

Produkt:
DB2 FOR LUW / DB2FORLUW / A50 - DB2
Problembeschreibung:
From Application Snapshot: 
Application handle                         = 131133 
Client login ID                            = db2inst1 
Configuration NNAME of client              = prddw3 
Process ID of client application           = 13320 
Coordinator agent process or thread ID     = 25 
Most recent operation                      = Execute Immediate 
Dynamic SQL statement text: 
ALTER TABLESPACE TEMPSPACE2 SWITCH ONLINE 
 
  Subsection status                                  = Executing 
  Execution elapsed time (seconds)                   = 43909 
Agent process/thread ID                    = 233 
 
From Stack: 
 ====================== 
? 
0x00002AAAAC553BC7 
_Z30sqlbTrackMultipleModificationsP20SQLB_DIRECT_WRITE_CB + 
0x00ab 
  0x00002AAAAB8A7020 
_Z35sqlbCheckTrackMultipleModificationsP20SQLB_DIRECT_WRITE_CB + 
0x0058 
  0x00002AAAAC579D6E 
_Z18sqlbDMSDirectWriteP20SQLB_DIRECT_WRITE_CB + 0x01d8 
  0x00002AAAAB8BE28C 
_Z18sqlbInitPoolHeaderP12SQLB_GLOBALSP12SQLB_POOL_CB + 0x0160 
  0x00002AAAAC58C232 
_Z15sqlbDMSInitPoolP12SQLB_GLOBALSP12SQLB_POOL_CB + 0x01fc 
  0x00002AAAAB8BDBCA 
_Z16sqlbDMSStartPoolP12SQLB_GLOBALSP12SQLB_POOL_CB + 0x05ea 
  0x00002AAAAC574580 
_Z26sqlbSwitchTablespaceOnlinetP12SQLB_GLOBALS + 0x00aa 
  ? 
 Summary: 
 Found in 6 stacks of a total of 743 stacks in 251 files 
 Found in: 
 	./13999.233.002.stack.txt -- db2agntp(TIS_STGP) -- 
2015-03-04-10.55.17.599303(Signal #10) 
 	./13999.233.002.stack.txt -- db2agntp(TIS_STGP) -- 
2015-03-04-10.57.18.680600(Signal #10) 
 	./13999.233.002.stack.txt -- db2agntp(TIS_STGP) -- 
2015-03-04-11.01.43.761363(Signal #12) 
 
Latch: 
<LatchInformation> 
Waiting on latch type: (SQLO_LT_SQLB_POOL_CB__readLatch) - 
Address: (0x2aab833ccc90), Line: 4032, File: sqlbpacc.C 
 
Holding Latch type: (SQLO_LT_SQLB_POOL_CB__readLatch) - Address: 
(0x2aab833ccc90), Line: 2139, File: 
/view/db2_v97fp9_linuxamd64_s131204/vbs/engn/include/sqlbistorag 
e_inlines.h HoldCount: 1 
Holding Latch type: (SQLO_LT_SQLB_POOL_CB__writeLatch) - 
Address: (0x2aab833ccca0), Line: 2158, File: 
/view/db2_v97fp9_linuxamd64_s131204/vbs/engn/include/sqlbistorag 
e_inlines.h HoldCount: 1 
</LatchInformation> 
 
These shows that the edu with thread id 233 handling the ALTER 
TABLESPACE SWITCH ONLINE statement is having self dead latch. It 
seems it has no knowledge that the latch was already obtained 
previously, and continues waiting for it. 
 
Line of Code: 
The readLatch/writeLatch is likely obtained in 
sqlbSwitchTablespaceOnline at line 3056 below: 
&#160; &#160;3041 int SQLB_EXTERNAL sqlbSwitchTablespaceOnline 
&#160; &#160;3042 ( 
&#160; &#160;3043 &#160; &#160; SQLB_POOL_ID &#160; poolID, // In: Tablespace ID 
&#160; &#160;3044 &#160; &#160; SQLB_GLOBALS &#160;*glob &#160; &#160;// In: Globals 
&#160; &#160;3045 ) 
&#160; &#160;3046 { 
&#160; &#160;3047 &#160; &#160;int &#160; &#160; &#160; &#160; &#160; &#160;rc = 0; 
&#160; &#160;3048 &#160; &#160;int &#160; &#160; &#160; &#160; &#160; &#160;ffstID = 0; 
&#160; &#160;3049 &#160; &#160;SQLB_POOL_CB &#160;*pdef = sqlbGetExistingPoolDef(glob, 
poolID); 
&#160; &#160;3050 &#160; &#160;Bool &#160; &#160; &#160; &#160; &#160; poolLatched = FALSE; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 
//@d101806kws 
&#160; &#160;3051 
&#160; &#160;3052 &#160; &#160;pdTraceEntry1( SQLT_sqlbSwitchTablespaceOnline, 
&#160; &#160;3053 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; PD_SQLB_POOL_ID(poolID) ); 
&#160; &#160;3054 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 
//@d153736xlw 
&#160; &#160;3055 &#160; &#160;//sqlbLatchPool (glob, poolID, 
SQLO_LATCH_MODE_EXCLUSIVE); 
&#160; &#160;3056 &#160; &#160;sqlbLatchPoolForReadWrite(glob, poolID); &#160; &#160; &#160; &#160; &#160; &#160; 
//@d152158jzl 
&#160; &#160;3057 &#160; &#160;poolLatched = TRUE; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 
//@d101806kws 
&#160; 
In sqlbTrackMultipleModifications, the edu tries to get the 
readLatch again:&#160; 
&#160; &#160;4017 void sqlbTrackMultipleModifications ( 
SQLB_DIRECT_WRITE_CB *dwCB ) 
&#160; &#160;4018 { 
&#160; &#160;4019 &#160; &#160;SQLB_GLOBALS &#160; &#160; *glob &#160; &#160; &#160; &#160;= dwCB->globals; 
&#160; &#160;4020 &#160; &#160;SQLB_PAGE_HEAD &#160; *pageHead &#160; &#160;= NULL; 
&#160; &#160;4021 &#160; &#160;SQLB_PAGE &#160; &#160; &#160; &#160;*page &#160; &#160; &#160; &#160;= NULL; 
&#160; &#160;4022 &#160; &#160;SQLB_POOL_CB &#160; &#160; *pdef &#160; &#160; &#160; &#160;= NULL; 
&#160; &#160;4023 &#160; &#160;SQLB_POOL_ID &#160; &#160; &#160;poolID &#160; &#160; &#160;= 
SQLB_OBJECTP_ObjID(dwCB->obj).poolID; 
&#160; &#160;4024 &#160; &#160;Uint &#160; &#160; &#160; &#160; &#160; &#160; &#160;numPages &#160; &#160;= 0; 
&#160; &#160;4025 &#160; &#160;Uint &#160; &#160; &#160; &#160; &#160; &#160; &#160;pageIndex &#160; = 0; 
&#160; &#160;4026 
&#160; &#160;4027 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 
//@db237504jrt 
&#160; &#160;4028 &#160; &#160;// If the 'already hold poolR latch' bit is set in 
the in direct write CB, 
&#160; &#160;4029 &#160; &#160;// then dont bother latching the pool - we already 
have it 
&#160; &#160;4030 &#160; &#160;if (!((dwCB->latchesHeld & SQLB_DWCB_POOLR_HELD) == 
SQLB_DWCB_POOLR_HELD)) 
&#160; &#160;4031 &#160; &#160;{ 
&#160; &#160;4032 &#160; &#160; &#160; sqlbLatchPoolForRead(glob, poolID); 
&#160; &#160;4033 &#160; &#160;}
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL USERS                                                    * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to latest fix pack.                                  * 
****************************************************************
Local-Fix:
Lösung
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
15.04.2015
21.01.2016
21.01.2016
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
10.5.0.7 FixList