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帮助页面
答案 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