bbed的全称是block browser and editor,是Oracle内部用于查看、修改数据块的一款工具。Oracle官方没有对bbed发布任何文档,且不对bbed做任何支持。
在oracle9i/10g中可以顺利通过make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed进行编译,就可以使用了,但是在11g中需要做一些额外的工作,下面是11g编译bbed的过程:
|
[oracle@node11g lib]$ make -f ins_rdbms.mk /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/bbed
Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/bbed
gcc -o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/bbed -m64 -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/11.2.0/dbhome_1/lib/s0main.o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/dbhome_1/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/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/dbhome_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/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/11.2.0/dbhome_1/lib
gcc: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssbbded.o: No such file or directory
gcc: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/sbbdpt.o: No such file or directory
make: *** [/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/bbed] Error 1
|
上面的结果可以看到,缺少两个文件ssbbded.o 和 sbbdpt.o
所以,需要从其他版本中拷贝这两个文件,从10g中拷贝:
|
scp ssbbded.o sbbdpt.o 10.0.60.222:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib |
然后重新编译,成功。
[oracle@node11g lib]$ ll -h bbed
-rwxr-xr-x 1 oracle oinstall 257K Oct 17 18:01 bbed |
再次执行,返回以下错误:
[oracle@node11g lib]$ ./bbed
Message 112 not found; No message file for product=RDBMS, facility=BBED
BBED-00113: file not found |
缺少message文件,我们需要到$ORACLE_HOME/rdbms/mesg目录下,将bbedus.msb拷贝过来即可:
|
[oracle@node1 mesg]$ scp bbedus.msb 10.0.60.222:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/mesg |
可以正常使用了,如下:
[oracle@node11g lib]$ ./bbed
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Mon Oct 17 18:14:00 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
|