最近由于工作的原因,需要使用crontab来定时执行写好的shell脚本,对数据库的数据进行备份。但备份不了数据,通过调试发现由于shell脚本中使用到sqlplus命令,之前我对crontab一点都不了解,现在需要用,怎么办?只有临时抱佛脚了,到处查看资料,但有网络的地方就没有解决不了的问题,嘿嘿;从网上搜索的资料发现,若不在脚本中增加Oracle相关的环境变量,无法执行sqlplus,这样就不能连接到数据库,备份不了数据。
具体步骤如下:
在脚本中sqlplus执行之前配置好oracle环境变量:
export ORACLE_BASE=/home/oracle;
export ORACLE_HOME=$ORACLE_BASE/OraHome;
export ORACLE_SID=mydb;
export PATH=$PATH:$ORACLE_HOME/bin:/sbin;
这样,crontab执行shell脚本时就可以执行sqlplus命令,能够顺利备份数据