oracle dump 命令

renjixinchina發表於2012-07-20

dump 命令

dump命令模仿oracle的”alter system dump datafile”命令,解析並顯示oracle的塊格式。目前支援的塊包括檔案頭(只有部分資訊)、資料段頭、表和索引資料塊,其他的塊只顯示塊頭。這已經足夠大部分情況的使用。ODU的升級版將解析並顯示UNDO的段頭和資料塊。

dump命令用於幫助分析塊格式,在ORACLE不能啟動時(比如在關鍵的資料字典物件上有物理或邏輯壞塊),用於分析塊。dump命令的格式如下:

dump datafile block

這個命令格式與oracle的”alter system dump datafile“類似,這裡的檔案號是絕對檔案號。
下面是幾個示例輸出:

dump檔案頭:

ODU> dump datafile 1 block 1
Block Header:
block type=0×0b (file header)
block format=0×02 (oracle 8 or 9)
block rdba=0×00400001 (file#=1, block#=1)
scn=0×0000.00000000, seq=1, tail=0×00000b01
block checksum value=0xcfe5=53221, flag=4
File Header:
Db Id=0xb0f1f85c=2968647772, Db Name=XJ, Root Dba=0×400341
Software vsn=0×9200000, Compatibility Vsn=0×8000000, File Size=0×1f400=128000 Blocks
File Type=0×3 (data file), File Number=1, Block Size=4096
Tablespace #0 - SYSTEM rel_fn:1
get_bootstrap_dba: compat header size:12
bootstrap rdba 0×004002f1 rfile#=1 block#=753

dump資料段頭:

ODU> dump datafile 10 block 45
Block Header:
block type=0×23 (ASSM segment header block)
block format=0×02 (oracle 8 or 9)
block rdba=0×0280002d (file#=10, block#=45)
scn=0×0000.00209d2c, seq=3, tail=0×9d2c2303
block checksum value=0×7247=29255, flag=4
Data Segment Header:
  Extent Control Header
  -------------------------------------------------------------
  Extent Header:: extents: 1  blocks: 5
                  last map: 0×00000000  #maps: 0  offset: 668
      Highwater:: 0×02800030  (rfile#=10,block#=48)
                  ext#: 0  blk#: 5   ext size:5
      #blocks in seg. hdr’s freelists: 0
      #blocks below: 2
      mapblk: 0×00000000   offset: 0
  --------------------------------------------------------
  Low HighWater Mark :
      Highwater::  0×02800030  ext#: 0      blk#: 5      ext size: 5
  #blocks in seg. hdr’s freelists: 0
  #blocks below: 2
  mapblk  0×00000000  offset: 0
  Level 1 BMB for High HWM block: 0×0280002b
  Level 1 BMB for Low HWM block: 0×0280002b
  --------------------------------------------------------
  Segment Type: 1 nl2: 1      blksz: 2048   fbsz: 0
  L2 Array start offset:  0×00000434
  First Level 3 BMB:  0×00000000
  L2 Hint for inserts:  0×0280002c
  Last Level 1 BMB:  0×0280002b
  Last Level 1I BMB:  0×0280002c
  Last Level 1II BMB:  0×00000000
     Map Header:: next  0×00000000  #extents: 1    obj#: 31208  flag: 0×220000000
  Extent Map
  -------------------------------------------------------------
   0×0280002b  length: 5

  Auxillary Map
  -------------------------------------------------------------
   Extent 0      :  L1 dba:  0×0280002b Data dba:  0×0280002e
  -------------------------------------------------------------

   Second Level Bitmap block DBAs
  -------------------------------------------------------------
   DBA 1:   0×0280002c

dump資料塊:

ODU> dump datafile 10 block 47
Block Header:
block type=0×06 (table/index/cluster segment data block)
block format=0×02 (oracle 8 or 9)
block rdba=0×0280002f (file#=10, block#=47)
scn=0×0000.00209f21, seq=1, tail=0×9f210601
block checksum value=0xc8d=3213, flag=6
Data Block Header Dump:
 Object id on Block? Y
 seg/obj: 0×79e8=31208  csc: 0×00.209d2c  itc: 2  flg: E  typ: 1 (data)
     brn: 0  bdba: 0×280002b ver: 0×01

 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0×01   0×000a.008.000006a4  0×008018c1.00e0.13  --U-    2  fsc 0×0000.00209f21
0×02   0×0000.000.00000000  0×00000000.0000.00  ----    0  fsc 0×0000.00000000
Data Block Dump:
================
flag=0×0 --------
ntab=1
nrow=2
frre=-1
fsbo=0×16
ffeo=0×6e7
avsp=0×6fc
tosp=0×6fc
0xe:pti[0] nrow=2  offs=0
0×12:pri[0]  offs=0×76d
0×14:pri[1]  offs=0×6e7
Block Rows Dump:
tab 0, row 0, @0×76d
fb: --H-FL-- lb: 0×1  cc: 2
col   0: [  2]  c1 02
col   1: [ 36]  00 54 00 01 01 0c 00 00 00 01 00 00 00 01 00 00 00 00 d9 95 00 10 09 00 00 00 00 00 00 00 00 00 00 00 00 00
tab 0, row 1, @0×6e7
fb: --H-FL-- lb: 0×1  cc: 2
col   0: [  2]  c1 03
col   1: [ 84]  00 54 00 01 01 0c 00 00 00 01 00 00 00 01 00 00 00 00 d9 96 00 40 05 00 00 00 03 b6 01 a1 00 00 00 00 00 03 02 80 00 a7 02 80 00 a6 02
 80 00 b1 02 80 00 ae 02 80 00 af 02 80 00 b0 02 80 00 b6 02 80 00 b3 02 80 00 b4 02 80 00 b5 02 80 00 bb 02 80 00 b8

7. osdump命令

osdump命令用16進位制顯示資料檔案中的資料,幫助用於分析塊格式。其命令格式如下:

osdump datafile block [offset ]

這裡的偏移(offset)指的是從塊頭開始的偏移量。
下面是一個示例輸出:

ODU> osdump datafile 10 block 47
                  -0--1--2--3--4--5--6--7--8--9--a--b--c--d--e--f-
0000000000017800   06 02 00 00 2f 00 80 02 21 9f 20 00 00 00 01 06
0000000000017810   8d 0c 00 00 01 00 00 00 e8 79 00 00 2c 9d 20 00
0000000000017820   00 00 00 00 02 00 32 00 2b 00 80 02 0a 00 08 00
0000000000017830   a4 06 00 00 c1 18 80 00 e0 00 13 00 02 20 00 00
0000000000017840   21 9f 20 00 00 00 00 00 00 00 00 00 00 00 00 00
0000000000017850   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000000000017860   00 00 00 00 00 01 02 00 ff ff 16 00 e7 06 fc 06
0000000000017870   fc 06 00 00 02 00 6d 07 e7 06 00 00 a3 00 80 02
0000000000017880   a3 00 80 02 00 00 00 00 00 00 00 00 00 00 00 00
0000000000017890   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000000000178a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000000000178b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000000000178c0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000000000178d0   03 00 00 00 00 08 00 00 01 00 00 00 34 04 00 00
00000000000178e0   00 00 00 00 a4 00 80 02 01 00 00 00 a3 00 80 02
00000000000178f0   a4 00 80 02 00 00 00 00 00 00 00 00 00 00 00 00
0000000000017900   00 00 00 00 00 00 00 00 33 00 00 00 a8 01 80 02
0000000000017910   e4 79 00 00 00 00 00 20 a3 00 80 02 05 00 00 00
0000000000017920   ad 00 80 02 05 00 00 00 b2 00 80 02 05 00 00 00
0000000000017930   b7 00 80 02 05 00 00 00 bc 00 80 02 05 00 00 00
0000000000017940   c1 00 80 02 05 00 00 00 c6 00 80 02 05 00 00 00
0000000000017950   cb 00 80 02 05 00 00 00 d0 00 80 02 05 00 00 00
0000000000017960   d5 00 80 02 05 00 00 00 da 00 80 02 05 00 00 00

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-736169/,如需轉載,請註明出處,否則將追究法律責任。

相關文章