環境準備
- Oracle Database 11.2.0.4 (64-bit)
- Red Hat Enterprise Linux 6.3 (x86-64)
- 需從 Oracle 10.2.0.5 (同平台) 複製三個缺失物件檔
所需檔案來源 (10.2.0.5 環境)
| 檔案 | 來源路徑 | 目標路徑 (11.2.0.4) |
| sbbdpt.o | $ORACLE_HOME/lib | $ORACLE_HOME/lib |
| ssbbded.o | $ORACLE_HOME/rdbms/lib | $ORACLE_HOME/rdbms/lib |
| bbedus.msb | $ORACLE_HOME/rdbms/mesg | $ORACLE_HOME/rdbms/mesg |
編譯步驟
- 將上述三檔從 10.2.0.5 環境複製到 11.2.0.4 對應目錄。
- 切換到
$ORACLE_HOME/rdbms/lib 目錄。
- 執行編譯:
MAKE -F INS_RDBMS.MK $ORACLE_HOME/RDBMS/LIB/BBED
- 編譯成功會在
$ORACLE_HOME/rdbms/lib 產生 bbed 執行檔。
- 複製至
$ORACLE_HOME/bin 方便呼叫:
CP BBED $ORACLE_HOME/BIN/
- 驗證:
WHICH BBED
BBED FILE=... BLOCK=... -- 測試讀取區塊
常見錯誤與對策
| 錯誤 | 原因 | 解決 |
| gcc: ssbbded.o: No such file | 缺少 10g 物件檔 | 從 10.2.0.5 複製 ssbbded.o, sbbdpt.o |
| bbedus.msb not found | 訊息檔缺失 | 複製 bbedus.msb 到 rdbms/mesg |
| 連結器找不到符號 | 庫路徑或版本不匹配 | 確認 LD_LIBRARY_PATH、MAKEFILE 參數 |
⚠️ 重要警示
BBED 為內部除錯工具,可直接修改區塊導致資料庫損壞,僅供 Oracle Support 在受控環境使用,嚴禁在生產環境嘗試!