当前位置: 首页 > BBED > 正文

下面是来至其它实验中的一部分,关于verify验证块中,报错

4,bbed修改块的相关的内容

欢迎大家加入ORACLE超级群:17115662 免费解决各种ORACLE问题,以后BLOG将迁移到http://www.htz.pw

 

其实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)

      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

 

常见坏块分类,dbv报错代码:6101:等您坐沙发呢!

发表评论

gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen

快捷键:Ctrl+Enter