从Linux中的crontab执行时,sqlplus命令返回帮助页面

时间:2019-06-25 14:20:34

标签: shell cron sqlplus

sqlplus命令从crontab执行时调用外壳程序脚本将帮助页面显示为输出

没有得到任何帮助来解决此问题


$ORACLE_HOME/bin/sqlplus -s $DB_CURRENT_SCHEMA/$DB_PASSWD@$ORACLE_SID << EOF > /ipomapp/TAPESTRY/queue_count/queue_count.out
select count(*),Q_name from tap_infce.interface_xml_queue having count(*) > 500 group by Q_name;
EOF

它应该显示队列计数,但是会显示sqlplus帮助页面

1 个答案:

答案 0 :(得分:0)

您可以尝试将sql保存到变量中,而不是使用here-doc,然后将该变量传递给sqlplus。我对您的查询不熟悉,因此,如果存在缺陷,也需要对其进行修复。

#!/bin/bash

sql="> /ipomapp/TAPESTRY/queue_count/queue_count.out select count(),Q_name from tap_infce.interface_xml_queue having count() > 500 group by Q_name;"

echo "$sql" | $ORACLE_HOME/bin/sqlplus -s $DB_CURRENT_SCHEMA/$DB_PASSWD@$ORACLE_SID