[backup]crontab调度rman命令文件数据库备份

一 创建RMAN备份脚本文件及SHELL文件调用RMAN脚本

[oracle@localhost ~]$ cat weekly_whole.rman
backup as copy incremental level 0 database tag 'weekly_backup';
[oracle@localhost ~]$ cat weekly_whole.sh
#! /bin/sh
rman target / @weekly_whole.rman log=weekly_whole.log
[oracle@localhost ~]$

二 添加crontab项,每周日调度备份
[oracle@localhost ~]$ crontab -e

编辑并保存后,显示用户oracle的crontab:
[oracle@localhost ~]$ crontab -l
# Whole db backup every sunday.
01 19 * * 7 /home/oracle/weekly_whole.sh
[oracle@localhost ~]$

三 使用同样方法,设置每日一级增量备份
[oracle@localhost ~]$ cat weekly_incr.rman
backup incremental level 1 database tag 'weekly_backup';
[oracle@localhost ~]$ cat weekly_incr.sh
#! /bin/sh
rman target / @weekly_incr.rman log weekly_incr.log
[oracle@localhost ~]$ crontab -l
# Whole db backup every sunday.
01 19 * * 7 /home/oracle/weekly_whole.sh

# Incremental db backup every weekday and saturday.
01 19 * * 1-6 /home/oracle/weekly_incr.sh
[oracle@localhost ~]$


updated on 2010-12-19
典型的环境变量缺失问题:在两个备份调度SHELL脚本中需要定义ORACLE_HOME和ORACLE_SID。缺失这两个变量,造成无法找到rman或rman备份出错。
增加环境变量定义后weekly_whole.sh如下:

[oracle@localhost ~]$ cat weekly_whole.sh
#! /bin/sh
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID
${ORACLE_HOME}/bin/rman target / @weekly_whole.rman log weekly_whole.log
[oracle@localhost ~]$ cat weekly_incr.sh

请使用浏览器的分享功能分享到微信等