今天用centos7安裝oracle11g時,不知oracle11g 的rpm依賴包版本較高,還是centos7的原因,在進行安裝的時候,日志/home/db/oracle/oraInventory/logs/installActions2016-04-11_10-35-32PM.log報以下錯誤:
INFO: /usr/bin/ld: warning: -z lazyload ignored.
/usr/bin/ld: warning: -z nolazyload ignored.
/usr/bin/ld: /home/db/oracle/product/11.2.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
/usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /home/db/oracle/product/11.2.0/db_1/lib/libnnz11.so so try adding it to the linker command line
/home/db/oracle/product/11.2.0/db_1/lib/libnnz11.so: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit sta
INFO: tus
INFO: make[1]: Leaving directory `/home/db/oracle/product/11.2.0/db_1/sysman/lib'
INFO: make[1]: *** [/home/db/oracle/product/11.2.0/db_1/sysman/lib/emdctl] Error 1
make: *** [emdctl] Error 2
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
在網上找尋的辦法是
vim /home/db/oracle/product/11.1.0/db_1/sysman/lib/ins_emagent.mk #找到如下內容后 $(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) 進行修改為如下 $(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11
然后重新編譯ins_emagent.mk
make -f ins_emagent.mk "agent"
重新安裝不會再出現以上問題。