rman备份方法之-增量备份
2014-10-09 16:05
176 查看
使用类型:系统负载集中在某那个时间段,如白天8小时,晚上基本很闲,所以在晚上就可以对数据进行备份
与之相对应的是全库备份:
http://blog.csdn.net/jacson_bai/article/details/39636915
1、ENV:
IP: 10.244.171.180/181
Oracle database Oracle 11.2.0.3
OS RHEL 5.5
Backup Toos:RMAN,shell,crontab
2、备份计划(增量计划)
Sunday :execute level 0 incremental back
Monday :execute level 2 incremental back
Tuesday :execute level 2 incremental back
Wednesday:execute level 1 incremental back
Thursday :execute level 2 incremental back
Friday :execute level 2 incremental back
Saturday :execute level 2 incremental back
3、在Node2规划backup 目录
--先创建保存备份脚本的目录
$mkdir -p /Data/scripts/rman/
--创建备份数据的目录
$mkdir -p /Data/rmandata/ --存放备份的数据目录
3、制定*.sql和rman_backup.sh脚本
--全备lv0级:
$cd /Data/scripts/rman/
$vi backup_lv0.sql
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup incremental level 0 database
include current controlfile format '/Data/rmandata/backup_%T_%s_%U_%t.lv0'
plus archivelog delete all input format '/Data/arch/backup_%T_%s_%p_%t.arc';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
--增量备lv1级:
vi backup_lv1.sql
run{
allocate channel c1 type disk;
backup incremental level 1 database include current controlfile
format '/Data/rmandata/backup_%T_%s_%p.lv1';
release channel c1;
}
--累计备lv2级:
$vi backup_lv2.sql
run{
allocate channel c1 type disk;
backup incremental level 2 database include current controlfile
format '/Data/rmandata/backup_%T_%s_%p.lv2';
release channel c1;
}
4、编写shell脚本
--脚本要实现的功能:
1.正确判断星期
2.记录每个rman备份运行的时间
#!/bin/bash
source /home/oracle/.bash_profile
myweek=`date +%a`
mydate=`date +%Y%m%d`
mydir=/Data/
#Monday
if [ "$myweek" == "Mon" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Tuesday
if [ "$myweek" == "Tue" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Wednesday
if [ "$myweek" == "Wed" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv1.sql
fi
#Thursday
if [ "$myweek" == "Thu" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Friday
if [ "$myweek" == "Fri" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Saturday
if [ "$myweek" == "Sat" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Sunday
if [ "$myweek" == "Sun" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv0.sql
fi
5、crontab脚本指定
$crontab -e
30 20 * * * sh /Data/script/rman/rman_backup.sh;
与之相对应的是全库备份:
http://blog.csdn.net/jacson_bai/article/details/39636915
1、ENV:
IP: 10.244.171.180/181
Oracle database Oracle 11.2.0.3
OS RHEL 5.5
Backup Toos:RMAN,shell,crontab
2、备份计划(增量计划)
Sunday :execute level 0 incremental back
Monday :execute level 2 incremental back
Tuesday :execute level 2 incremental back
Wednesday:execute level 1 incremental back
Thursday :execute level 2 incremental back
Friday :execute level 2 incremental back
Saturday :execute level 2 incremental back
3、在Node2规划backup 目录
--先创建保存备份脚本的目录
$mkdir -p /Data/scripts/rman/
--创建备份数据的目录
$mkdir -p /Data/rmandata/ --存放备份的数据目录
3、制定*.sql和rman_backup.sh脚本
--全备lv0级:
$cd /Data/scripts/rman/
$vi backup_lv0.sql
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup incremental level 0 database
include current controlfile format '/Data/rmandata/backup_%T_%s_%U_%t.lv0'
plus archivelog delete all input format '/Data/arch/backup_%T_%s_%p_%t.arc';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
--增量备lv1级:
vi backup_lv1.sql
run{
allocate channel c1 type disk;
backup incremental level 1 database include current controlfile
format '/Data/rmandata/backup_%T_%s_%p.lv1';
release channel c1;
}
--累计备lv2级:
$vi backup_lv2.sql
run{
allocate channel c1 type disk;
backup incremental level 2 database include current controlfile
format '/Data/rmandata/backup_%T_%s_%p.lv2';
release channel c1;
}
4、编写shell脚本
--脚本要实现的功能:
1.正确判断星期
2.记录每个rman备份运行的时间
#!/bin/bash
source /home/oracle/.bash_profile
myweek=`date +%a`
mydate=`date +%Y%m%d`
mydir=/Data/
#Monday
if [ "$myweek" == "Mon" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Tuesday
if [ "$myweek" == "Tue" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Wednesday
if [ "$myweek" == "Wed" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv1.sql
fi
#Thursday
if [ "$myweek" == "Thu" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Friday
if [ "$myweek" == "Fri" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Saturday
if [ "$myweek" == "Sat" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql
fi
#Sunday
if [ "$myweek" == "Sun" ]; then
rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv0.sql
fi
5、crontab脚本指定
$crontab -e
30 20 * * * sh /Data/script/rman/rman_backup.sh;
相关文章推荐
- rman备份中差异增量和累积增量的区别
- 使用rman nocatalog方式备份Oracle - NetBackup配置方法
- Nocatalog 下的RMAN 增量备份 shell脚本
- Nocatalog 下的RMAN 增量备份 shell脚本
- Nocatalog 下的RMAN 增量备份 shell脚本
- Oracle在Rman备份模式下误删归档日志文件解决方法
- 使用Rman 全备份以及增量备份 推荐
- oracle 备份失败 RMAN-03002,RMAN-00569,RMAN-00571等处理方法
- oracle10g RMAN增量备份策略
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
- 在rman增量备份中,有差异增量和累积增量的概念
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
- oracle rman 实验(oracle rman Cumulative累积增量备份和恢复)
- Nocatalog 下的RMAN 增量备份 shell脚本
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
- RMAN未使用catalog备份丢失控制文件的恢复方法
- RMAN在非归档模式下的增量备份和恢复
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
- Nocatalog 下的RMAN 增量备份 shell脚本
- oracle联机热备原理及rman增量备份原理