Linux

sqlplus 在 Crontab 中不起作用

  • February 20, 2020
/oracle/GR1/121/bin/sqlplus / as sysdba <<EOF >> $LOGFILE
whenever sqlerror exit sql.sqlcode;
set echo on;
set serveroutput on;
STARTUP;
EXIT
EOF

已經用路徑試過了,但是沒有用。

要在 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 命令將從您的登錄中獲取變數並將它們添加到您執行此任務的環境中。

在執行 cron 之前,您必須在 cron 文件中設置相關的環境變數。

執行envor export,搜尋 oracle 相關變數並將其複製到 cronfile 中。

另外閱讀文件;)

引用自:https://unix.stackexchange.com/questions/568701