linux下crontab定时执行shell脚本调用oracle 存储过程

时间:2021-12-01 10:59:07

问题:脚本内调用存储过程,脚本直接执行没问题,使用crontab 执行脚本存储过程未执行

原因:缺少oracle环境变量

解决:在shell脚本里添加oracle的环境变量

#!/bin/sh


PATH=$PATH:$HOME/bin    //环境变量

export ORACLE_BASE=/home/oracle         
export ORACLE_HOME=/home/oracle/product/11.2.0/client
export PATH=$PATH:$ORACLE_HOME/bin

szCfgFile=P_BROADBAND_YUYUEINFO_SMS.sql

cat<<EndCfg>$szCfgFile

Begin
P_BROADBAND_YUYUEINFO_SMS();
end;
/
exit
EndCfg
sqlplus -s user/passwd@库名称 @$szCfgFile
rm $szCfgFile