sqlplus 在 Crontab 中不起作用

sqlplus 在 Crontab 中不起作用
/oracle/GR1/121/bin/sqlplus / as sysdba <<EOF >> $LOGFILE
whenever sqlerror exit sql.sqlcode;
set echo on;
set serveroutput on;
STARTUP;
EXIT
EOF

已经尝试过路径,但还没有成功。

答案1

要在 cron 中成功运行此类作业,您需要设置一些变量,例如ORACLE_SIDORACLE_HOME等等。执行此操作的示例方法是按以下方式制作脚本:

source ~/.bashrc #or .bash_profile
/oracle/GR1/121/bin/sqlplus / as sysdba <<EOF >> $LOGFILE
whenever sqlerror exit sql.sqlcode;
set echo on;
set serveroutput on;
STARTUP;
EXIT
EOF

source 命令将从您的登录中获取变量并将它们添加到您执行此任务的环境中。

答案2

在运行 cron 之前,您必须在 cron 文件中设置相关的环境变量。

运行envexport,搜索oracle相关变量并将其复制到cronfile中。

另外请阅读文档;)

相关内容