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/