BBED编译

阅读更多

 

 

BBED编译的时候需要使用到sbbdpt.o和ssbbded.o两个库文件,但是从11g开始,Oracle不再提供这两个库文件,但是可以使用10g版本中的这两个库文件在11g中编译生成BBED工具。

看了一篇博客,写的很清晰,

[root@MHAD1 database]# for jar in $(find . -type f -name "*.jar"|grep rdbms);do
> /soft/product/10.2.0.5/dbh/jdk/bin/jar -tvf $jar | grep sbbd && echo $jar
> done
  3043 Thu Sep 08 03:43:08 CST 2005 rdbms/lib32/sbbdpt.o
  2721 Thu Sep 08 03:43:08 CST 2005 rdbms/lib32/ssbbded.o
./stage/Components/oracle.rdbms.hybrid/10.2.0.1.0/1/DataFiles/filegroup1.jar
  1863 Sat Sep 17 19:59:24 CST 2005 rdbms/lib/sbbdpt.o
  1191 Sat Sep 17 19:59:28 CST 2005 rdbms/lib/ssbbded.o
./stage/Components/oracle.rdbms/10.2.0.1.0/1/DataFiles/filegroup33.jar

 

这是一个先x64的安装介质,所以里面也包含了32为的库文件,按需使用,你现在可以去解压找到的jar包,然后从里面提取你想要的库文件了。

把这两个库文件复制到11g的数据库中,你现在就可以编译bbed了:

 

[oracle@MHAD2-11g lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
 
Linking BBED utility (bbed)
rm -f /soft/product/11.2.0.4/dbh/rdbms/lib/bbed
gcc -o /soft/product/11.2.0.4/dbh/rdbms/lib/bbed -m64 -z noexecstack -L/soft/product/11.2.0.4/dbh/rdbms/lib/ -L/soft/product/11.2.0.4/dbh/lib/ -L/soft/product/11.2.0.4/dbh/lib/stubs/  /soft/product/11.2.0.4/dbh/lib/s0main.o /soft/product/11.2.0.4/dbh/rdbms/lib/ssbbded.o /soft/product/11.2.0.4/dbh/rdbms/lib/sbbdpt.o `cat /soft/product/11.2.0.4/dbh/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh  `cat /soft/product/11.2.0.4/dbh/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /soft/product/11.2.0.4/dbh/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 /soft/product/11.2.0.4/dbh/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /soft/product/11.2.0.4/dbh/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 /soft/product/11.2.0.4/dbh/lib/sysliblist` -Wl,-rpath,/soft/product/11.2.0.4/dbh/lib -lm    `cat /soft/product/11.2.0.4/dbh/lib/sysliblist` -ldl -lm   -L/soft/product/11.2.0.4/dbh/lib
[oracle@MHAD2-11g lib]$ bbed
Message 112 not found; No message file for product=RDBMS, facility=BBED
BBED-00113: file not found

 

注意,上面到错误Message 112 not found,说明BBED命令还缺失一个mesg文件:bbedus.msb,还是使用同样到方法获得,然后放到$ORACLE_HOME/rdbms/mesg目录下。

 

其他库文件你也可以按此方法获取。

$ORACLE_HOME/rdbms/mesg/bbedus.msg 

$ORACLE_HOME/rdbms/mesg/bbedus.msd

 

源博客地址;https://blog.csdn.net/mrluoe/article/details/41250201

你可能感兴趣的:(BBED编译)