我想在 cron 中运行一个包含一些 sqlplus 命令的脚本。
问题是,当在 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;
有任何想法吗?