DB2 - Problembeschreibung
| Problem IC71075 | Status: Geschlossen |
ONLINE BACKUP CAN BACKUP AN INDEX IN A PARTIALLY INCONSISTENT STATE | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problembeschreibung: | |
Space Map Page can be captured before the drop index while other
data backed up indicates that that index is already dropped. For
example, consider following record in the log file:
Record 271143 Log Page Offset = 05AA = 1450
Log File Offset = 025855AA = 39343530
Record LSN = 0000 001C 4ED3 F5AA
Record Size = 0033 = 51
Record Type = 4E = Normal
Log Header Flags = 0000
Record TID = 0000007AFBFD
Back Pointer LSN = 001C 4ED3 F590
Originator Code = 02 = Index Manager
Function ID = 6B = 107 : GETPAGE_DP
Pool ID = 24 Object ID = 911 Index
Object Type = x1
Parent Pool ID = 8 Parent Object ID = 919
Index Root Page = 0057E327 = 5759783
Index SMP Page = x0010FAE0 = 1112800
Index Page = x005A5ABF = 5921471
Location of Byte in Bitmap = 20
Bit Pair in Byte = 1
smlFlags = 41 = SM_LOGF_EXTEND
SM_LOGF_UPDATE_NLEAF
smNewState = 10 = SQLI_SMP2_USED
smOriginalState = 00 = SQLI_SMP2_NOTUSED
Here, attempt to redo this GETPAGE_DP log record should change
the state from 0x00 (SQLI_SMP2_NOTUSED) to 0x10
(SQLI_SMP2_USED). But since the index is dropped already index
manager will skip replaying this log record because of a change
made in 9.5 to log the root page ID with the GETPAGE_DP log
record as oppose to SQLI_GTPG_LOG_ROOTPG_0 (i.e. 0). As a
result, when index manager replay this log record it detect that
this index is already dropped and don't trying to replay it
(even it should). | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All users running DB2 v9.7 FP3 and earlier. * **************************************************************** * PROBLEM DESCRIPTION: * * Space Map Page can be captured before the drop index while * * other * * data backed up indicates that that index is already dropped. * * For * * example, consider following record in the log file: * * * * * * * * Record 271143 Log Page Offset = 05AA = 1450 * * * * Log File Offset = 025855AA = 39343530 * * * * Record LSN = 0000 001C 4ED3 F5AA * * * * Record Size = 0033 = 51 * * * * Record Type = 4E = Normal * * * * Log Header Flags = 0000 * * * * Record TID = 0000007AFBFD * * * * Back Pointer LSN = 001C 4ED3 F590 * * * * Originator Code = 02 = Index Manager * * * * Function ID = 6B = 107 : GETPAGE_DP * * * * Pool ID = 24 Object ID = 911 Index * * * * Object Type = x1 * * * * Parent Pool ID = 8 Parent Object ID = 919 * * * * Index Root Page = 0057E327 = 5759783 * * * * Index SMP Page = x0010FAE0 = 1112800 * * * * Index Page = x005A5ABF = 5921471 * * * * Location of Byte in Bitmap = 20 * * * * Bit Pair in Byte = 1 * * * * smlFlags = 41 = SM_LOGF_EXTEND * * * * SM_LOGF_UPDATE_NLEAF * * * * smNewState = 10 = SQLI_SMP2_USED * * * * smOriginalState = 00 = SQLI_SMP2_NOTUSED * * * * * * * * Attempt to redo GETPAGE_DP log record should change * * the state from 0x00 (SQLI_SMP2_NOTUSED) to 0x10 * * * * (SQLI_SMP2_USED). But since the index is dropped already * * index * * manager will skip replaying this log record because of a * * change * * made in 9.5 to log the root page ID with the GETPAGE_DP log * * * * record as oppose to SQLI_GTPG_LOG_ROOTPG_0 (i.e. 0). As a * * * * result, when index manager replay this log record it detect * * that * * this index is already dropped and don't trying to replay it * * * * (even it should). * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 v9.7 FP4. * **************************************************************** | |
| Local-Fix: | |
You can recover from this problem by using db2dart to mark corresponding index as invalid and then connecting to the database and running a select (any select) against this table that index belongs to. | |
| verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
| Lösung | |
Problem was fixed in DB2 v9.7 FP4 | |
| Workaround | |
You can recover from this problem by using db2dart to mark corresponding index as invalid and then connecting to the database and running a select (any select) against this table that index belongs to. | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 10.09.2010 09.05.2011 09.05.2011 |
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP4 | |
| Problem behoben lt. FixList in der Version | |
| 9.7.0.4 |
|