私は以下のステートメントを持つシェルスクリプトを持っています。スタンドアローンを実行している間は正常に動作します。スタンドアロンシェルスクリプトはうまく動作していますが、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から呼び出すと失敗します。私の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スクリプトは、クーロンで実行環境変数]の可能な重複(https://stackoverflow.com/questions/42114982/environment-variables-when-python-script-run-by-cron) – l0b0
あなたスクリプトには 'ORACLEHOME'への参照が含まれていますが、エラーメッセージには' ORACLE_HOME'が記述されています。それは意図的なのでしょうか?また、スクリプトで使用されるすべての変数をどのように設定していますか? – l0b0
私は変数を初期化し、そのスクリプトをメインスクリプトから呼び出す別のファイルを持っています。 – GSG