[20241104]21c下bbed编译.txt --//前一段时间在21c下使用bbed遇到的问题,我想偷懒直接拷贝11g下自己做好的安装文件,参考链接:[20240811]bbed使用问题.txt $ cp libnnz11.so /u01/app/oracle/product/21.0.0/dbhome_1/lib/ $ locate libnnz11.so /home/oracle/bbed/libnnz11.so /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnnz11.so --//这样可以正常运行,但是使用x命令存在问题,还是选择重新编译bbed,记录在21c下bbed的编译与安装过程。 1.环境: SCOTT@book01p> @ver2 ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 21.0.0.0.0 BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.测试: SCOTT@book01p> select rowid,dept.* from dept where deptno= 10; ROWID DEPTNO DNAME LOC ------------------ ---------- ------------------------------ ------------- AAASmfAAMAAAACDAAA 10 ACCOUNTING NEW YORK SCOTT@book01p> @ rowid AAASmfAAMAAAACDAAA DATA_OBJECT_ID FILE BLOCK ROW ROWID_DBA DBA TEXT -------------- ---------- ---------- ---------- -------------------- -------------------- ---------------------------------------- 76191 12 131 0 0x3000083 12,131 alter system dump datafile 12 block 131 BBED> set dba 12,131 DBA 0x03000083 (50331779 12,131) BBED> x /rncc *kdbr[1] rowdata[44] @8140 ----------- bbed: symbol lookup error: bbed: undefined symbol: kdrrea2 --//安装版本出现以上错误,不知道为什么报错。 $ strace -Ttt -y -f -p 4084 Process 4084 attached 15:59:17.333584 read(0</dev/pts/8>, "x /rncc *kdbr[1]\n", 1024) = 17 <6.923919> 15:59:24.257847 write(7</home/oracle/bbed/log.bbd>, "BBED> x /rncc *kdbr[1]\n", 23) = 23 <0.000028> 15:59:24.257972 mmap(NULL, 143360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7f32373000 <0.000044> 15:59:24.258192 write(1</dev/pts/8>, "rowdata[44] "..., 54) = 54 <0.000031> 15:59:24.258276 write(1</dev/pts/8>, "-----------\n", 12) = 12 <0.000011> 15:59:24.258324 write(7</home/oracle/bbed/log.bbd>, "rowdata[44] "..., 54) = 54 <0.000013> 15:59:24.258365 write(7</home/oracle/bbed/log.bbd>, "-----------\n", 12) = 12 <0.000010> 15:59:24.258418 writev(2</dev/pts/8>, [{"bbed", 4}, {": ", 2}, {"symbol lookup error", 19}, {": ", 2}, {"bbed", 4}, {": ", 2}, {"undefined symbol: kdrrea2", 25}, {"", 0}, {"", 0}, {"\n", 1}], 10) = 59 <0.000028> 15:59:24.258494 exit_group(127) = ? 15:59:24.259153 +++ exited with 127 +++ --//还是选择重新编译bbed。 4.编译bbed: $ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/bbed /u01/app/oracle/product/21.0.0/dbhome_1/bin/orald -o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/bbed -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/21.0.0/dbhome_1/lib/ -L/u01/app/oracle/product/21.0.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/21.0.0/dbhome_1/lib/s0main.o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -ldbtools -lclntsh -lclntshcore `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnnz21 -lzt -lztkg -lztkg -lclient -lnnetd -lcommon -lgeneric -lmm -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lclient -lnnetd -lcommon -lgeneric -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lclient -lnnetd -lcommon -lgeneric -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/21.0.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/21.0.0/dbhome_1/lib /usr/bin/ld: cannot find /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ssbbded.o: No such file or directory /usr/bin/ld: cannot find /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/sbbdpt.o: No such file or directory make: *** [/u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/bbed] Error 1 --//缺少sbbdpt.o,ssbbded.o两个文件。从旧机器上拷贝上来,10g的机器现在很少了,看来要单独保留这2个文件包括bbedus.ms*。 # mv /mnt/windows/*.o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib */ # cd /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib # chown oracle:oinstall sbbdpt.o # chown oracle:oinstall ssbbded.o # chmod 644 /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ssbbded.o # chmod 644 /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/sbbdpt.o --//还需要拷贝10g下的bbedus.ms*文件到/u01/app/oracle/product/21.0.0/dbhome_1/rdbms/mesg/目录,过程略。 $ ls -l bbedus.ms* -rw-r--r--. 1 oracle oinstall 8704 2021-03-11 09:24:22 bbedus.msb -rwxr-xr-x. 1 oracle oinstall 10299 2021-03-11 09:24:22 bbedus.msg --//开始编译bbed。 $ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/bbed /u01/app/oracle/product/21.0.0/dbhome_1/bin/orald -o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/bbed -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/21.0.0/dbhome_1/lib/ -L/u01/app/oracle/product/21.0.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/21.0.0/dbhome_1/lib/s0main.o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/21.0.0/dbhome_1/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -ldbtools -lclntsh -lclntshcore `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnnz21 -lzt -lztkg -lztkg -lclient -lnnetd -lcommon -lgeneric -lmm -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/ldflags` -lncrypt -lnsgr -ln -lnl -lngsmshd -lclient -lnnetd -lcommon -lgeneric -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lclient -lnnetd -lcommon -lgeneric -lsnls -lnls -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/21.0.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/21.0.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/21.0.0/dbhome_1/lib --//OK! $ mv bbed /u01/app/oracle/product/21.0.0/dbhome_1/bin/ ‘bbed’ -> ‘/u01/app/oracle/product/21.0.0/dbhome_1/bin/bbed’ 5.测试: export RLWRAP=$(which rlwrap) export BBED=$(which bbed) $ type rlbbed rlbbed is a function rlbbed () { cd /home/oracle/bbed; $RLWRAP -s 9999 -c -r -i -f /usr/local/share/rlwrap/bbed $BBED parfile=bbed.par cmdfile=cmd.par } --//我喜欢定义函数,也可以定义别名: alias rlbbed='cd /home/oracle/bbed;$RLWRAP -s 9999 -c -r -i $BBED parfile=bbed.par cmdfile=cmd.par' $ cat bbed.par blocksize=8192 listfile=filelist.txt mode=edit PASSWORD=blockedit SPOOL=Y $ cat cmd.par set count 64 set width 160 SYS@book> select to_char(file#,'9999')||chr(32)||name c80 from v$dbfile order by file#; C80 -------------------------------------------------------------------------------- 1 /u01/oradata/BOOK/system01.dbf 3 /u01/oradata/BOOK/sysaux01.dbf 4 /u01/oradata/BOOK/undotbs01.dbf 5 /u01/oradata/BOOK/pdbseed/system01.dbf 6 /u01/oradata/BOOK/pdbseed/sysaux01.dbf 7 /u01/oradata/BOOK/users01.dbf 8 /u01/oradata/BOOK/pdbseed/undotbs01.dbf 9 /u01/oradata/BOOK/book01p/system01.dbf 10 /u01/oradata/BOOK/book01p/sysaux01.dbf 11 /u01/oradata/BOOK/book01p/undotbs01.dbf 12 /u01/oradata/BOOK/book01p/users01.dbf 11 rows selected. --//拷贝以上内容到filelist.txt。 $ rlbbed BBED: Release 2.0.0.0.0 - Limited Production on Mon Nov 4 16:22:35 2024 Copyright (c) 1982, 2021, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> set count 64 COUNT 64 BBED> set width 160 WIDTH 160 BBED> set dba 12,131 DBA 0x03000083 (50331779 12,131) BBED> x /rncc *kdbr[0] rowdata[66] @8162 ----------- flag@8162: 0x2c (KDRHFL, KDRHFF, KDRHFH) lock@8163: 0x01 cols@8164: 3 col 0[2] @8165: 10 col 1[10] @8168: ACCOUNTING col 2[8] @8179: NEW YORK 5.收尾: $ diff <(ldd $BBED| sort ) <(ldd /home/oracle/bbed.OLD/bbed|sort) 1,12c1,14 < /lib64/ld-linux-x86-64.so.2 (0x00007fe79a2ca000) < libaio.so.1 => /lib64/libaio.so.1 (0x00007fe79466a000) < libclntshcore.so.21.1 => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libclntshcore.so.21.1 (0x00007fe79596e000) < libclntsh.so.21.1 => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libclntsh.so.21.1 (0x00007fe795f1f000) < libc.so.6 => /lib64/libc.so.6 (0x00007fe79408f000) < libdl.so.2 => /lib64/libdl.so.2 (0x00007fe794f94000) < libm.so.6 => /lib64/libm.so.6 (0x00007fe794c91000) < libnnz21.so => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnnz21.so (0x00007fe7951c0000) < libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe794a75000) < libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fe794450000) < librt.so.1 => /lib64/librt.so.1 (0x00007fe79486d000) < linux-vdso.so.1 => (0x00007fffaf1d7000) --- > /lib64/ld-linux-x86-64.so.2 (0x00007f728ac07000) > libaio.so.1 => /lib64/libaio.so.1 (0x00007f7284bb0000) > libclntshcore.so.21.1 => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libclntshcore.so.21.1 (0x00007f72843e5000) > libclntsh.so.11.1 => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libclntsh.so.11.1 (0x00007f728685c000) > libc.so.6 => /lib64/libc.so.6 (0x00007f7285769000) > libdl.so.2 => /lib64/libdl.so.2 (0x00007f7286262000) > libm.so.6 => /lib64/libm.so.6 (0x00007f7285f60000) > libnnz11.so => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnnz11.so (0x00007f728648e000) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > libnnz21.so => /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnnz21.so (0x00007f7284fba000) > libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f7285b2a000) ~~~~~~~~~~~~~~~~~~~~~~~ > libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7285d43000) > libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7284995000) > librt.so.1 => /lib64/librt.so.1 (0x00007f7284db2000) > linux-vdso.so.1 => (0x00007ffdae5fe000) --//能力有限,看不出怎么问题,但是现在旧版本的bbed也可以正常使用,不知道为什么。 --//删除前面拷贝的库文件。 --//$ rm /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnnz11.so
[20241104]21c下bbed编译.txt
来源:这里教程网
时间:2026-03-03 20:53:15
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库优化指南:如何将基本功能运用到极 致?
数据库优化指南:如何将基本功能运用到极 致?
26-03-03 - oracle数据坏块处理(三)-数据抽取插入到新表中
oracle数据坏块处理(三)-数据抽取插入到新表中
26-03-03 - 破解 ORA-14551:在 PL/SQL 中执行 DML 的陷阱与解决方案
- Oracle 统一审计- Best 实践四
Oracle 统一审计- Best 实践四
26-03-03 - Oracle SQL语句为什么不走索引-场景三
Oracle SQL语句为什么不走索引-场景三
26-03-03 - 数据库去O搞了个寂寞!甲骨文股价翻倍,市值突破5200亿美金!
数据库去O搞了个寂寞!甲骨文股价翻倍,市值突破5200亿美金!
26-03-03 - Oracle 统一审计- Best 实践五
Oracle 统一审计- Best 实践五
26-03-03 - 查询DBA_FREE_SPACE缓慢问题
查询DBA_FREE_SPACE缓慢问题
26-03-03 - Oracle Linux 8.10 图形化安装 Oracle Database 21c
- 长沙岳麓区家具馆:邂逅高颜值餐桌,开启优雅用餐时光
长沙岳麓区家具馆:邂逅高颜值餐桌,开启优雅用餐时光
26-03-03
