在 CentOS 6.2 安裝 Oracle 10g 時,鏈接 Enterprise Manager 組件階段報錯 ins_emdb.mk(Error in invoking target 'collector')。此錯誤通常源於 32 位庫缺失或編譯器版本不兼容,且不影響資料庫核心功能。
INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib' INFO: make: *** [nmccollector] Error 2 Exception Name: MakefileException Exception String: Error in invoking target 'collector' of makefile '/u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_emdb.mk'
oracle 用戶執行全量重鏈接:
$ORACLE_HOME/bin/relink all
該腳本會重新編譯鏈接所有組件(含 sysman),通常能修復 EM 相關鏈接問題。
glibc-devel.i686 libstdc++-devel.i686 libaio-devel.i686。$ORACLE_HOME/sysman/lib/ins_emdb.mk 中 collector 目標依賴的庫路徑。ID 1174765.1:/usr/bin/ld 版本過低(需 binutils-2.17.50.0.6 以上),可嘗試更新 binutils 後重鏈接。若環境極度受限,亦可在安裝類型選擇「Custom」取消勾選 Enterprise Manager,僅安裝資料庫核心,後續透過 OEM Cloud Control/Grid Control 集中管理。
oracle 用戶登入,刪除 $ORACLE_BASE 下 flash_recovery_area、oradata、oraInventory。/usr/local/bin/{coraenv,dbhome,oraenv}。/etc/oratab。