最典型的增量备份案例,是按照一周为一个周期来进行备份:
时间 | 备份级别 |
星期天晚上 | level 0 |
星期一晚上 | level 2 |
星期二晚上 | level 2 |
星期三晚上 | level 1 |
星期四晚上 | level 2 |
星期五晚上 | level 2 |
星期六晚上 | level 2 |
1、编写脚本
1.1、编写rman脚本
根据上面的策略,编写lev0.rcv、lev1.rcv、lev2.rcv三个文件,文件具体内容为:
--lev0.rcv
connect target /
run{
allocate channel d1 device type disk;
backup incremental level 0 database
format '/oracle/product/11.2.0/oradata/orcl/rman/lev0_%d_%U'
tag='level0'
channel=d1
include current controlfile;
sql 'alter system archive log current';
backup archivelog all format
'/oracle/product/11.2.0/oradata/orcl/rman/lev0_log_%d_%U' delete all input;
release channel d1;
}
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
--lev1.rcv
connect target /
run{
allocate channel d1 device type disk;
backup incremental level 1 database
format '/oracle/product/11.2.0/oradata/orcl/rman/lev1_%d_%U'
tag='level1'
channel = 'd1'
include current controlfile;
sql 'alter system archive log current';
backup archivelog all format
'/oracle/product/11.2.0/oradata/orcl/rman/lev1_log_%d_%U' delete all input;
release channel d1;
}
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
--lev2.rcv
connect target /
run{
allocate channel d1 device type disk;
backup incremental level 2 database
format '/oracle/product/11.2.0/oradata/orcl/rman/lev2_%d_%U'
tag='lev2'
channel=d1
include current controlfile;
sql 'alter system archive log current';
backup archivelog all format
'/oracle/product/11.2.0/oradata/orcl/rman/lev2_log_%d_%U' delete all input;
release channel d1;
}
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
1.2、编写执行脚本
1、windows
对应lev0.rcv、lev1.rcv、lev2.rcv也要编写三个批处理文件来调用这三个级别的备份。这三个批处理文件命名为:lev0.bat、lev1. bat、lev2. bat。内容分别为:
lev0.bat
rman cmdfile=lev0.rcv log=lev0.log
lev1.bat
rman cmdfile=lev1.rcv log=lev1.log
lev2.bat
rman cmdfile=lev2.rcv log=lev2.log
2、Unix、Linux
Unix、Linux要采用sh文件来调用这三个级别的备份。三个sh的文件可命名为lev0.sh、lev1. sh、lev2. sh。内容分别为:
lev0.sh
rman cmdfile=lev0.rcv log=lev0.log
lev1.sh
rman cmdfile=lev1.rcv log=lev1.log
lev2.sh
rman cmdfile=lev2.rcv log=lev2.log
2、部署计划任务
2.1、windows下采用计划任务
计划任务的设置就是按照第十章中的案例来设置的,星期天晚上一个0级备份、周三一个1级备份、其他时间为2级备份。在每天设置一个计划任务,调用对应的批处理文件即可。例如星期天晚上调用lev0.bat。这样来设置:
打开任务计划:开始程序附件系统工具任务计划
添加任务,设置每周日晚上23:00执行lev0.bat脚本。
2.2、linux下采用crontab来制定计划任务
在命令行里输入:crontab -e –u oracle
开始编辑计划文件,输入如下内容:
00 23 * * 0 /oracle/backup/lev0.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 1 /oracle/backup/lev1.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 2 /oracle/backup/lev2.sh
计划任务设置好后重启crond服务,命令为:
service crond restart
2.3、AIX下采用crontab来制定计划任务
在命令行里输入:crontab -e oracle
开始编辑计划文件,输入如下内容:
00 23 * * 0 /oracle/backup/lev0.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 1 /oracle/backup/lev1.sh
00 23 * * 2 /oracle/backup/lev2.sh
00 23 * * 2 /oracle/backup/l lev2.sh
00 23 * * 2 /oracle/backup/l lev2.sh