いくつかの sqlplus コマンドを含むスクリプトを cron で実行したいと考えています。
問題は、cronで実行すると、何らかの理由でsqlplusコマンドが実行されないことです。自分で実行すると、スクリプトは正常に実行されます。
いくつかのフォーラム、さらには stackoverflow.com のトピックをチェックしたところ、環境変数の正しい設定に関するいくつかのヒントが見つかりました。しかし、これを再確認した後でも、スクリプトは機能しません。
これが私のスクリプトです:
echo $ORACLE_HOME|grep "oracle" > /dev/null
if [ $? = 1 ] ; then
echo "Setting environment variable"
# Setting oracle environmet
. /usr/oracle/product/10.2.0/.profile
NLS_LANG='AMERICAN_GERMANY.WE8ISO8859P1'
fi
/usr/oracle/product/10.2.0/bin/sqlplus username/password @basics.sql > export.file
basics.sql には以下が含まれます。
set pagesize 0
set feedback off
set heading off
set linesize 400
set NULL nll
SELECT SOME_FIELDS FROM TABLE ORDER BY FIELD;
EXIT;
何か案は?