【发布时间】:2017-07-10 04:36:48
【问题描述】:
我有一个包含以下语句的 shell 脚本。它在单独执行时运行良好。
$ORACLEHOME/bin/sqlplus -s $BDBUSER@$LINKNAME/$BDBPASSWORD <<EOF
DECLARE
COUNT1 NUMBER:=0;
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE TABLE1';
EXECUTE IMMEDIATE 'CREATE TABLE TABLE1 AS SELECT * FROM $SCHEMA_NAME.TABLE2@DBLINKNAME';
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
感谢任何帮助。
【问题讨论】:
-
您的脚本包含对
ORACLEHOME的引用,而错误消息中提到了ORACLE_HOME。这是故意的吗?另外,您如何设置脚本中使用的所有变量? -
我有另一个文件,我在其中初始化了变量并从我的主脚本调用该脚本。