`
aswang
  • 浏览: 837946 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

在suse下添加oracle 11g自动备份数据库定时任务

 
阅读更多

1、编写数据库备份脚本,将数据库导出为dmp文件

 

ORACLE_HOME=/oracle/product/11gR2/db

export ORACLE_HOME

ORACLE_SID=office

export ORACLE_SID

PATH=$ORACLE_HOME/bin:/usr/local/bin:$PATH

export PATH

 

设置ORACLE_HOME、ORACLE_SID以及PATH变量,否则脚本在crontab中执行报错。

 

 

D1=`date '+%Y-%m-%d-%H-%M.dmp'`

D2=`date '+%Y-%m-%d-%H-%M.log`

exp username/password@sid file=/oracle_dmp/backup/$D1, log=/oracle_log/backup/$D2, compress=n buffer=10240 consistent=y direct=n constraints=y feedback=10000  grants=y record=y indexes=y triggers=y rows=y

 

设置oracle导出文件的文件名,以日期作为文件名,同时还导出日志文件。

将上面的脚本保存到/home/oracle/oracle_auto_backup.sh文件中。

 

2、在oracle用户下添加crontab任务

crontab -e

在编辑器中输入

50  23 *  *  *  /home/oracle/oracle_auto_backup.sh

设置定时任务的执行频率,每天晚上11点50执行该脚本。

 

然后保存退出。

 

3、如果定时任务没有执行,可以查看/var/mail/oracle 文件,找出错误原因。

分享到:
评论
3 楼 幻影桃花源 2013-07-12  
幻影桃花源 写道
按这个方法试了,oracle_auto_backup.sh这个文件可以单独执行,但添加到定时任务却在/var/mail/oracle 文件中提示/oracledb_backups/oracle_auto_backup.sh: line 3: exp: command not found;对了,我的这个执行文件没有放到home/oracle下有关系吗?

找到问题了,是因为我环境变更没有导出,原本以为系统本身有环境变更了就不用导出了,谁知oracle_auto_backup.sh文件中还需要单独导出,谢谢!
2 楼 幻影桃花源 2013-07-12  
幻影桃花源 写道
按这个方法试了,oracle_auto_backup.sh这个文件可以单独执行,但添加到定时任务却在/var/mail/oracle 文件中提示/oracledb_backups/oracle_auto_backup.sh: line 3: exp: command not found;对了,我的这个执行文件没有放到home/oracle下有关系吗?

又试了一下,将oracle_auto_backup.sh文件放到/home/oracle下也是不行!
1 楼 幻影桃花源 2013-07-12  
按这个方法试了,oracle_auto_backup.sh这个文件可以单独执行,但添加到定时任务却在/var/mail/oracle 文件中提示/oracledb_backups/oracle_auto_backup.sh: line 3: exp: command not found;对了,我的这个执行文件没有放到home/oracle下有关系吗?

相关推荐

Global site tag (gtag.js) - Google Analytics