BBED> verify
DBVERIFY - Verification starting
FILE = /oracle/app/oracle/oradata/orcl1123/system01.dbf
BLOCK = 225
Block Checking: DBA = 4194529, Block Type = KTB-managed data block
Found block already marked corrupted
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
Message 531 not found; product=RDBMS; facility=BBED
这里发现块被标记为坏块,其实这里知道就是把seq更改为FF了,下面我们修改回来就可以了
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x004000e1
ub4 bas_kcbh @8 0x0021beaa
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0xff
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0x4cba
ub2 spare3_kcbh @18 0x0000
BBED> set mode edit
MODE Edit
BBED> set count 16
COUNT 16
BBED> modify /x 00 offset 14
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)
Block: 225 Offsets: 14 to 29 Dba:0x00000000
------------------------------------------------------------------------
0004ba4c 00000100 00000f00 0000aabe
<32 bytes per line>
BBED> set offset 8188
OFFSET 8188
BBED> dump
File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)
Block: 225 Offsets: 8188 to 8191 Dba:0x00000000
------------------------------------------------------------------------
ff06aabe
<32 bytes per line>
BBED> modify /x 00 offset 8188
File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)
Block: 225 Offsets: 8188 to 8191 Dba:0x00000000
------------------------------------------------------------------------
0006aabe
<32 bytes per line>
BBED> p tailchk
ub4 tailchk @8188 0xbeaa0600
BBED> sum apply
Check value for File 0, Block 225:
current = 0x4cba, required = 0x4cba
BBED> verify
DBVERIFY - Verification starting
FILE = /oracle/app/oracle/oradata/orcl1123/system01.dbf
BLOCK = 225
Block Checking: DBA = 4194529, Block Type = KTB-managed data block
data header at 0x2a98b8725c
kdbchk: row locked by non-existent transaction
table=0 slot=20
lockid=1 ktbbhitc=2
Block 225 failed with check code 6101
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
Message 531 not found; product=RDBMS; facility=BBED
这里看到报了ITL相当的一些东西,原因是由于原来做实验的时候,手动提交了数据。
报错代码的意思是,slot=20的行被锁住,占用了itl2.
下面是dump数据库看一下第21号的lb标记符
tl: 58 fb: --H-FL-- lb: 0x1 cc: 17
col 0: [ 2] c1 15
col 1: [10] 5f 53 59 53 53 4d 55 32 30 24
col 2: [ 2] c1 02
col 3: [ 2] c1 06
col 4: [ 3] c2 03 49
col 5: [ 5] c4 02 62 0a 09
col 6: [ 1] 80
col 7: [ 3] c2 03 2a
col 8: [ 3] c2 02 3e
col 9: [ 1] 80
col 10: [ 2] c1 04
col 11: [ 2] c1 06
col 12: *NULL*
col 13: *NULL*
col 14: *NULL*
col 15: *NULL*
col 16: [ 2] c1 0
BBED> p *kdbr[20]
rowdata[634]
------------
ub1 rowdata[634] @1823 0x2c
BBED> set offset 1823
OFFSET 1823
BBED> dump
File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)
Block: 225 Offsets: 1823 to 1838 Dba:0x00000000
------------------------------------------------------------------------
2c011102 c1150a5f 53595353 4d553230
BBED> modify /x 2c00
File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)
Block: 225 Offsets: 1823 to 1838 Dba:0x00000000
------------------------------------------------------------------------
2c001102 c1150a5f 53595353 4d553230
<32 bytes per line>
BBED> sum apply
Check value for File 0, Block 225:
current = 0x6ec1, required = 0x6ec1
BBED> verify
DBVERIFY - Verification starting
FILE = /oracle/app/oracle/oradata/orcl1123/system01.dbf
BLOCK = 225
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
Message 531 not found; product=RDBMS; facility=BBED
块不在报错。验证通过