oracle dbv验证,【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法...

【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法

时间:2016-10-25 10:40   来源:Oracle研究中心   作者:HTZ   点击:

天萃荷净

Oracle研究中心案例分析:运维DBA反映在处理Oracle数据库坏块时使用verify验证块报错4,dbv报错代码:6101解决办法。

bbed修改块的相关的内容

其实bbed只需要改2个地址,一个地方是改itl中的flg,更改为提交,另一个地方是清除行中的itl的值

BBED> p ktbbh

struct ktbbh, 96 bytes @20

ub1 ktbbhtyp @20 0x01 (KDDBTDATA)

union ktbbhsid, 4 bytes @24

ub4 ktbbhsg1 @24 0x00012906

ub4 ktbbhod1 @24 0x00012906

struct ktbbhcsc, 8 bytes @28

ub4 kscnbas @28 0x0024e77c

ub2 kscnwrp @32 0x0000

sb2 ktbbhict @36 3

ub1 ktbbhflg @38 0x32 (NONE)

ub1 ktbbhfsl @39 0x00

ub4 ktbbhfnx @40 0x01001930

struct ktbbhitl[0], 24 bytes @44

struct ktbitxid, 8 bytes @44

ub2 kxidusn @44 0xffff

ub2 kxidslt @46 0x0000

ub4 kxidsqn @48 0x00000000

struct ktbituba, 8 bytes @52

ub4 kubadba @52 0x00000000

ub2 kubaseq @56 0x0000

ub1 kubarec @58 0x00

ub2 ktbitflg @60 0x8000 (KTBFCOM)http://www.oracleplus.net

union _ktbitun, 2 bytes @62

sb2 _ktbitfsc @62 0

ub2 _ktbitwrp @62 0x0000

ub4 ktbitbas @64 0x0024e747

struct ktbbhitl[1], 24 bytes @68

struct ktbitxid, 8 bytes @68

ub2 kxidusn @68 0x000d

ub2 kxidslt @70 0x0003

ub4 kxidsqn @72 0x000000d7

struct ktbituba, 8 bytes @76

ub4 kubadba @76 0x0140026c

ub2 kubaseq @80 0x0202

ub1 kubarec @82 0x04

ub2 ktbitflg @84 0x0001 (NONE)

union _ktbitun, 2 bytes @86

sb2 _ktbitfsc @86 0

ub2 _ktbitwrp @86 0x0000

ub4 ktbitbas @88 0x00000000

BBED> set mode edit

MODE Edit

BBED> set count 16

COUNT 16

这里有一点需要注意的是,测试平台是X86的,如果是小机需要注意了,有一点不一样的地方,不需要高低位转换

BBED> modify /x 0080 offset 84

Warning: contents of previous BIFILE will be lost. Proceed (Y/N) y

File: /oracle/app/oracle/oradata/orcl1123/users01.dbf (0)

Block: 6451 Offsets: 84 to 99 Dba:0x00000000

————————————————————————

00800000 00000000 00000000 00000000

<32 bytes per line>

BBED> p ktbbh.ktbbhitl[1]

struct ktbbhitl[1], 24 bytes @68

struct ktbitxid, 8 bytes @68

ub2 kxidusn @68 0x000d

ub2 kxidslt @70 0x0003

ub4 kxidsqn @72 0x000000d7

struct ktbituba, 8 bytes @76

ub4 kubadba @76 0x0140026c

ub2 kubaseq @80 0x0202

ub1 kubarec @82 0x04

ub2 ktbitflg @84 0x8000 (KTBFCOM)

union _ktbitun, 2 bytes @86

sb2 _ktbitfsc @86 0

ub2 _ktbitwrp @86 0x0000

ub4 ktbitbas @88 0x00000000

这里可以看到,下面报了行为的itl值有问题

BBED> verify

DBVERIFY – Verification starting

FILE = /oracle/app/oracle/oradata/orcl1123/users01.dbf

BLOCK = 6451

Block Checking: DBA = 16783667, Block Type = KTB-managed data block

data header at 0x2a98b8727c

kdbchk: row locked by non-existent transaction

table=0 slot=0

lockid=2 ktbbhitc=3

Block 6451 failed with check code 6101

这里报错的原因很简单,就是因为行上面有一个锁,但是在ITL中没有找到相应的记录,一般会出现,手动提交事务的时候,table=0代表块中第1个表,slot=0代表表中第一行的记录,lockid=2代表ITL中第2条记录,这里我们只需要将行的lck清空就可以了。

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

BBED> p *kdbr[0]

rowdata[0]

———-

ub1 rowdata[0] @8023 0x2c

BBED> set offset 8023

OFFSET 8023

BBED> dump

File: /oracle/app/oracle/oradata/orcl1123/users01.dbf (0)

Block: 6451 Offsets: 8023 to 8038 Dba:0x00000000

————————————————————————

2c020e0e 4855414e 4754494e 475a484f

<32 bytes per line>

BBED> modify /x 2c00

File: /oracle/app/oracle/oradata/orcl1123/users01.dbf (0)

Block: 6451 Offsets: 8023 to 8038 Dba:0x00000000

————————————————————————

2c000e0e 4855414e 4754494e 475a484f

<32 bytes per line>

BBED> sum apply

Check value for File 0, Block 6451:

current = 0xbebc, required = 0xbebc

下面再也没有报错了

BBED> verify

DBVERIFY – Verification starting

FILE = /oracle/app/oracle/oradata/orcl1123/users01.dbf

BLOCK = 6451

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

本文固定链接: http://www.htz.pw/2014/06/26/%e5%b8%b8%e8%a7%81%e5%9d%8f%e5%9d%97%e7%b1%bb%e5%9e%8b%ef%bc%8cdbv%e6%8a%a5%e9%94%99%e4%bb%a3%e7%a0%81%ef%bc%9a6101.html | 认真就输

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法

9bd101509341196819122f36086c9a60.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值