rman差异增量及累积增量的区别

在rman增量备份中,有差异增量和累积增量的概念


1、概念

差异增量(Differential):是备份低级别或者相同级别备份以来变化的所有数据块,顾名思议,也就是要备前期备份以来的差异数据块

若前面的备份同时存在低级别和相同级别,则优先选择备份从最近的低级别(n-1)以来变化的数据块,

若没有n-1级别备份,则选择备份同级别备份以来变化的数据块,

若没有同级别的备份,则备份更低级别以来(n-x)变化的数据

若前面同时有n-1级别和相同级别,则备份相同级别以来变化的数据

累积增量(Cumulative):是备份n-1级别(上级)或更低级别以来变化的所有数据块

若前面的备份同时存在低级别和n-1级别,则优先选择备份从n-1级别以来变化的数据块

若没有n-1级别,则备更低级别的(n-x)

2、备份策略及恢复

以rman多级增量备份来作为备份策略例子:

增量备份都需要一个0级备份来作为基础,0级备份与全备份的区别在于0级可以用来增量恢复,而全备份则不可以。

备份策略:

eg:我们对一星期做如下备份策略

案例
星期                  差异增量             累积增量

星期天                0级                 0级

星期一                2级                 2级

星期二                2级                 2级

星期三                1级                 1级

星期四                2级                 2级

星期五                2级                 2级

星期六                2级                 2级

星期天                0级                 0级

对于差异增量,周一的二级备从周日到周一变化的数据 (没有n-1级,也没有同级别)

周二的二级备从周一到周二变化的数据 (没有n-1级,有同级别)

周三的一级备从周日到周三变化的数据 (没有n-1级,有同级别)

周四的二级备从周三到周四变化的数据 (有n-1级)

周五的二级备从周四到周五变化的数据  (有n-1级,有同级别)

周六的二级备从周五到周六变化的数据  (有n-1级,有同级别)

如图:

假如周六数据库需要恢复(周五的二级备份完毕,未备份周六的),那么差异增量只需要使用星期天的0级,星期三的一级,星期四、五的二级加归档日志就可以完全恢复

对于累积增量,周一的二级备从周日到周一变化的数据 (没有n-1级,有更低级别)

周二的二级备从周日到周二变化的数据 (没有n-1级,有更低级别)

周三的一级备从周日到周三变化的数据 (有n-1级)

周四的二级备从周三到周四变化的数据 (有n-1级)

周五的二级备从周三到周五变化的数据 (有n-1级)

周六的二级备从周三到周六变化的数据 (有n-1级)

如图示:

假如周六数据库需要恢复(周五的二级备份完毕,未备份周六的),累积增量则需要星期天的0级,周三的一级,星期五的二级加归档日志即可进行完全恢复

以上是一个星期的备份策略,如果做长期的备份策略则只需要把备份的时间延长即可得到新的备份策略,具体需要看自己备份及恢复能够接受的程度而顶,见最后的备份策略典型备份命令如下:

零级备份
backup incremental level 0 database;
一级差异增量
backup incremental level 1 database;
一级累计增量
backup incremental level 1 cumulative database;

备份策略典型案例:

每半年做一个数据库的全备份(包括所有的数据和只读表空间)
每一个月做一次零级备份(不包含只读表空间)
每个星期做一次一级备份
每天做一次二级备份

任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)
建议备份一段时间归档日志和定期备份归档到到磁带上

全库备份脚本
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;
}

一级备份脚本
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;
}

如果按照以上备份策略,则每天的所需要备份的数据量只有一天的改变量。而做恢复时最多要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档 文件。如果不能接受这样的恢复时间,可以减少零级备份之间的时间间隔。在每次备份后,原则上在该备份点之前的归档日志就可以删除掉了,但是为了进一步的安 全以及日后需要(如使用LOGMNR查找所需信息),建议有条件的话,归档日志保存到能够接受的时间点,可以保存在磁带等廉价存取设备上。

时间: 2024-11-08 07:57:27

rman差异增量及累积增量的区别的相关文章

Oracle 差异增量和累积增量的区别

Oracle 差异增量和累积增量的区别 Rman 一个强大的功能是支持增量备份,增量备份中心思想就是减少备份的数据量,使用增量备份后就可以不用从头开始备份了,只需要备份自上次已备份之后的数据块开始进行数据备份. Oracle 的增量备份分为差异增量备份(Differential Incremental Backup)和积累增量备份(Cumulative Incremental Backup)两种 . 关于Oracle增量备份级别 在10g之前的版本中,增量备份共有 0.1.2.3.4 五种级别,

ORACLE RMAN备份--差异增量与累积增量的策略实例图

转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图 BACKUP 命令在不显式指定的情况下,默认情况下会选择Differential方式,即差异增量备份.不过从恢复效率的角度考虑,Cumulative方式的增量备份表现更好一些,毕竟不需要读取那么多备份集了. 注意: 在10g之前的版本中,增量备份可以有 n 多个级别,从0级.1级.2级……这样顺序排列直到 n 级( n 为小于等于4的正整数). 在10g版本中,Oarcle的官方文档明确指出增量备份只有0和1两种级别(太多增

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

本文转自hougoo的博客 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间:而差异增量正好相反,它可以备份同级备份以来变化的数据块.所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份

MySQL第五天(增量备份和增量恢复)

day05一.数据备份与恢复-增量备份和增量恢复a.binlog日志介绍(二进制文件):使用Mysql数据库服务日志文件类型的一种.记录除查询之外的sql命令.默认没启用 查询的sql包括:select desc show 不是查询的命令:insert update delete create drop grant revoke b.启用binlog日志如何启用日志默认存放位置/var/lib/mysql日志默认名称主机名-bin.00000151-bin.000001 (大于500M自动生成0

9.11、mysql增量备份和增量恢复介绍

1.增量备份: 增量数据是从上次全量备份之后,更新的新数据,对于mysql来说,binlog日志就是mysql的增量数据: (1)按天进行备份: 周一00点全量备份 周二00点全量备份 ...... 01.sql.gz 02.sql.gz ...... 周一增量备份 周二增量备份 ...... mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.index mysql-bin.000004 mysql-bin.000005 m

关于前增量与后增量的认识误区

大学时老师讲C++时说过, x=i++;  与  x=++i  的区别 当时以为很懂了,一个是后增量,一个是前增量 x= i++;  相当于  x=i ;  i=i+1; x=++i ; 相当于   i=i+1;  x=i ; 并对这种解释深信不疑. 近日 微信群看到一则题目,甚是困惑,将我之前的理解给颠覆了 var k=5;for(var i=0;i<10;i++){    k=k++;}console.log(k); // 5var k=5;for(var i=0;i<10;i++){  

[课]9.3示例说明Oracle RMAN两种库增量备份的差别

1差异增量实验示例 1.1差异增量备份 为了演示增量备份的效果,我们在执行一次0级别的备份后,对数据库进行一些改变. 再执行一次1级别的差异增量备份: 执行完1级别的备份后再次对数据库进行更改: 再执行一次1级别的差异增量备份: 查看当前SCN,我们对表进行删除: 由此我们就可以演示利用增量备份来演示恢复BAKTAB01表和BAKTAB02表. 1.2差异增量恢复 查看表是否已经恢复: 2累积增量实验示例 2.1累积增量备份 首先对数据库做一次0级别的累积增量备份: 为了演示累积增量备份的效果,

oracle11gRAC环境使用RMAN备份方案

转摘:http://blog.itpub.net/29819001/viewspace-1320977/ [[email protected] ~]$ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Thu Oct 16 18:20:57 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.connec

RMAN备份等级详解

(2011-06-27 11:38:28) 转载▼ 标签: 杂谈分类: oracle 在rman增量备份中,有差异增量和累积增量的概念 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间:而差异增量正好相反,它可以备份同级备份以来变化的数据块.所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需