各位高手,大家好,我遇到一个问题:
我现在使用Solaris 10, 数据库是Oracle 10G。
我想要每天对数据库进行一次备份,备份的策略为:
1. 写一个用exp导出数据的脚本backup.sh
2. 用crontab设置每天早上1点备份。脚本写完后,我./backup.sh,正确导出了数据。在我使用crontab设置完后,可以知道这个脚本是执行了的。但是为什么dmp文件没有导出来呢?
0 1 * * * /export/home/wangd/dbscript/backup.sh 我的Unix上的数据库用户是wangd,crontab也是给wangd设置的。环境变量应该没有什么问题吧。谢谢大家。

解决方案 »

  1.   

    To(gebz456 )
    sh里的东西都试过了,可以正确运行。就是放到crontab里面就不正确导出了。
      

  2.   

    你的shell脚本中是否执行了oracle用户的profile,如果没执行是否在shell脚本中包含了profile中的那些必要的环境变量设置。
      

  3.   

    我以前是这么做的,因为我是java开发的,用的是spring的定时器,然后把要备份的语句写成存储过程,每天凌晨1点定时执行那备份存储过程。
    存储过程里的备份名字是按照时间取的。这样就不会重复。就是这样的。你也可以试一试,一直都这么用,挺稳定的
      

  4.   

    0 1 * * *  /export/home/wangd/dbscript/backup.sh  >> /tmp/log.tmp
    看看具体是啥错误。
      

  5.   

    老兄,这里有张贴,你看下,说不定是这里的问题
    http://topic.csdn.net/u/20080202/12/df38b95b-62a3-4c5c-8a6c-c994e5508491.html
    说的是可以结帖了,原因是/etc/crontab   path设置的问题 。