累计增量备份策略_【转】在rman增量备份中,有差异增量和累积增量的概念

本文详细介绍了Oracle数据库中增量备份的差异增量和累计增量策略。差异增量备份自上次同级或更高级别备份以来变化的数据块,而累计增量备份自上次级别0备份以来的所有变化数据。累积增量虽然需要更多备份时间,但恢复时间较短,而差异增量则相反。10g引入了块跟踪技术提高备份效率,推荐使用level 0和level 1级别的备份。
摘要由CSDN通过智能技术生成

1、概念

差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式

累积增量:是备份上级备份以来所有变化的块

因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间;而差异增量正好相反,它可以备份同级备份以来变化的数据块。所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份形成多个不同的备份集,使恢复变得更加不可靠,所以增量备份在版本9中仍然不被推荐使用;在10g中,增量备份作了很大的改进,不需要再扫描所有数据块就能得知哪些数据块发生变化(块跟踪),从而大大提升备份效率。但这些却以牺牲磁盘i/o为代价,所以在oltp事务系统中还得衡量是否愿意以i/o为代价来保证安全及高可用性。10g还支持增量合并,增量备份可支持7级增量。

开启块跟踪功能 (Database Backup and Recovery Basics 4.4.4Improving Incremental Backup Performance: Change Tracking)

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/app/oracle/product/oradata/fatdb/rman_chg.log' reuse;

Database altered.

需要说明的是10g起oracle官方只推荐使用level 0和level 1级备份,10g还能使用level 2。本文只讨论下level 2的含义,并不推荐使用。

首先看下Oracle官方解释 载至在线文档Database Backup and Recovery Basics 4.4节RMAN Incremental Backups:

A level 1 incremental backup can be either of the following types:

A differential backup, which backs up all blocks changed after the most recent incremental backup at level 1 or 0

A cumulative backup, which backs up all blocks changed after the most recent incremental backup at level 0

Incremental backups are differential by default.

也就是differential 是上次备份(不论是level 0或者level 1)至今的变化数据,这个是level 1的缺省值。而cumulative 是从上次level 0备份后至今的所有的变化数据,也就是说,如果在level 0 至今,中间如果有若干次增量备份(level  1的differential 或者cumulative ),所有的变化内容都将保存在这个增量集中。

集合下图理解:

增量备份的level 1是从上次0或者1至今的变化,而level 2是从上次备份至今的增量,无论是0或者1或者2;

累积备份的level 1是从上次0至今的累积变化,而level 2是上次level 0或者level 1至今的累积增量(包括期间的level 2增量累计和)

这里看一个具体例子:若我们对一个星期做如下备份策略。如果我们要恢复到星期五那天,那么差异增量只需要使用星期天的0级,星期三的1级,星期四、五的2级就可以恢复;累积增量则需要星期天的0级、星期三的1级,星期五的2级即可进行恢复。

从网上载了几个备份脚本

全库备份:

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup full tag 'dbfull' format '/u01/oradata/backup/full%u_%s_%p' database

include current controlfile;

sql 'alter system archive log current';

backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'

archivelog all delete input; #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

零级备份:

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup incremental level 0 tag 'db0' format '/u01/oradata/backup/db0%u_%s_%p'

database skip readonly;

sql 'alter system archive log current';

backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'

archivelog all delete input; #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

1级备份:

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup incremental level 1 tag 'db1' format '/u01/oradata/backup/db1%u_%s_%p'

database skip readonly;

sql 'alter system archive log current';

backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'

archivelog all delete input; #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值