记录下BBED的安装--ORACLE 11.2.0.4下

1.在ORACLE 11G下安装BBED,需要从ORACLE 10G中复制三个包

bbedus.msb              


sbbdpt.o                


ssbbded.o  


使用ORACLE上传到/home/oracle,并将三个文件移到$ORACLE_HOME/rdbms/lib/ 目录下。


[oracle@bys3 ~]$ ls


linux_10g_bbed_32.zip


[oracle@bys3 ~]$ unzip linux_10g_bbed_32.zip


[oracle@bys3 ~]$ mv sbbdpt.o $ORACLE_HOME/rdbms/lib/


[oracle@bys3 ~]$ mv ssbbded.o $ORACLE_HOME/rdbms/lib/


[oracle@bys3 ~]$ mv bbedus.msb $ORACLE_HOME/rdbms/mesg/


执行如下命令:


[oracle@bys3 ~]$ cd $ORACLE_HOME/rdbms/lib


[oracle@bys3 lib]$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed


附一个报错:-

-如未安装 mv bbedus.msb $ORACLE_HOME/rdbms/mesg/ 报错如下:

[oracle@bys3 lib]$

bbed   

Message 112 not found; No message file for product=RDBMS, facility=BBED

BBED-00113: file not found


安装成功登陆如下:


[oracle@bys3 ~]$ bbed


Password:            默认密码是:blockedit


BBED: Release 2.0.0.0.0 - Limited Production on Thu Nov 21 12:09:15 2013


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


************* !!! For Oracle Internal Use only !!! ***************


BBED> exit


#############################################


2、BBED简单使用方法-

bbed


blockedit



进入BBED及初始设置如下:


[oracle@bys3 ~]$

cat par.bbd


blocksize=8192


listfile=bbedfile.txt


mode=edit


[oracle@bys3 ~]$

cat bbedfile.txt   --可以通过select file#,name from v$dbfile;  select file#,name from v$datafile;


1       /u01/oradata/bys3/system01.dbf  524288000


2       /u01/oradata/bys3/sysaux01.dbf  340787200


3       /u01/oradata/bys3/undotbs01.dbf 209715200


4       /u01/oradata/bys3/user01.dbf    52428800


[oracle@bys3 ~]$ bbed parfile=par.bbd


Password:    --输入默认密码  blockedit


BBED: Release 2.0.0.0.0 - Limited Production on Thu Nov 28 10:14:54 2013


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


************* !!! For Oracle Internal Use only !!! ***************


BBED> show all       

---这命令显示了当前的文件号、BLOCK号,偏移号、COUNT数等信息。需要提前SET FILE SET BLOCKSIZE SET BLOCK等


        FILE#           1


        BLOCK#          1


        OFFSET          0


    

    DBA             0x00400001 (4194305 1,1)             -------

表示的是当前的FILE 1的BLOCK 1

        FILENAME        /u01/oradata/bys3/system01.dbf


        BIFILE          bifile.bbd


        LISTFILE        bbedfile.txt


        BLOCKSIZE       8192


        MODE            Edit


        EDIT            Unrecoverable


        IBASE           Dec


        OBASE           Dec


        WIDTH           80


     

   COUNT           512


        LOGFILE         log.bbd


        SPOOL           No



3、BBED常用命令:set、 find、 dump、 modify 、sum apply、examine、map 、print、 verity  

 (1)set file 4 block 32       --这里set file 4的前提是使用了如第2步中的参数文件,如果set 一个不存在的file号,BBED> set file 7    /

BBED-00205: illegal or out of range DBA (File 7, Block 1)


    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进制翻译成我们能看懂的文件