DB2 - Problembeschreibung
Problem IC65426 | Status: Geschlossen |
PANIC IN SQLBCLNRASYNCWRITESETUP WHEN PAGE CLEANER TRIES TO CLOSE A CONTAINER FILE IN SQLOCLOSE, WHICH IS ALREADY CLOSED | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
Instance panic in sqlbClnrAsyncWriteSetup when page cleaner tries to close a container file it is working with in sqloclose. A race condition occurs after dropping a container through ALTER TABLESPACE command, when multiple page cleaners are trying to refresh the cached open file handles for the altered tablespace. Please note that this problem only occurs if registry variable DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN is set to YES. The following entry is found in the db2diag.log: FUNCTION: DB2 UDB, oper system services, sqloclose, probe:20 MESSAGE : ZRC=0x860F000A=-2045837302=SQLO_FNEX "File not found." DIA8411C A file "" could not be found. CALLED : OS, -, close OSERR : EBADF (9) "Bad file number" DATA #1 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes 0x070000000ABFDA70 : 0000 00A7 0000 0308 ........ DATA #2 : String, 105 bytes Search for ossError*Analysis probe point after this log entry for further self-diagnosis of this problem. The stack of the page cleaner has the following entries: sqlb_panic + 0x74 sqlbClnrAsyncWriteSetup + 0x134 sqloDispatchNBlocks + 0x100 sqloLioReadWriteNBlocks + 0x1C sqlbClnrWriteSerializedPages + 0x46C sqlbClnrWritePages + 0x248 sqlbClnrEntryPoint - 0x288 sqlbClnrEntryPoint + 0x24C sqloEDUEntry + 0x274 The container file that this page cleaner is trying to close is already closed by another page cleaner and hence this page cleaner is getting SQLO_FNEX. This leads to the instance panic. | |
Problem-Zusammenfassung: | |
Instance panic in sqlbClnrAsyncWriteSetup when page cleaner tries to close a container file it is working with in sqloclose. A race condition occurs after dropping a container through ALTER TABLESPACE command, when multiple page cleaners are trying to refresh the cached open file handles for the altered tablespace. Please note that this problem only occurs if registry variable DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN is set to YES. The following entry is found in the db2diag.log: FUNCTION: DB2 UDB, oper system services, sqloclose, probe:20 MESSAGE : ZRC=0x860F000A=-2045837302=SQLO_FNEX "File not found." DIA8411C A file "" could not be found. CALLED : OS, -, close OSERR : EBADF (9) "Bad file number" DATA #1 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes 0x070000000ABFDA70 : 0000 00A7 0000 0308 ........ DATA #2 : String, 105 bytes Search for ossError*Analysis probe point after this log entry for further self-diagnosis of this problem. The stack of the page cleaner has the following entries: sqlb_panic + 0x74 sqlbClnrAsyncWriteSetup + 0x134 sqloDispatchNBlocks + 0x100 sqloLioReadWriteNBlocks + 0x1C sqlbClnrWriteSerializedPages + 0x46C sqlbClnrWritePages + 0x248 sqlbClnrEntryPoint - 0x288 sqlbClnrEntryPoint + 0x24C sqloEDUEntry + 0x274 The container file that this page cleaner is trying to close is already closed by another page cleaner and hence this page cleaner is getting SQLO_FNEX. This leads to the instance panic. | |
Local-Fix: | |
If you have set the db2 registry variable DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN=YES unset this variable (by default it is NO). | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Lösung | |
Defect => wsdbu00608915 Fixed in => V9.7 + FP2 Module => ENGN_SQB | |
Workaround | |
If you have set the db2 registry variable DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN=YES unset this variable (by default it is NO). | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 06.01.2010 10.06.2010 10.06.2010 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7. | |
Problem behoben lt. FixList in der Version | |
9.7.0.2 |