Subject: Block Check return codes (as reported by DBV/ANALYZE/KDB ORA-600's) Type: REFERENCE Status: PUBLISHED Content Type: TEXT/PLAIN Creation Date: 14-AUG-1997 Last Revision Date: 09-MAY-2000 Language: USAENG Introduction ~~~~~~~~~~~~ This reference note includes a summary of block check failure codes as returned by DBV (DBVerify), or block checking code as enabled by events or init.ora parameters. Block checking has been enhanced dramatically in 8.1.6 onwards and so the actual check codes are different for pre-8.1.6 and 8.1.6 onwards. DBV Errors ~~~~~~~~~~ For DBV these codes are those reported in the 'check code' message. Eg: DBVERIFY - Verification starting : FILE = XXX.dbf kdbchk: row does not end within block table=0 slot=8 len=544 offset=1606 dtl=1976 Page 3 failed with check code 3 ^^^ this is the check code failure DBV usually reports the error message, although earlier versions may not. ORA-600 ~~~~~~~ A number of ORA-600 errors include the KDB check code as the first argument. Eg: ORA-600 [6592] [check] ORA-600 [6593] [check] ORA-600 [6594] [check] ORA-600 [6591] [check] ORA-600 [6590] [check] ORA-600 [6588] [check] ORA-600 [6588] [check] ORA-600 [6586] [check] ORA-600 [6585] [check] ORA-600 [6582] [check] ORA-600 [6581] [check] ORA-600 [6588] [check] ^^^^^-- This is the check code Actions ~~~~~~~ For details of what to do if a block appears as logically corrupt see [NOTE:76381.1]. This note is just a reference listing of the main check codes and their meaning. Reference List ~~~~~~~~~~~~~~ The tables below use this format for messages: ------------+----------------------------------------------------- Symbol "text written to trace file" A B what the check code means Addition notes ------------+----------------------------------------------------- where A is the pre-8.1.6 error check code and B is the 8.1.6 onwards check code. ============================================================= Transaction Managed Data Block check codes ============================================================= ------------+----------------------------------------------------- KDBCHKNE "kdbchk: row locked by non-existent transaction" 1 6101 row locked by non-existent transaction ------------+----------------------------------------------------- KDBCHKRB "kdbchk: row beyond end of block" 2 6102 row begins beyond end of block ------------+----------------------------------------------------- KDBCHKRE "kdbchk: row does not end within block" 3 6103 row ends beyond end of block ------------+----------------------------------------------------- KDBCHKRM "kdbchk: a row begins in the middle of another" 4 6104 row begins in the middle of another ------------+----------------------------------------------------- KDBCHKRA "kdbchk: a row ends in the middle of another" 5 6105 row ends in the middle of another ------------+----------------------------------------------------- KDBCHKFN "kdbchk: entries on the free list are not ordered" 6 6106 free list not ordered ------------+----------------------------------------------------- KDBCHKFS "kdbchk: there are free slots not on the free list" 7 6107 free slots not on the free list ------------+----------------------------------------------------- KDBCHKXM "kdbchk: xaction header lock count mismatch" 8 6108 xaction header lock count mismatch ------------+----------------------------------------------------- KDBCHKBX "kdbchk: bogus transaction locks present" 9 6109 bogus transaction locks present ------------+----------------------------------------------------- KDBCHKSU "kdbchk: the amount of space used is not equal to block size " 10 6110 space used is not equal to block size ------------+----------------------------------------------------- KDBCHKSC "kdbchk: space available on commit is incorrect" 11 6111 space available on commit is incorrect ------------+----------------------------------------------------- KDBCHKKT "kdbchk: key row not in table zero" 12 6112 Key in Table other than zero ------------+----------------------------------------------------- KDBCHKCT "kdbchk: cluster row in table zero" 13 6113 Cluster row in table zero ------------+----------------------------------------------------- KDBCHKKR "kdbchk: key curref count wrong" 14 6114 Key reference count incorrect ------------+----------------------------------------------------- KDBCHKFB 15 6115 row Forwards to same Block ------------+----------------------------------------------------- KDBCHKBB 16 6116 row has Backward reference to same Block ------------+----------------------------------------------------- KDBCHKFC "kdbchk: free list slot not included in row count" 17 6117 Free list beyond row Count in block ------------+----------------------------------------------------- KDBCHKNR "kdbchk: key cur refs < 0" 18 6118 Negative current Reference count on key ------------+----------------------------------------------------- KDBCHKCL "kdbchk: key curref < comref" 19 6119 Current refs Less than com refs ------------+----------------------------------------------------- KDBCHKNC "kdbchk: key cur refs < 0" 20 6120 Negative Com reference count on key ------------+----------------------------------------------------- KDBCHKCW "kdbchk: key comref count wrong" 21 6121 Com reference count on key Wrong ------------+----------------------------------------------------- KDBCHKFW "kdbchk: can flush keys but no FK" 22 6122 Flush flag wrong ------------+----------------------------------------------------- KDBCHKLI "kdbchk: row length inconsistency" 23 6123 row Length Inconsistency ------------+----------------------------------------------------- KDBCHKTO "kdbchk: table index offset incorrect" 24 6124 Table Offset incorrect ------------+----------------------------------------------------- KDBCHKRC "kdbchk: row count in table index incorrect" 25 6125 Row Count in table index incorrect ------------+----------------------------------------------------- KDBCHKAB "kdbchk: avsp bad (%d)" 26 6126 Available space count Bad ------------+----------------------------------------------------- KDBCHKTB "kdbchk: tosp bad (%d)" 27 6127 Total space count Bad ------------+----------------------------------------------------- KDBCHKAT "kdbchk: avsp(%u) > tosp(%u)" 28 6128 Available space greater than Total ------------+----------------------------------------------------- KDBCHKFO "kdbchk: fsbo(%u) wrong, (hsz %u)" 29 6129 Free Space beginning Offset bad ------------+----------------------------------------------------- KDBCHKFE "kdbchk: fseo(%u) < fsbo(%u)" 30 6130 Free space Ending offset bad ------------+----------------------------------------------------- KDBCHKKL 31 6131 Key Links bad ------------+----------------------------------------------------- KDBCHKTN 32 6132 Trailing Null column stored ------------+----------------------------------------------------- KDBCHKBS 33 6133 Bad Stub size (will not forward properly) ------------+----------------------------------------------------- KDBCHKUL 34 6134 Undo for piece will be too Large ------------+----------------------------------------------------- KDBCHKRO "kdbchk: bad row offset slot %d offs %d fseo %d dtl %d bhs %d" 35 6135 Row Offset is not between kdbhfseo and ktbidl ------------+----------------------------------------------------- KDBCHKKI 36 6136 Key locking Itl is not KTBSRVI ------------+----------------------------------------------------- KDBCHKIS 37 6137 Illegal Service transaction ------------+----------------------------------------------------- KDBCHKTK "kdbchk: too many (%d) cluster keys in block" 38 6138 Too many (> KDRMAXCK) cluster keys in block ------------+----------------------------------------------------- KDBCHKDK "kdbchk: duplicate cluster keys in block" 39 6139 Duplicate cluster Keys in block ------------+----------------------------------------------------- KDBCHKNK "kdbchk: non-existent key referenced" 40 6140 Non-existent Key referenced ------------+----------------------------------------------------- KDBCHKBC "kdbchk: tab %u row %u must be clustered and isn't " 41 6141 Bad Clustering; HF, and not C ------------+----------------------------------------------------- KDBCHKCS 42 6142 bad Cleanout System commit number ------------+----------------------------------------------------- KDBCHKFF "block contains fixed hash keys: onf [%d], fha [%d]" 43 6143 fixed hash area block on freelist ------------+----------------------------------------------------- KDBCHKMK "found both hash and non-hash keys in block" 44 6144 hash and cluster keys mixed ------------+----------------------------------------------------- =================================== Row flags checks =================================== ------------+----------------------------------------------------- KDRCHKOK 1000 6150 everything is OK (Not an error) ------------+----------------------------------------------------- KDRCHKKC "kdrchk: row is marked as both a Key and Clustered" 1001 6151 both K and C set ------------+----------------------------------------------------- KDRCHKFP "kdrchk: row is marked as both F and P" 1002 6152 both F and P set ------------+----------------------------------------------------- KDRCHKLN "kdrchk: row is marked as both Last and Next continue" 1003 6153 both L and N set ------------+----------------------------------------------------- KDRCHKKP "kdrchk: row is marked both as a Key and being continued" 1004 6154 both K and (P or N) ------------+----------------------------------------------------- KDRCHKKH "kdrchk: row is Key and Not only piece of key" 1005 6155 K and not HFL ------------+----------------------------------------------------- KDRCHKPN "kdrchk: no columns, but has one of P or N" 1006 6156 (D or ccnt==0) and (P or N) ------------+----------------------------------------------------- KDRCHKNF "kdrchk: HL, but not F" 1007 6157 HL but not F ------------+----------------------------------------------------- KDRCHKDU "kdrchk: D, but unlocked" 1008 6158 D but unlocked ------------+----------------------------------------------------- KDRCHKPZ "kdrchk: P and empty first column" 1009 6159 P flag and zero length (or null) first column ------------+----------------------------------------------------- KDRCHKNZ "kdrchk: N and empty last column" 1010 6160 N flag and zero length (or null) last column ------------+----------------------------------------------------- KDRCHKTN "kdrchk: L, !K and trailing NULL" 1011 6161 L, !K and Trailing Null columns ------------+----------------------------------------------------- KDRCHKCK "kdrchk: K and too many columns" 1012 6162 Cluster Key has too many columns ------------+----------------------------------------------------- KDRCHKBC "kdrchk: C and neither of H or F" 1013 6163 Bad Clustering; C but neither of H or F ------------+----------------------------------------------------- ============================================================================ Transaction Managed normal Index Block checks (8.1.6+) (pre 8.1.6) ============================================================================ ------------+----------------------------------------------------- KDRP_INDEX_ERR ? 6401 Index check failed Index messages are not listed here. ------------+----------------------------------------------------- =================================== Transaction Managed UNKNOWN block =================================== ------------+----------------------------------------------------- KDBT_EC_BTYPE ? 6001 Type 6 block has unknown TYPE value ------------+----------------------------------------------------- 8.1.6 onwards other block types ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8.1.6 has which calls various block check routines depending on the block type. A check code of 2 (KCBCHK_TPERR) is returned if the block type is invalid, otherwise the check code is in a range 1000*block_type to 1000*block_type + 999. y