4.Oracle BBED解析数据块——BBED基本使用二
欢迎转载,转载请标明出处: http://blog.csdn.net/notbaron/article/details/50572020
Map命令显示当前块的映射。和/v选项使用来产生更多的输出。
Map显示块的偏移,以确定信息。例如块头,数据块头或行目录。
如果命令不是指定当前块,而是检查其他块,那么焦点继续保持在当前块。
如下:
BBED> map /v dba 13,1
File: /oradata/tpcc1.dbf (13)
Block: 1 Dba:0x03400001
------------------------------------------------------------
Data File Header
struct kcvfh, 1112 bytes @0
struct kcvfhbfh, 20 bytes @0
struct kcvfhhdr, 76 bytes @20
ub4 kcvfhrdb @96
struct kcvfhcrs, 8 bytes @100
ub4 kcvfhcrt @108
ub4 kcvfhrlc @112
struct kcvfhrls, 8 bytes @116
ub4 kcvfhbti @124
struct kcvfhbsc, 8 bytes @128
ub2 kcvfhbth @136
ub2 kcvfhsta @138
struct kcvfhckp, 36 bytes @484
ub4 kcvfhcpc @140
ub4 kcvfhrts @144
ub4 kcvfhccc @148
struct kcvfhbcp, 36 bytes @152
ub4 kcvfhbhz @312
struct kcvfhxcd, 16 bytes @316
sword kcvfhtsn @332
ub2 kcvfhtln @336
text kcvfhtnm[30] @338
ub4 kcvfhrfn @368
struct kcvfhrfs, 8 bytes @372
ub4 kcvfhrft @380
struct kcvfhafs, 8 bytes @384
ub4 kcvfhbbc @392
ub4 kcvfhncb @396
ub4 kcvfhmcb @400
ub4 kcvfhlcb @404
ub4 kcvfhbcs @408
ub2 kcvfhofb @412
ub2 kcvfhnfb @414
ub4 kcvfhprc @416
struct kcvfhprs, 8 bytes @420
struct kcvfhprfs, 8 bytes @428
ub4 kcvfhtrt @444
ub4tailchk @8188
通过MAP命令,可以设置偏移到要检查和修改的数据地方
不同的块通过块的第一个字节确定,每个块类型(Oracle 8版本)如下:
01 Undo segment header
02 Undo data block
03 Save undo header
04 Save undo data block
05 Data segment header(temp,index,data andso on)
06 KTB managed data block(with ITL)
07 Temp table data block (no ITL)
08 Sort Key
09 Sort Run
10 Segment free list block
11 Data file header
最后4个字节是尾部检查。
尾部检查:
ORACLE8+ 块的尾部是SCN 基数和块类型 和SCN序列号的组合。
存储的时候和大小端相关。