oracle 11g下bbed工具的编译

       bbed是oracle提供数据块查看和编辑工具,在一些特定的场合如ORA-600 【4000】等故障处理的时候起到立竿见影的效果,当然这个工具在默认情况下oracle并没有提供,需要我们手动去编译,另外这个工具在使用的过程中具有很大的风险性,需要对内核数据结构有着深刻的理解,否则出问题oracle公司可是不负责的哦:)

      oracle在10g之前可以很轻松的使用make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed来链接生成bbed工具,但是在11g中,链接使用该工具会有一点点的小麻烦,一下就是我在11g下链接bbed工具的过程,仅供参考

oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/11.2.0/db/rdbms/lib/bbed
gcc -o /u01/app/oracle/product/11.2.0/db/rdbms/lib/bbed -m64 -L/u01/app/oracle/product/11.2.0/db/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/db/lib/ -L/u01/app/oracle/product/11.2.0/db/lib/stubs/  /u01/app/oracle/product/11.2.0/db/lib/s0main.o /u01/app/oracle/product/11.2.0/db/rdbms/lib/ssbbded.o /u01/app/oracle/product/11.2.0/db/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh  `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -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/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db/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/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/db/lib -lm    `cat /u01/app/oracle/product/11.2.0/db/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/11.2.0/db/lib
gcc: /u01/app/oracle/product/11.2.0/db/rdbms/lib/ssbbded.o: No such file or directory
gcc: /u01/app/oracle/product/11.2.0/db/rdbms/lib/sbbdpt.o: No such file or directory
make: *** [/u01/app/oracle/product/11.2.0/db/rdbms/lib/bbed] Error 1

会发现有两个链接库无法找到,需要在从同类型的其他版本的数据库拷贝过来

oracle@ocm1:/home/oracle/product/10gr2/db/rdbms/lib$ scp *bb* oracle@10.40.4.50:/home/oracle
The authenticity of host '10.40.4.50 (10.40.4.50)' can't be established.
RSA key fingerprint is 94:8f:e8:76:4d:ad:ee:fe:8b:59:96:4f:5e:da:5e:1d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.40.4.50' (RSA) to the list of known hosts.
oracle@10.XX.X.YY's password:
sbbdpt.o                                                                                          100% 1863     1.8KB/s   00:00   
ssbbded.o                                                                                         100% 1191     1.2KB/s   00:00   

oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ cd
oracle@ocp11g:/home/oracle$ ls
Desktop  orabak  oradata  oradiag_oracle  oraInventory  sbbdpt.o  ssbbded.o
oracle@ocp11g:/home/oracle$ cp *bb* $ORACLE_HOME/rdbms/lib
oracle@ocp11g:/home/oracle$
oracle@ocp11g:/home/oracle$
oracle@ocp11g:/home/oracle$ cd $ORACLE_HOME/rdbms/lib
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/11.2.0/db/rdbms/lib/bbed
gcc -o /u01/app/oracle/product/11.2.0/db/rdbms/lib/bbed -m64 -L/u01/app/oracle/product/11.2.0/db/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/db/lib/ -L/u01/app/oracle/product/11.2.0/db/lib/stubs/  /u01/app/oracle/product/11.2.0/db/lib/s0main.o /u01/app/oracle/product/11.2.0/db/rdbms/lib/ssbbded.o /u01/app/oracle/product/11.2.0/db/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh  `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -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/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db/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/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/db/lib -lm    `cat /u01/app/oracle/product/11.2.0/db/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/11.2.0/db/lib
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ ls -l bbed
-rwxr-xr-x 1 oracle dba 255396 Dec  5 20:37 bbed
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ cp bbed $ORACLE_HOME/bin
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/rdbms/lib$ cd $ORACLE_HOME/bin
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/bin$ ls -l bbed
-rwxr-xr-x 1 oracle dba 255396 Dec  5 20:38 bbed

 

这样可以正常生成bbed文件,但是使用的时候会有如下的错误

oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/bin$ bbed
Message 112 not found; No message file for product=RDBMS, facility=BBED
BBED-00113: file not found

 

需要将相应的messge文件也一并拷贝过来

oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/bin$ scp oracle@10.XX.X.YY:/home/oracle/product/10gr2/db/rdbms/mesg/bbedus.msb ~

bbedus.msb                                                                                        100% 8704     8.5KB/s   00:00   
oracle@ocp11g:/u01/app/oracle/product/11.2.0/db/bin$ cd
oracle@ocp11g:/home/oracle$ ls
bbedus.msb  Desktop  orabak  oradata  oradiag_oracle  oraInventory  sbbdpt.o  ssbbded.o
oracle@ocp11g:/home/oracle$ mv bbedus.msb /u01/app/oracle/product/11.2.0/db/rdbms/mesg/
oracle@ocp11g:/home/oracle$
oracle@ocp11g:/home/oracle$
oracle@ocp11g:/home/oracle$ bbed
Password:

BBED: Release 2.0.0.0.0 - Limited Production on Sun Dec 5 20:40:29 2010

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

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

BBED>
BBED>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25037908/viewspace-680941/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25037908/viewspace-680941/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值