我有一个shell脚本,它具有以下语句。它独立执行时可以正常工作。独立Shell脚本正常工作,但不能与crontab一起工作
$ORACLEHOME/bin/sqlplus -s [email protected]$LINKNAME/$BDBPASSWORD <<EOF
DECLARE
COUNT1 NUMBER:=0;
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE TABLE1';
EXECUTE IMMEDIATE 'CREATE TABLE TABLE1 AS SELECT * FROM [email protected]';
END;
/
EOF
但是,当我从crontab调用这个f,它失败。我的crontab看起来像
*/1 * * * * /bin/sh /home/mig/Test.sh > /home/mig/Test.txt
我在日志中收到以下错误。
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
任何帮助表示赞赏。
的可能的复制[环境变量时,Python脚本由cron运行(https://stackoverflow.com/questions/42114982/environment-variables-when-python-script-run-by-cron) – l0b0
你脚本包含对'ORACLEHOME'的引用,而错误消息提到'ORACLE_HOME'。那是故意的吗?另外,你如何设置脚本中使用的所有变量? – l0b0
我有另一个文件,我已经初始化变量并从我的主脚本调用该脚本。 – GSG