一、BBED工具
1.BBED的安装
oracle 11g中缺bbed包,oracle11g bbed install and example
1.上传(sbbdpt.o ssbbded.o bbedus.msb,该三个文件拷贝oracle的linux64版本的)文件
$ORACLE_HOME/rdbms/lib/ssbbded.o
$ORACLE_HOME/rdbms/lib/sbbdpt.o
$ORACLE_HOME/rdbms/mesg/bbedus.msb
执行如下命令:
cd $ORACLE_HOME/rdbms/lib
make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed
2.进入BBED
bbed
blockedit
$vi par.txt
blocksize=8192
listfile=filelist.txt
mode=edit
$vi filelist.txt
select file#||chr(9)||name||chr(9)||bytes from v$datafile;
1 /u01/app/oracle/oradata/ocp/system01.dbf 512000000
2 /u01/app/oracle/oradata/ocp/sysaux01.dbf 412000000
3 /u01/app/oracle/oradata/ocp/users01.dbf 215000000
bbed parfile=par.txt
blockedit
3.常用命令:set、 find、 dump、 modify 、sum apply、examine、map 、print、 verity
(1)set file 3 block 32
set dba 0x01000020
set offset 0 --0表示第一个字节开始
set block 1 --1表示第一个块开始
set count 8192 --默认是显示512字节
(2)find /x 05d67g --查指定的字符串在指定数据块中的具体位置
f --find的简写,表示继续从当前位置开始往下查询字符串05d67g
(3)dump --十六进制查看block
dump /v --查看十六进制内容的同时以文本方式“翻译”十六进制显示的内容,相当于对当前block执行strings命令
(4)modify /x d43 --修改指定block,指定offset的数据块块内记录的内容
(5)sum apply --计算修改后的数据块的checksum值,然后写入数据块的offset为16-17的位置
(6) map
map /v
p kcbh
p ktbbh
p kdbh
p kdbt
p kcvfh
p kcvfh.kcvfhrfn
p kcvfh.kcvfhckp
p *kdbr[0] --第一行记录
x /rnc -examine /read number char 用16进制翻译成我们能看懂的文件