7 x 24 在线支持!
Oracle BBEDツールをコンパイルする方法(Oracle Block Brower and EDitor Tool) on Unix/Linux/Windows
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
“BBED(Oracle Block Brower and EDitor Tool)はデータファイルを確認や修正するツールで、Oracleの内部ツールである。Oracleデータファイルブロックの内容を直に修正できる。簡単に言えば、Oracleバイナリ編集ツールである。このツールはOracleに支持されていない。ディフォルトに実行できるファイルがないから、使う前に、再編集する必要がある。”
10gでそのツールを編集するのが難しくない:
[maclean@rh2 ~]$ cd $ORACLE_HOME/rdbms/lib [maclean@rh2 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed make: `/s01/10gdb/rdbms/lib/bbed' is up to date. [maclean@rh2 lib]$ rm bbed [maclean@rh2 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /s01/10gdb/rdbms/lib/bbed gcc -o /s01/10gdb/rdbms/lib/bbed -L/s01/10gdb/rdbms/lib/ -L/s01/10gdb/lib/ -L/s01/10gdb/lib/stubs/ /s01/10gdb/lib/s0main.o /s01/10gdb/rdbms/lib/ssbbded.o /s01/10gdb/rdbms/lib/sbbdpt.o `cat /s01/10gdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 /s01/10gdb/rdbms/lib/defopt.o -ldbtools10 -lclntsh `cat /s01/10gdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /s01/10gdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /s01/10gdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /s01/10gdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /s01/10gdb/lib/sysliblist` -Wl,-rpath,/s01/10gdb/lib -lm `cat /s01/10gdb/lib/sysliblist` -ldl -lm -L/s01/10gdb/lib [maclean@rh2 lib]$ cp bbed $ORACLE_HOME/bin [maclean@rh2 lib]$ bbed Password: BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 2 14:18:27 2010 Copyright (c) 1982, 2007, Oracle. All rights reserved. BBED> /* 暗号は何かと俺に聞くか? .. :) */
11.2.0.1でbbed実行可能なファイルを編集するにはssbbded.oとsbbdpt.oオブジェクトファイルが削除されたことを確保する必要がある。幸いに、10gに二つのオブジェクトファイルで11.2.0.1で編集できる。
[maclean@rh2 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /s01/11gdb/rdbms/lib/bbed gcc -o /s01/11gdb/rdbms/lib/bbed -m64 -L/s01/11gdb/rdbms/lib/ -L/s01/11gdb/lib/ -L/s01/11gdb/lib/stubs/ /s01/11gdb/lib/s0main.o /s01/11gdb/rdbms/lib/ssbbded.o /s01/11gdb/rdbms/lib/sbbdpt.o `cat /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `cat /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /s01/11gdb/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 /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /s01/11gdb/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 /s01/11gdb/lib/sysliblist` -Wl,-rpath,/s01/11gdb/lib -lm `cat /s01/11gdb/lib/sysliblist` -ldl -lm -L/s01/11gdb/lib gcc: /s01/11gdb/rdbms/lib/ssbbded.o: No such file or directory gcc: /s01/11gdb/rdbms/lib/sbbdpt.o: No such file or directory [maclean@rh2 ~]$ cp /s01/10gdb/rdbms/lib/ssbbded.o /s01/11gdb/rdbms/lib [maclean@rh2 ~]$ cp /s01/10gdb/rdbms/lib/sbbdpt.o /s01/11gdb/rdbms/lib [maclean@rh2 ~]$ cp /s01/10gdb/rdbms/mesg/bbedus.ms* /s01/11gdb/rdbms/mesg/ /* bbed がbbedus.msgとbbedus.msb という二つの情報ファイルが必要がある */ [maclean@rh2 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /s01/11gdb/rdbms/lib/bbed gcc -o /s01/11gdb/rdbms/lib/bbed -m64 -L/s01/11gdb/rdbms/lib/ -L/s01/11gdb/lib/ -L/s01/11gdb/lib/stubs/ /s01/11gdb/lib/s0main.o /s01/11gdb/rdbms/lib/ssbbded.o /s01/11gdb/rdbms/lib/sbbdpt.o `cat /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `cat /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /s01/11gdb/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 /s01/11gdb/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /s01/11gdb/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 /s01/11gdb/lib/sysliblist` -Wl,-rpath,/s01/11gdb/lib -lm `cat /s01/11gdb/lib/sysliblist` -ldl -lm -L/s01/11gdb/lib [maclean@rh2 lib]$ file bbed bbed: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped [maclean@rh2 lib]$ size bbed text data bss dec hex filename 154473 43448 32 197953 30541 bbed [maclean@rh2 lib]$ ldd bbed libclntsh.so.11.1 => /s01/11gdb/lib/libclntsh.so.11.1 (0x00002b042b883000) libnnz11.so => /s01/11gdb/lib/libnnz11.so (0x00002b042dead000) libdl.so.2 => /lib64/libdl.so.2 (0x00000039f2400000) libm.so.6 => /lib64/libm.so.6 (0x00000039f2000000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00000039f2800000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00000039f5c00000) libc.so.6 => /lib64/libc.so.6 (0x00000039f1c00000) libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002b042e293000) /lib64/ld-linux-x86-64.so.2 (0x00000039f1800000) [maclean@rh2 lib]$ cp bbed $ORACLE_HOME/bin [maclean@rh2 lib]$ which bbed /s01/11gdb/bin/bbed [maclean@rh2 lib]$ bbed Password: BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 2 15:18:37 2010 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. BBED>
以下の通り:
如图: