libclntsh.so.11.1:无法打开共享对象文件.

e.b*_*ite 23 oracle shell cron environment-variables

我想通过icrontab在Linux上安排任务,并且任务是用python编写的,必须导入cx_Oracle模块,所以我导出ORACLE_HOMELD_LIBRARY_PATH.bash_profile中,但它引发了错误:

libclntsh.so.11.1:无法打开共享对象文件.

因为可以通过在shell中发出命令来运行任务,如:

python a.py  # ok
Run Code Online (Sandbox Code Playgroud)

我将icrontab中的任务更改为一个调用我的Python脚本的shell脚本,但异常重现了吗?

# the shell script scheduled in icrontab
#! bash 
python a.py    
Run Code Online (Sandbox Code Playgroud)

你能帮忙怎么做吗?

Yas*_*aev 17

也许你想指定PATH-也ORACLE_HOMELD_LIBRARY_PATH-让cron(1)知道哪里可以找到二进制文件.在这里
阅读"5 Crontab环境" .


小智 8

lib位于 /u01/app/oracle/product/11.2.0/xe/lib(For Oracle XE)或类似的.

您应该将此路径添加到此/etc/ld.so.conf文件中,或者如果此文件仅显示包含位置,则应将其添加到/etc/ld.so.conf.d目录中的单独文件中

我有oracle.conf /etc/ld.so.conf.d,只有一个带路径的文件.没有其他的.

当然不要忘记运行ldconfig作为最后一步.