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