crontab调用shell访问Oracle问题


使用shell调用sqlplus访问Oracle直接执行没问题。但是使用crontab调用时由于环境变量不生效,会不认为sqlplus为有效命令。

注:调用时使用的Oracle用户
 
解决方法一:
在shell调用入口处增加如下环境变量:
export ORACLE_BASE=/oracle;
export ORACLE_HOME=$ORACLE_BASE/app/product/9.2.0;
export ORACLE_SID=COGNOS;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
export PATH=$PATH:/usr/bin:sbin:/usr/sbin:/usr/contrib/bin:$ORACLE_HOME/bin

解决方法二:
直接添加profile到shell程序入口处,即
. /oracle/.profile 

解决方法三:
在crontab指名运行的oracle用户名

相关内容