Oracle rman备份计划任务设计

使用crontab计划任务,和rman备份脚本,做一个完整的rman自动备份。
1、计划任务设计:

#  crontab -e
00 03 01 * * /home/oracle/rman/dbfull.sh
00 01 * * 0 /home/oracle/rman/db0.sh
00 01 * * 1 /home/oracle/rman/db2.sh
00 01 * * 2 /home/oracle/rman/db2.sh
00 01 * * 3 /home/oracle/rman/db1.sh
00 01 * * 4 /home/oracle/rman/db2.sh
00 01 * * 5 /home/oracle/rman/db2.sh
00 01 * * 6 /home/oracle/rman/db2.sh

计划任务描述:

每个月的1号3点进行一次完全备份
每个星期日1点一次level 0=全量备份,并且delete obsolete删除旧的全备份和归档日志备份等冗余
每个星期一1点一次level 2=累积增量:上次任意级别备份至今的增量(任意一次备份至今)
每个星期二1点一次level 2=累积增量:上次任意级别备份至今的增量(任意一次备份至今)
每个星期三1点一次level 1=差异增量:上次全备或lv1至今的增量:无论是否有LV2备份,一律从上次lv1或0至今
每个星期四1点一次level 2=累积增量:上次任意级别备份至今的增量(任意一次备份至今)
每个星期五1点一次level 2=累积增量:上次任意级别备份至今的增量(任意一次备份至今)
每个星期六1点一次level 2=累积增量:上次任意级别备份至今的增量(任意一次备份至今)

2、将脚本放在/home/oracle/rman 并赋予可执行权限。

[oracle@RHEL rman]$ pwd
/home/oracle/rman
[oracle@RHEL rman]$ chmod +x *
[oracle@RHEL rman]$ ll -h
total 32K
-rwxr-xr-x 1 root root 230 Mar 11 15:19 db0.sh
-rwxr-xr-x 1 root root 230 Mar 11 15:19 db1.sh
-rwxr-xr-x 1 root root 230 Mar 11 15:19 db2.sh
-rwxr-xr-x 1 root root 414 Mar 11 15:19 dbfull.rcv
-rwxr-xr-x 1 root root 235 Mar 11 15:19 dbfull.sh
-rwxr-xr-x 1 root root 417 Mar 11 15:19 dbl0.rcv
-rwxr-xr-x 1 root root 402 Mar 11 15:19 dbl1.rcv
-rwxr-xr-x 1 root root 402 Mar 11 15:19 dbl2.rcv

3、脚本内容核对,检查文件夹路径、环境变量是否准确。
dbfull.sh

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4
export ORACLE_SID=zytk
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$ORACLE_HOME/bin/rman cmdfile=/home/oracle/rman/dbfull.rcv log=/home/OracleBackup/rmanbak/dbfull_`date '+%Y%m%d'`.log

dbfull.rcv

connect target /
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag 'dbfull' format '/home/OracleBackup/rmanbak/full%u_%s_%p' database include current controlfile;
sql 'alter system archive log current';
backup format '/home/OracleBackup/rmanbak/arch%u_%s_%p' archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}

db0.sh

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4
export ORACLE_SID=zytk
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$ORACLE_HOME/bin/rman cmdfile=/home/oracle/rman/dbl0.rcv log=/home/OracleBackup/rmanbak/db0_`date '+%Y%m%d'`.log

db1.sh

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4
export ORACLE_SID=zytk
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$ORACLE_HOME/bin/rman cmdfile=/home/oracle/rman/dbl1.rcv log=/home/OracleBackup/rmanbak/db1_`date '+%Y%m%d'`.log

db2.sh

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4
export ORACLE_SID=zytk
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$ORACLE_HOME/bin/rman cmdfile=/home/oracle/rman/dbl2.rcv log=/home/OracleBackup/rmanbak/db2_`date '+%Y%m%d'`.log

db0.rcv

connect target /
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 format '/home/OracleBackup/rmanbak/db0%u_%s_%p' database skip readonly;
sql 'alter system archive log current';
backup format '/home/OracleBackup/rmanbak/arch%u_%s_%p' archivelog all delete input;
delete obsolete;
release channel c1;
release channel c2;
release channel c3;
}

db1.rcv

connect target /
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1  format '/home/OracleBackup/rmanbak/db1%u_%s_%p' database skip readonly;
sql 'alter system archive log current';
backup format '/home/OracleBackup/rmanbak/arch%u_%s_%p' archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}

db2.rcv

connect target /
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 2  format '/home/OracleBackup/rmanbak/db2%u_%s_%p' database skip readonly;
sql 'alter system archive log current';
backup format '/home/OracleBackup/rmanbak/arch%u_%s_%p' archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值