1. 程式人生 > >5 Oracle BBED解析資料塊——BBED基本使用三

5 Oracle BBED解析資料塊——BBED基本使用三

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

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 [email protected]讖".....?.......?.....

 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>

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述