DB2 - Problem description
Problem IT05944 | Status: Closed |
SQL1655C, SQLSTATE=38030. SQLB_BADHDR "BAD PAGE HEADER", SQLBREADPAGE CALLED FROM SQLIFIXSMP, SQLBFIXPAGE, SQLBFIX | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
The following error could be returned by an insert/update/delete statement accessing a table in a tablespace with non-reclaimable storage which has had REORG INDEX(ES) with the RECLAIM EXTENTS option run against it. DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL1655C The operation could not be completed due to an error accessing data on disk. SQLSTATE=58030 If this error isn't returned then the instance could crash. In either case the following will be written to the db2diag.log: MESSAGE : ZRC=0x87020036=-2029912010=SQLB_BADHDR "Bad Page Header" DIA8547C An error occurred in a database page header. DATA #1 : String, 64 bytes Error encountered trying to read a page - information follows : DATA #2 : String, 23 bytes Page verification error DATA #3 : Page ID, PD_TYPE_SQLB_PAGE_ID, 4 bytes 0 DATA #4 : Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 104 bytes Obj: {pool:82;obj:2062;type:1} Parent={82;2062} lifeLSN: 000000003D5480B2 tid: 0 0 0 extentAnchor: 1274370 initEmpPages: 0 poolPage0: 1274372 poolflags: 0x 7122 objectState: 0x 80027 lastSMP: 0 pageSize: 4096 extentSize: 2 bufferPoolID: 1 partialHash: 151912530 objDescAttributes: 0 objDescEHLState: 0x07000001ceeab379 bufferPool: 0x07000001669ecf40 pdef: 0x07000001c288ad40 DATA #5 : Bitmask, 4 bytes 0x00000003 DATA #6 : Page header, PD_TYPE_SQLB_PAGE_HEAD, 48 bytes pageHead: {tbspSeed:82;obj:65534;type:14} bphPPNum:0 bphOPNum:0 begoff: 48 datlen: 4048 revnum: 1280 pagelsn: 000000003C860058 flag: 2a future32: 0 cbits1to31: 57f3b79f cbits32to63: 90164b6 DATA #7 : Bufferpool globals, PD_TYPE_SQLB_GLOBALS, 1264 bytes dbcb: 0x07800000039a0080 bpcb: 0x070000016505e360 ptbl: 0x070000016505e900 eduType: SQLB_EDU_AGENT eduCB: 0x078000000658e2c0 qryData: 0x0000000000000000 qryDataSz: 0 qryDataPos: 0 contQryData: 0x0000000000000000 contQryDataSz: 0 contQryDataPos: 0 bglobals_flags: 10200 eduId: 19036 curPfQ: 4 curRemHateListCounter: 19292 debugInfo: 0x00000001660a35e0 pCurRecLsn: 0x0000000000000000 clnrCB: 0x0000000000000000 prefetchPriority: 1 agentPriorityWeight: 00 staticStr: curRecTsp: 0 curRecPage: 0 numPFRequestsHeld: 0 memAccessCount: m_bIsInitialized: true m_iDisabled: 1 m_iAccessCount: 2 CALLSTCK: (Static functions may not be resolved correctly, as they are resolved to the nearest symbol) [0] 0x090000000F745210 pdLog + 0x2D0 [1] 0x0900000011D2874CsqlbLogReadAttemptFailure__FUiP16SQLB_OBJECT_D ESCT1P9SQLB_PAGEibUlT1PcP12SQLB_GLOBALS + 0x36C [2] 0x0900000011D437D4sqlb_verify_page__FP9SQLB_PAGEP16SQLB_OBJECT_D ESCUiT3P12SQLB_GLOBALSPUl + 0xF34 [3] 0x0900000011D48C80 sqlbReadPage + 0xA40 [4] 0x0900000013CFA528 sqlbGetPageFromDisk__FP11SQLB_FIX_CBi +0x1BA8 [5] 0x090000001231F260 sqlbfix__FP11SQLB_FIX_CB + 0x3FE0 [6] 0x0900000012DA733C sqlbFixPage__FP11SQLB_FIX_CBiUiT2 +0x27C [7] 0x0900000012DAD400sqliFixSMP__FP11SQLB_FIX_CBP17SQLI_FRPGMAP_DES CiUiT3 + 0x160 [8] 0x0900000012DAECC0sqliSearchMapsAndGetPage__FP7SQLI_CBUlT2PUiP11 SQLI_SMPLOCP19SQLI_INX_PAGE_CACHEP14SQLI_PAGE_DESC + 0x13E0 [9] 0x0900000012DB2688sqliGetPageBufferPool__FP7SQLI_CBPUiUiiP14SQLI _PAGE_DESC + 0x748 [10] 0x090000001462E014sqligtpg__FP7SQLI_CBPUiUiiP14SQLI_PAGE_DESC + 0x1D4 [11] 0x090000001462E738sqliGetNewPageForSplit__FP7SQLI_CBP14SQLI_PAGE _DESC + 0x378 [12] 0x0900000014630ECCsplitnode__FP7SQLI_CBP14SQLI_PAGE_DESCPUlP11SQ LI_SAGLOBP8SQLD_KEYP12SQLI_KEYDATAP9SQLI_SLOTPUc + 0x76C [13] 0x09000000146468A4addkeyToLeaf__FP7SQLI_CBP11SQLI_SAGLOBP9SQLI_S LOT + 0x1224 [14] 0x090000001464BB64procLeaf2Add__FP7SQLI_CBP11SQLI_SAGLOBP9SQLI_S LOTiP12SQLI_KEYDATA + 0x824 [15] 0x090000001464F004 sqlischa__FP7SQLI_CBP11SQLI_SAGLOBiUi+ 0x1864 [16] 0x090000001464D17Cnext_level__FP7SQLI_CBP11SQLI_SAGLOBiUi + 0x1BC [17] 0x090000001464EF58 sqlischa__FP7SQLI_CBP11SQLI_SAGLOBiUi+ 0x17B8 [18] 0x090000001464D17Cnext_level__FP7SQLI_CBP11SQLI_SAGLOBiUi + 0x1BC [19] 0x090000001464EF58 sqlischa__FP7SQLI_CBP11SQLI_SAGLOBiUi+ 0x17B8 [20] 0x09000000125C59DCsqliaddk__FP8sqeAgentP9SQLD_IXCBP8SQLD_KEY12SQ LI_KEYDATAP14SQLP_LOCK_INFOP8SQLP_LRBUlP10SQLI_IXPCRPPv + x137C [21] 0x0900000014867A44sqldKeyInsert__FP13SQLD_DFM_WORKP16SQLD_TABLE_ CACHET2P13SQLD_TDATARECP15SQLD_TDATAREC32iUl + 0xC84 [22] 0x0900000014875D64sqldRowInsert__FP8sqeAgentUsT2UcUliPP10SQLD_VA LUEP8SQLZ_RIDPPv +0x1984 [23] 0x0900000011CD6A8Csqlrinsr__FP8sqlrr_cbUsT2iT2PP10SQLD_VALUEQ3_1 0sqlri_iudo11t_iudoFlags17t_iudoFlagsKernelP8SQLZ_RIDPPv + 0x1CC [24] 0x0900000019AF58B4 sqlriisr__FP8sqlrr_cb + 0x634 [25] 0x0900000010969AECsqlriExecThread__FP8sqlrr_cbP12sqlri_opparm + 0x7EC [26] 0x090000001096C350sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 0x10F0 [27] 0x0900000019A141F0 sqlrr_dss_router__FP8sqlrr_cb + 0xB90 [28] 0x0900000019A182C4sqlrr_subagent_router__FP8sqeAgentP12SQLE_DB2R A_T + 0x1D44 [29] 0x0900000010A79288sqleSubRequestRouter__FP8sqeAgentPUiPUl + 0xEA8 [30] 0x0900000010A95B48 sqleProcessSubRequest__FP8sqeAgent +0x328 [31] 0x090000000FAF7C7C RunEDU__8sqeAgentFv + 0x37C [32] 0x090000000FAB33BC EDUDriver__9sqzEDUObjFv + 0x23C [33] 0x090000000FAB371C sqlzRunEDU__FPcUi + 0x3C [34] 0x090000000F90F7B4 sqloEDUEntry + 0x7B4 [35] 0x09000000004F7D30 _pthread_body + 0xF0 [36] 0xFFFFFFFFFFFFFFFC ?unknown + 0xFFFFFFFF Note that Page ID in the output above is 0: DATA #3 : Page ID, PD_TYPE_SQLB_PAGE_ID, 4 bytes 0 This will be followed by: DATA #1 : Fix control block, PD_TYPE_SQLB_FIX_CB, 208 bytes accessMethod: SQLB_POOL_RELATIVE fixMode: 3 SQLBX | SQLBOLD buffptr: 0x0000000000000000 bpdPtr: 0x0000000000000000 pageLsnOnXLatch: 000000003CF67350 dmDebugHdl: 2 objectPageNum: 3969 empDiskPageNum: 4294967295 unfixFlags: 1000000 dirtyState: SQLBCLEAN fixInfoFlags: 1 regEDUid: 0 Pagekey: {pool:82;obj:2062;type:1} PPNum:0 Obj: {pool:82;obj:2062;type:1} Parent={82;2062} which again shows PPNum:0. If these are seen then the issue could be due to this APAR. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users that have upgrade their database from DB2 version * * 9.5 or earlier. * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 10.5.0.7. * **************************************************************** | |
Local Fix: | |
If the database instance has crashed then the problem will be resolved by bringing the database back up and performing crash recovery. If the database instance has not crashed then the database from which the error was received should be deactivated and reactivated. For pureScale the database must be deactivated on all pureScale members. For DPF instances the database must be deactivated only on the node on which the error was received. Upon reactivation the error will be resolved. To avoid further occurrences, for any table that resides in a tablspace with non-reclaimable storage, the database must be deactivated and reactivated between running an INDEX REORG with the REBUILD option and a REORG INDEX(ES) with the RECLAIM EXTENTS option against the table. The database must also be deactivated and reactivated between the creation of the first index on the table and running a REORG INDEX(ES) with the RECLAIM EXENTS option against the table. The problem will not occur if REORG INDEX(ES) with the RECLAIM EXTENTS option is not run against tables in tablespaces with non-reclaimable storage. | |
Solution | |
The problem is first fixed in DB2 version 10.5.0.7. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.12.2014 19.01.2016 28.04.2016 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.7 |