近來做SAP EXPORT發現一個很奇葩的問題,一臺主機上安裝過9i,也裝過11g,在導出前,這臺主機將oracle切換爲了9i,並做了RMAN數據庫恢復 .
之後,爲了做異構遷移,用SAPInst工具做export,發生如下錯誤:
MOS-01012 PROBLEM: '/sapmnt/BWD/exe/R3ldctl -l ./R3ldctlExport.log -p /instal/export/DATA/ ' returned with '2' which is not a defined as a success code.
查看了下R3ldctl.log,發現如下錯誤:
exec(): 0509-036 Cannot load program /sapmnt/Z3P/exe/R3ldctl because of the following errors:
0509-150 Dependent module libclntsh.so could not be loaded.
0509-022 Cannot load module libclntsh.so.
0509-026 System error: A file or directory in the path name does not exist.
奇怪的是oracle 9i的client中並無此文件,倒是在11g的client中發現了此文件,爲何ABAP EXPORT過程中會用到這個文件?
後來想了下是因爲這臺機子上之前裝過11g,而且SAP Kernel用的是適配oracle 11g的640_EXT2版本,所以exprot工具會去調用11g Client中的文件,於是出現了上述錯誤.