5.Oracle BBED解析数据块——BBED基本使用三

5.Oracle BBED解析数据块——BBED基本使用三

欢迎转载,转载请标明出处:      http://blog.csdn.net/notbaron/article/details/50572024

  Dump命令将块的内存DUMP到屏幕上。可以配合/v参数来产生更多的输出。

         Dump的DBA,FILENAME,FILE,BLOCK,OFFSET可以再命令中设置。

         如果没有指定,当前文件,块和OFFSET会被DUMP。 DUMP的大小收到set count的限制。

         例如DUMP 文件13,块号12,偏移0 ,如下:

BBED> dump /v dba 13,12 offset 0 count128

 File: /oradata/tpcc1.dbf (13)

 Block: 12                                Offsets:    0 to 127                           Dba:0x0340000c

-----------------------------------------------------------------------------------------------------------

 1ea20000 0c004003 dadf2200 00000104 b88300000d000000 80c04500 00000000 l .?...@.谶".....?.......?.....

 00000000 00f80000 00000000 00000000 0000000000000000 00000000 00000000 l ...............................

 00000000 00000000 00000000 00000000 0000000000000000 00000000 00000000 l ................................

 00000000 00000000 00000000 00000000 0000000000000000 00000000 00000000 l ................................

 

 <32 bytes per line>

 

此外可以通过print命令输出数据结构。

例如:

BBED> set dba 13,12           

         DBA            0x0340000c(54525964 13,12)

 

BBED> setoffset 0

         OFFSET            0

 

BBED> p

BBED-00400: invalid blocktype (30)

        此处报块不能被BBED查看。

如下即可:

BBED> set dba 13,3276

         DBA            0x03400ccc(54529228 13,3276)

 

BBED> set offset 0

         OFFSET            0

 

BBED> p

kcbh.type_kcbh

--------------

ub1 type_kcbh                               @0        0x06

可以通过指定名字来输出不可再分的数据结构如下,输出数据块头。

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        0x03400ccc

  ub4 bas_kcbh                            @8        0x0024c46f

  ub2 wrp_kcbh                            @12       0x0000

  ub1 seq_kcbh                            @14       0x01

  ub1 flg_kcbh                            @15       0x06 (KCBHFDLC,KCBHFCKV)

  ub2 chkval_kcbh                          @16       0x2663

  ub2 spare3_kcbh                         @18       0x0000

如果想确定块中的行数量,可以打印数据头接口或kdbh

BBED> p kdbh

struct kdbh, 14 bytes                       @100    

  ub1 kdbhflag                            @100      0x00 (NONE)

   sb1kdbhntab                            @101      1

   sb2 kdbhnrow                             @102      23

  sb2 kdbhfrre                            @104     -1

  sb2 kdbhfsbo                            @106      64

  sb2 kdbhfseo                             @108      679

  sb2 kdbhavsp                            @110      927

  sb2 kdbhtosp                            @112      927

也可以指定数据结构的元素,如下:

BBED> p kdbhnrow

sb2 kdbhnrow                                @102      23

此外,可以通过kdbr数据结构来显示块的行信息,如下:

BBED> p kdbr

sb2 kdbr[0]                                 @118      6864

sb2 kdbr[1]                                 @120      7163

sb2 kdbr[2]                                 @122      7465

sb2 kdbr[3]                                 @124      7776

sb2 kdbr[4]                                 @126      992

sb2 kdbr[5]                                 @128      1293

sb2 kdbr[6]                                 @130      1611

sb2 kdbr[7]                                 @132      1924

sb2 kdbr[8]                                 @134      2241

sb2 kdbr[9]                                 @136      2544

sb2 kdbr[10]                                @138      2848

sb2 kdbr[11]                                @140      3160

sb2 kdbr[12]                                @142      3468

sb2 kdbr[13]                                @144      3775

sb2 kdbr[14]                                @146      4090

sb2 kdbr[15]                                @148      4395

sb2 kdbr[16]                                @150      679

sb2 kdbr[17]                                @152      5013

sb2 kdbr[18]                                @154      5324

sb2 kdbr[19]                                @156      5640

sb2 kdbr[20]                                @158      5943

sb2 kdbr[21]                                @160      6247

sb2 kdbr[22]                                @162      6565

然后打印行信息如下:

BBED> p *kdbr[0]

rowdata[6185]

-------------

ub1 rowdata[6185]                           @6964     0x2c

表示行从偏移8159开始。

DUMP一下看看:

BBED> d /v dba 13,3276 offset 6964 count 16

 File: /oradata/tpcc1.dbf (13)

 Block: 3276                              Offsets: 6964 to6979                           Dba:0x03400ccc

-----------------------------------------------------------------------------------------------------------

 2c001102 c10204c3 05090402 c1140180                                     l,...?.?...?..

 

 <32 bytes per line>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值