我面临一个奇怪但明智的问题,我有 2 个 ORACLE_HOME,第一个指向 ORACLE 数据库软件,第二个指向 ORACLE 客户端软件。
为什么我被迫这样做 - 原因是:在我的系统中,Pro *c 是从 ORACLE 数据库 ORACLE_HOME 编译的,但是 Pro *Cobol 是从 ORACLE 客户端 ORACLE_HOME 编译的。
编译 Pro *Cobol:
echo $LD_LIBRARY_PATH
/u01/app/oracle/product/11.2.0/client/lib:/opt/FJSVcbl64/lib:/opt/FJSVXbsrt/lib:/opt/FJSVXmeft/lib:/opt/FJSVcbl/COBOL/lib:/opt/FJSVcbl/COBOLRT/lib
编译 Pro *C
echo $LD_LIBRARY_PATH
/u01/app/oracle/product/11.2.0/db_1/lib:/opt/FJSVcbl64/lib:/opt/FJSVXbsrt/lib:/opt/FJSVXmeft/lib:/opt/FJSVcbl/COBOL/lib:/opt/FJSVcbl/COBOLRT/lib
如果我将路径即 /u01/app/oracle/product/11.2.0/db_1/lib 和 /u01/app/oracle/product/11.2.0/client/lib 都放在 1 LD_LIBRARY_PATH 中,则只有先到者才能获得成功的。
有没有办法解决这个问题?
对于临时修复,我在每个文件中创建了 2 个具有不同 LD_LIBRARY_PATH 的小脚本;所以我在编译 Pr *C 或 Pro *Cobol 之前调用这个脚本。
我只是不想调用任何脚本,只有 1 个 LD _LIBRARY_PATH 必须能够修复它。
让我知道。
谢谢!