设为首页 加入收藏

TOP

【Oracle】使用bbed恢复update的数据(二)
2015-07-24 12:15:13 来源: 作者: 【 】 浏览:129
Tags:Oracle 使用 bbed 恢复 update 数据
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

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORA-07445[mdagun_iter+957]WhenU.. 下一篇Oracle中的包的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: