使用bbed编辑研究oracle数据块结构(七)

2014-11-24 08:53:37 · 作者: · 浏览: 3
----------------------------- 6e6e6e07 78720a07 0e14012c 000202c1 02036e6e 6e2c0002 02c10301 622c0002 02c10201 61010694 51 <32 bytes per line> BBED> f File: /home/app/oraten/oradata/oraten/tbs101.dbf (5) Block: 20 Offsets: 8152 to 8191 Dba:0x01400014 ------------------------------------------------------------------------ 6e6e0778 720a070e 14012c00 0202c102 036e6e6e 2c000202 c1030162 2c000202 c1020161 01069451 <32 bytes per line> BBED> f File: /home/app/oraten/oradata/oraten/tbs101.dbf (5) Block: 20 Offsets: 8153 to 8191 Dba:0x01400014 ------------------------------------------------------------------------ 6e077872 0a070e14 012c0002 02c10203 6e6e6e2c 000202c1 0301622c 000202c1 02016101 069451 <32 bytes per line> Copy
数据块拷贝命令,注意:使用该命令会使bifile被清空。
BBED> copy dba 1,16 to dba 3,11

Modify
编辑命令,使用方式于find命令相似,不再重复

Assign
Assign命令用来为数据结构赋值,使用方法如下:
BBED> help assign
ASSIGN[/x|d|u|o] =
 : [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
 : [ value |  ]
使用过程中,我们可以省略源或者目标,省略部分被当前offset所在的数据结构代替。在使用assign命令时,虽然我们可以指定offset,但实际上被赋值的是offset所在位置的数据结构,如:
BBED> print kcbh
struct kcbh, 20 bytes                       @0       
   ub1 type_kcbh                            @0        0x06
   ub1 frmt_kcbh                            @1        0x02
   ub1 spare1_kcbh                          @2        0x00
   ub1 spare2_kcbh                          @3        0x00
   ub4 rdba_kcbh                            @4        0x01400014
   ub4 bas_kcbh                             @8        0x00075194
   ub2 wrp_kcbh                             @12       0x0000
   ub1 seq_kcbh                             @14       0x01
   ub1 flg_kcbh                             @15       0x06 (KCBHFDLC, KCBHFCKV)
   ub2 chkval_kcbh                          @16       0xae67
   ub2 spare3_kcbh                          @18       0x0000


BBED> assign 9=1
ub4 bas_kcbh                                @8        0x00000001


BBED> print  kcbh
struct kcbh, 20 bytes                       @0       
   ub1 type_kcbh                            @0        0x06
   ub1 frmt_kcbh                            @1        0x02
   ub1 spare1_kcbh                          @2        0x00
   ub1 spare2_kcbh                          @3        0x00
   ub4 rdba_kcbh                            @4        0x01400014
   ub4 bas_kcbh                             @8        0x00000001
   ub2 wrp_kcbh                             @12       0x0000
   ub1 seq_kcbh                             @14       0x01
   ub1 flg_kcbh                             @15       0x06 (KCBHFDLC, KCBHFCKV)
   ub2 chkval_kcbh                          @16       0xae67
   ub2 spare3_kcbh                          @18       0x0000


BBED> assign 9=0x00075194
ub4 bas_kcbh                                @8        0x00075194
Sum
Sum命令被用来检测和设置数据块的校验值,
BBED> help sum
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]

Revert
Revert命令用来将数据文件恢复到bbed刚打开时的状态。

Undo
Undo命令用来撤销上次的编辑操作,如果再次undo又会重做上次的编辑。

Verify
用来对数据块的完整性进行验证,类似dbv工具。

Corrupt
用来标示数据块为物理损坏