tem01.dbf
BLOCK = 60290?
Block Checking: DBA = 4254594, Block Type = KTB-managed data block
data header at 0x79a25c
kdbchk: xaction header lock count mismatch
trans=2 ilk=1 nlo=0 --提示事务错误
Block 60290 failed with check code 6108?
DBVERIFY - Verification complete?
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0?
BBED> p *kdbr[0]
rowdata[19]
-----------
ub1 rowdata[19] @8175 0x2c?
BBED> d
File: /u01/app/oracle/oradata/ORCL/system01.dbf (1)
Block: 60290 Offsets: 8175 to 8191 Dba:0x0040eb82
------------------------------------------------------------------------
2c000202 c1020642 41444c59 390206d5 a3?
<32 bytes per line>?
BBED> x /rnc
rowdata[19] @8175
-----------
flag@8175: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8176: 0x00 --被更新前的记录事务锁标识为0,而更新后的事务锁标识为2
cols@8177: 2?
col 0[2] @8178: 1
col 1[6] @8181: BADLY9?
--修改事务锁标识为2
BBED> m /x 02 offset +1
File: /u01/app/oracle/oradata/ORCL/system01.dbf (1)
Block: 60290 Offsets: 8176 to 8191 Dba:0x0040eb82
------------------------------------------------------------------------
020202c1 02064241 444c5939 0206d5a3?
<32 bytes per line>?
--把更新后值得事务锁标识改为0
BBED> set offset 8156
OFFSET 8156?
BBED> m /x 00 offset +1
File: /u01/app/oracle/oradata/ORCL/system01.dbf (1)
Block: 60290 Offsets: 8157 to 8191 Dba:0x0040eb82
------------------------------------------------------------------------
000202c1 02034a50 312c0002 02c10302 4a502c02 0202c102 06424144 4c593902
06d5a3?
<32 bytes per line>?
BBED> sum apply
Check value for File 1, Block 60290:
current = 0x3c22, required = 0x3c22?
BBED> verify
DBVERIFY - Verification starting
FILE = /u01/app/oracle/oradata/ORCL/system01.dbf
BLOCK = 60290?
Block Checking: DBA = 4254594, Block Type = KTB-managed data block
data header at 0x28225c
kdbchk: the amount of space used is not equal to block size
used=44 fsc=3 avsp=8052 dtl=8096 --提示块的空间使用不正确
Block 60290 failed with check code 6110?
DBVERIFY - Verification complete?
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
此时要将所有itl的fsc全部改为0,然后将kdbh.kdbhavsp和kdbh.kdbhtosp的值改成相等,它们的值都等于dbv校验中显示的dtl-used。本次案例为8096-44 741f?
BBED> p ktbbh
struct ktbbh, 72 bytes @20
ub1 ktbbhtyp @20 0x01 (KDDBTDATA)
union ktbbhsid, 4 bytes @24
ub4 ktbbhsg1 @24 0x0000cd16
ub4 ktbbhod1 @24 0x0000cd16
struct ktbbhcsc, 8 bytes @28
ub4 kscnbas @28 0x0007a3d3
ub2 kscnwrp @32 0x0000
b2 ktbbhict @36 7938
ub1 ktbbhflg @38 0x03 (KTBFONFL)
ub1 ktbbhfsl @39 0x00
ub4 ktbbhfnx @40 0x00000000
struct ktbbhitl[0], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x0008
ub2 kxidslt @46 0x0009
ub4 kxidsqn @48 0x0000010e
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00800270
ub2 kubaseq @56 0x00c4
ub1 kubarec @58 0x02
ub2 ktbitflg @60 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @62
b2 _ktbitfsc @62 0
ub2 _ktbitwrp @62 0x0000
ub4 ktbitbas @64 0x0007a37e
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0001
ub2 kxidslt @70 0x0024
ub4 kxidsqn @72 0x000000d5
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x008000d8
ub2 kubaseq @80 0x0082
ub1 kubarec @82 0x38
ub2 ktbitflg @84 0x2001 (KTBFUPB)
union