暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

bbed安装及配置

原创 张成达-听雪楼主 2020-02-11
2787

bbed安装及配置

  1. 什么是bbed ?
    Oracle Block Brower and EDitor Tool,是一个可以对oracle data block进行查看,编辑修改的内置工具。
    对于bbed,oracle本身是不提供支持的.

  2. 如何编译bbed环境?
    10g版本:

  1. 编译bbed
    cd $ORACLE_HOME/rdbms/lib

make -f ORACLEHOME/rdbms/lib/insrdbms.mkBBED=ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

  1. 修改环境变量
      将ORACLE_HOME/rdbms/lib 加入到PATH变量中,如下:   PATH=ORACLE_HOME/bin:$PATH:/home/ora10g/product/10.2/rdbms/lib; export PATH

11g以及12c及19c版本:(本人测试环境为11g/12c/19c)
将bbed编译安装需要的一下4个包上传到/home/oracle/bbed目录下
ssbbded.o
sbbdpt.o
bbedus.msb
bbedus.msg

  1. copy /home/oracle/bbed目录下的包到对应的环境目录:

cp /home/oracle/bbed/.o $ORACLE_BASE/product/11.2.0/db_1/rdbms/lib
cp /home/oracle/bbed/bbedus
$ORACLE_BASE/product/11.2.0/db_1/rdbms/mesg

cp /home/oracle/bbed/.o $ORACLE_BASE/product/12.2.0/db_1/rdbms/lib
cp /home/oracle/bbed/bbedus
$ORACLE_BASE/product/12.2.0/db_1/rdbms/mesg

cp /home/oracle/bbed/.o $ORACLE_BASE/product/19.3.0/db_1/rdbms/lib
cp /home/oracle/bbed/bbedus
$ORACLE_BASE/product/19.3.0/db_1/rdbms/mesg

cp /home/oracle/bbed/.o $ORACLE_HOME/rdbms/lib
cp /home/oracle/bbed/bbedus
$ORACLE_HOME/rdbms/mesg

cd $ORACLE_BASE/product/12.2.0/db_1/rdbms/lib
rm -rf ssbbded.o
rm -rf sbbdpt.o
cd $ORACLE_BASE/product/12.2.0/db_1/rdbms/mesg
rm -rf bbedus.msb
rm -rf bbedus.msg

cd $ORACLE_BASE/product/19.3.0/db_1/rdbms/lib
rm -rf ssbbded.o
rm -rf sbbdpt.o
cd $ORACLE_BASE/product/19.3.0/db_1/rdbms/mesg
rm -rf bbedus.msb
rm -rf bbedus.msg

  1. 编译bbed
    cd $ORACLE_HOME/rdbms/lib

make -f ORACLEHOME/rdbms/lib/insrdbms.mkBBED=ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

密码是:blockedit

报错:
[oracle@deep lib]$ make -f ORACLEHOME/rdbms/lib/insrdbms.mkBBED=ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/11.2.0/db_1/bin/bbed
gcc -o /u01/app/oracle/product/11.2.0/db_1/bin/bbed -m64 -z noexecstack -L/u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/stubs/  /u01/app/oracle/product/11.2.0/db_1/lib/s0main.o /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/sbbdpt.o cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh  cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11   cat /u01/app/oracle/product/11.2.0/db_1/lib/sysliblist -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -lm    cat /u01/app/oracle/product/11.2.0/db_1/lib/sysliblist -ldl -lm   -L/u01/app/oracle/product/11.2.0/db_1/lib
/u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ssbbded.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [/u01/app/oracle/product/11.2.0/db_1/bin/bbed] Error 1

原因:
是由于使用的bbed需要的包为32位,需要从64位环境拷贝相关包

编译成功:
[oracle@deep ~]$ make -f ORACLEHOME/rdbms/lib/insrdbms.mkBBED=ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/12.2.0/db_1/bin/bbed
/u01/app/oracle/product/12.2.0/db_1/bin/orald -o /u01/app/oracle/product/12.2.0/db_1/bin/bbed -m64 -z noexecstack -Wl,–disable-new-dtags -L/u01/app/oracle/product/12.2.0/db_1/rdbms/lib/ -L/u01/app/oracle/product/12.2.0/db_1/lib/ -L/u01/app/oracle/product/12.2.0/db_1/lib/stubs/  /u01/app/oracle/product/12.2.0/db_1/lib/s0main.o /u01/app/oracle/product/12.2.0/db_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/12.2.0/db_1/rdbms/lib/sbbdpt.o cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -ldbtools12 -lclntsh -lclntshcore  cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnro12 cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnnz12 -lzt12 -lztkg12 -lztkg12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12 -lmm -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnro12 cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12   -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12   cat /u01/app/oracle/product/12.2.0/db_1/lib/sysliblist -Wl,-rpath,/u01/app/oracle/product/12.2.0/db_1/lib -lm    cat /u01/app/oracle/product/12.2.0/db_1/lib/sysliblist -ldl -lm   -L/u01/app/oracle/product/12.2.0/db_1/lib

  1. 如何配置bbed?
  1. 准备par文件

par.bbed(文件名可自定义):

blocksize=8192           —指定block size大小                                          
listfile=/home/oracle/bbed/bbedfile.txt    —指定文件名 
logfile=/home/oracle/bbed/log.bbd          ----制定记录的日志文件及位置     
mode=edit                —指定操作模式(分edit和view两种)                      
spool=yes                —是否记录bbed的操作日志

  1. 准备listfile.txt文件

listfile.txt(文件名可自定义):

8 /u01/app/oracle/oradata/DEEP/deep1/system01.dbf 272629760
9 /u01/app/oracle/oradata/DEEP/deep1/sysaux01.dbf 319815680
10 /u01/app/oracle/oradata/DEEP/deep1/undotbs01.dbf 550502400
11 /u01/app/oracle/oradata/DEEP/deep1/users01.dbf 5242880
12 /u01/app/oracle/oradata/DEEP/deep1/deep.dbf 209715200

说明:
1) 第1列,为文件号,可以人为定义。
2) 第2列,需要使用bbed操作的文件名(全路径)。
3) 第3列,文件大小,可不写。

3)登陆验证
为了登陆方便,在环境变量中设置别名
alias bbed=“bbed parfile=/home/oracle/bbed/par.bbd”

[oracle@deep ~]$ bbed
BBED> show
        FILE#           8
        BLOCK#          1
        OFFSET          0
        DBA             0x02000001 (33554433 8,1)
        FILENAME        /u01/app/oracle/oradata/DEEP/deep1/system01.dbf
        BIFILE          bifile.bbd
        LISTFILE        /home/oracle/bbed/bbedfile.txt
        BLOCKSIZE       8192
        MODE            Edit
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           80
        COUNT           512
        LOGFILE         /home/oracle/bbed/log.bbd
        SPOOL           Yes

BBED> info
File#  Name                                                        Size(blks)
-----  ----                                                        ----------
     8  /u01/app/oracle/oradata/DEEP/deep1/system01.dbf                  33280
     9  /u01/app/oracle/oradata/DEEP/deep1/sysaux01.dbf                  39040
    10  /u01/app/oracle/oradata/DEEP/deep1/undotbs01.dbf                 67200
    11  /u01/app/oracle/oradata/DEEP/deep1/users01.dbf                     640
    12  /u01/app/oracle/oradata/DEEP/deep1/deep.dbf                      25600

至此,bbed的编译安装及配置已经完成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论