Oracle11g bbed install and example

来源:互联网 发布:java bigdecimal 加1 编辑:程序博客网 时间:2024/05/21 22:52

1. BBED的安装

oracle 11g中缺少bbed包,上传拷贝sbbdpt.o ssbbded.o bbedus.msb这三个文件到指定的目录

$ORACLE_HOME/rdbms/lib/ssbbded.o$ORACLE_HOME/rdbms/lib/sbbdpt.o$ORACLE_HOME/rdbms/mesg/bbedus.msb
执行如下命令:

cd $ORACLE_HOME/rdbms/libmake -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed
2. 编辑配置文件

$vi filelist.txtselect 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
$vi par.txtblocksize=8192listfile=filelist.txtmode=edit

3. 进入bbed

bbed parfile=par.txtblockedit

4. 常用命令

参考:http://blog.csdn.net/tianlesoftware/article/details/5006580

--查看当前的环境参数,类似于sqlplus的同名命令

BBED> show all        FILE#           1        BLOCK#          1        OFFSET          0        DBA             0x00400001 (4194305 1,1)        FILENAME        /u01/app/oracle/oradata/orcl/system01.dbf        BIFILE          bifile.bbd        LISTFILE        filelist.txt        BLOCKSIZE       8192        MODE            Edit        EDIT            Unrecoverable        IBASE           Dec        OBASE           Dec        WIDTH           80        COUNT           512        LOGFILE         log.bbd        SPOOL           No
--set 设定当前的环境

BBED> set file 1 block 289        FILE#           1        BLOCK#          289
--dump 列出指定block的内容

   dump /v --查看16进制内容的同时以文本方式'翻译'十六进制显示的内容,相当于对当前block执行strings命令

BBED> dump File: /u01/app/oracle/oradata/orcl/system01.dbf (1) Block: 289              Offsets:    0 to  511           Dba:0x00400121------------------------------------------------------------------------ 06a20000 21014000 2bc50b00 00000106 29e40000 01000000 1c000000 2ac50b00  00000000 02000200 00000000 05000800 5d010000 8900c000 cf004100 00800000 
--find 在指定的block中查找指定的字符串,结果显示出字符串,及其偏移量-offset,偏移量为在block中的字节数

find /x 05d67g

f 为find的简写,表示继续从当前位置开始往下查询字符串的05d67g

--modify /x d43 offset=484 --修改指定block,指定offset的数据块内记录的内容

--sum apply 计算出block的checksum,modify之后block就被标识位坏块,current checksum与required checksum不一致,sum命令可以计算出新额checksdum并应用到当前块。

--undo 回滚之前的修改操作,如果修改错了,undo一下就ok了

--revert 回滚所有之前的修改操作,即undo all





0 0
原创粉丝点击