DB2 - Problembeschreibung
Problem IT20078 | Status: Geschlossen |
LOAD TERMINATE ON CORRUPT SMS TABLE (MISSING .INX FILE) WILL MARK DATABASE BAD | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problembeschreibung: | |
A Load terminate on a SMS table that is in Load pending with Index corruption (missing .INX file) will mark the database bad. If a table is in Load pending state and has a corrupt index or index Marked Bad in need of reorg the reorg on the index will fail with SQL0668N: db2 reorg indexes all for table testi SQL0668N Operation not allowed for reason code "3" on table "MARIAJ.TESTI". SQLSTATE=57016 FUNCTION: DB2 UDB, relation data serv, sqlrreorg_index_obj, probe:200 MESSAGE : ADM9505W Online index reorganization on table "TESTI" (ID "2") and table space "SMS_T" (ID "7") has been switched to offline mode because the indexes are marked for rebuild. These indexes may have been marked for rebuild during a roll forward through an index creation and/or recreation. If this is the case, consider setting the INDEXREC database manager configuration parameter to RESTART. This will cause indexes that are marked for rebuild during roll forward to be rebuilt during RESTART DATABASE processing. FUNCTION: DB2 UDB, relation data serv, sqlrreorg_indexes, probe:1000 MESSAGE : ADM9504W Index reorganization on table "MARIAJ .TESTI" (ID "2") and table space "SMS_T" (ID "7") failed on this database partition with SQLCODE "-668" reason code "3". This error can be totally normal, and a Load terminate should resolve it, however do not terminate the Load without checking if indeed there is corruption on the table of the nature described here. db2dart /T will have messages like these if the .INX file is missing (also this can be checked on the tablespace directory) Error: Unable to read pool page 0, object page 0, from pool 6, due to rc 0x8402001E Error: parent pool 6, object ID 2, object type Index. If the table has an object file missing for the index (.INX missing) a Load Terminate might crash the database with db2 "load from ex.out of del terminate into testi" SQL0984C COMMIT or ROLLBACK was not successful. Subsequent SQL statements and any attempt to bring the database backup up will fail with : FUNCTION: DB2 UDB, data management, sqldAllocEmptyTCB, probe:1 RETCODE : ZRC=0x8704002F=-2029780945=SQLD_PARM "PARAMETER ERROR" DIA8544C An invalid data type was encountered, the value was "". MESSAGE : Request to allocate TCB for ObjectID 0 DATA #1 : poolID, PD_TYPE_SQLD_POOL_ID, 4 bytes 0x00000000 CALLSTCK: (Static functions may not be resolved correctly, as they are resolved to the nearest symbol) [0] 0x09000001AA213424 pdLogRC + 0xE4 [1] 0x09000001AA62CE80 pdLogRC@glue17 + 0xF4 [2] 0x09000001AA534464 sqldAllocEmptyTCB__FP8sqeAgentPP8SQLD_TCBiN23UlT3UiT8 + 0x2C4 [3] 0x09000001A9D58008 sqldAllocEmptyTCB__FP8sqeAgentPP8SQLD_TCBiN23UlT3UiT8@glueA8D + 0x94 [4] 0x09000001AA607640 sqldFixTCBObj__FP8sqeAgentP11SQLB_OBJECTPP8SQLD_TCBPP16SQLB_OBJE CT_DESCiUiT6 + 0x68 [5] 0x09000001AABD3028 sqluCheckObjectForRedo__FP8sqeAgentP9SQLP_LSN8P11SQLB_OBJECTT2Pi T5PbT5iN29b + 0xF8 [6] 0x09000001AABD59E0 @148@sqlu_change_obj_values__FP8sqeAgentP18SQLU_OBJ_POOL_LISTP9S QLP_LSN8iT4P15SQLD_RECOV_INFO + 0x1E4 [7] 0x09000001AABD10B0 sqlu_process_pending_operation__FP8sqeAgentiPcP9SQLP_LSN8P12SQLP _PENLISTPUiP15SQLD_RECOV_INFO + 0x384 [8] 0x09000001A9509068 sqlptppl__FP8sqeAgent + 0x478 [9] 0x09000001A97B8934 sqlpRFWppl__FP8sqeAgentP9SQLP_DBCBP11SQLP_TENTRYP10SQLP_FRAPPP10 SQLP_FRSCBP9SQLP_LSN8Ui + 0x78 EDUID : 9715 EDUNAME: db2redom (TEST) FUNCTION: DB2 UDB, data management, sqldFixTCBObj, probe:6383 MESSAGE : ZRC=0x8704002F=-2029780945=SQLD_PARM "PARAMETER ERROR" DIA8544C An invalid data type was encountered, the value was "". DATA #1 : Object control block, PD_TYPE_SQLB_OBJECT, 12 bytes Obj: {pool:0;obj:0;type:0} Parent={0;0} DATA #2 : tcbFixFlags, PD_TYPE_SQLD_TCB_FIXFLAGS, 4 bytes 0x00000020 - TCB_EXPECT_NOTAVAIL cannot be processed. SQLSTATE=58005 | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * See Local fix. * * Do not attempt to backup an SMS tablespace where there are * * table(s) in load pending state. * * Upgrade to DB2 11.1 level that has the fix. * **************************************************************** | |
Local-Fix: | |
If the table is corrupt in the way described in this APAR (i.e .INX missing), do not run Load terminate, if unable to recover the missing file (.INX) extract all the data with db2dart /DDEL and drop the table and recreate. If the database has been marked bad after Load Terminate and restart fails with SQLD_PARM only option is to restore the database (Filtered recovery will not work) | |
Lösung | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Bug-Verfolgung | |
Vorgänger : Nachfolger : IT27676 | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 05.04.2017 04.01.2019 04.01.2019 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
Problem behoben lt. FixList in der Version |