我手动在UNIX系统上手动执行脚本,它在ORACLE数据库中成功运行并更新了所需的记录。然而,当我用crontab执行相同的脚本时,我的进程退出时出现错误代码127。

进一步分析后,我发现这些陈述存在一些问题。


LOGFILE =萨钦 ORALOGIN = ABC / ABC @ ABCD

cmd ='sqlplus $ {ORALOGIN} <!> lt; SQLS <!> gt; <!> gt; $ {SVC_HOME} / LOGFILES / $ {LOGFILE} date +%Y-%m-%d';

eval $ cmd

请建议解决方案

有帮助吗?

解决方案

当cron执行脚本时,你确定${ORALOGIN}${LOGFILE}是有效的ENV变量吗?

有时为用户工作的脚本不适用于cron,因为cron执行没有用户拥有的所有ENV变量。

其他提示

在互动环境中做

env | grep ORACLE

自从我使用sqlplus以来已经很久了,但我记得它需要一些环境变量才能运行(ORACLE_HOME?)而且我怀疑你的cron作业环境没有这些设置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top