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

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

Rman 一个强大的功能是支持增量备份,增量备份中心思想就是减少备份的数据量,使用增量备份后就可以不用从头开始备份了,只需要备份自上次已备份之后的数据块开始进行数据备份。

Oracle 的增量备份分为差异增量备份(Differential Incremental Backup)和积累增量备份(Cumulative Incremental Backup)两种 。

  • 关于Oracle增量备份级别

在10g之前的版本中,增量备份共有 0、1、2、3、4 五种级别,其中 0 级最高,4级最低,0 级是 1 级的基础以此类推。
Oracle 10g 官方文档明确指出增量备份只有 0 和 1两种级别(太多增量级别其实没有太大的意义),不过实际执行增量操作时,仍然能够指定多个级别,最大能够支持4级增量备份。

0级备份和完全备份的区别
The only difference between a level 0 incremental backup and a full backup is that a full backup is never included in an incremental strategy.
0级增量备份和完全备份之间的唯一区别是,完全备份永远不会包含在增量策略中。
增量备份0级与全备份都是全备份,但是增量备份0级使用rman备份的话就只备份了used block,而全备份备份了used and unused block

  • 增量备份原理

每一个数据块上都包含一个 SCN,SCN 可以标识最近一次对数据区块的变更。在增量备份的过程中,Rman 读取每一个数据块的 SCN 与之前备份的 SCN 相比较,

从而判断出数据区块 是否发生了变化,然后根据此进行备份。但是需要注意的是,在早期版本,即使是数据块只有小的变化,Rman 扫描的时间也可能会极其漫长。

Oracle 10g 引入了区块变化跟踪特性解决了这一问题。

  • 差异增量备份(Differential Incremental Backup)
  • backup incremental level 1 differential database;

差异备份是 Rman 生成的增量备份的默认类型。对于差异备份来说,Rman 会备份自上一次上级或同级差异增量备份以来所有发生变化的数据块。
例如:我们在星期天执行 Level 0 级差异增量备份操作,这个备份操作会备份整个数据库。根据这个 Level 0 级备份,我们在星期一执行 Level 1 级差异增量备份操作。

该备份操作将备份自周日 Level 0 级备份以来所有发生变化的数据块。在周二时 Level 1 级增量备份将备份所有自周一 Level 1 级备份以来发生变化的数据块。

如果要执行恢复操作,就需要星期一、星期二生成的备份以及星期天生成的基本备份。

  • 累积增量备份(Cumulative Incremental Backup)
  • backup incremental level 1 cumulative database; 

累计增量备份是指备份自最近的上级(0级)累积增量备份以来所变化的数据块。累积增量备份能减少恢复时间。
例如:我们在星期天执行 Level 0 级差异增量备份操作,此时会备份整个数据库。随后,我们星期一执行 Level 1 级差异增量备份操作,在星期二进行另一个 Level 1 级累积增量备份操作。

需要注意的是:星期二生成的备份不仅包含星期一的差异备份以后发生变化的数据块,而且还含有星期一生成的备份中所包含的数据块。

因此,累积备份累积了任何同级或低级增量备份操作包含的所有发生变化的数据块。如果要执行恢复操作,就只需要星期二生成的备份以及星期天生成的基本备份。

差异增量备份与累积增量备份比较

差异增量备份: 速度较快、因为仅存储少量变化的块、但需要更长的时间来恢复;
积累增量备份: 主要优势是恢复时间较短、缺点是备份时间长和磁盘开销大;

放一张多级备份策略图

原文地址:https://www.cnblogs.com/chendian0/p/11158952.html

时间: 2024-10-27 21:55:43

Oracle 差异增量和累积增量的区别的相关文章

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

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

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

在rman增量备份中,有差异增量和累积增量的概念 1.概念 差异增量(Differential):是备份低级别或者相同级别备份以来变化的所有数据块,顾名思议,也就是要备前期备份以来的差异数据块 若前面的备份同时存在低级别和相同级别,则优先选择备份从最近的低级别(n-1)以来变化的数据块, 若没有n-1级别备份,则选择备份同级别备份以来变化的数据块, 若没有同级别的备份,则备份更低级别以来(n-x)变化的数据 若前面同时有n-1级别和相同级别,则备份相同级别以来变化的数据 累积增量(Cumulat

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

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

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

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

oracle唯一索引与普通索引的区别和联系以及using index用法

oracle唯一索引与普通索引的区别和联系 区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束.添加唯一索引的数据列可以为空,但是只要尊在数据值,就必须是唯一的. 联系:1)unique index就是额外添加唯一性的约束.该约束严格的保证索引列的取值是唯一的,这在一些数据列上的业务约束是很重要的功能.比如一个数据列,不能作为主键,而且允许为空,但是业务上要求唯一特性,这个时候用唯一性索引就是最好的旋转.2)性能上两者并无很大区别. u

Oracle 中单引号和双引号的区别

问题产生原因: insert into t_Cluster_Showresult(Outhostname,Domainlist,Iplist,Classify) values ("2014512-7","www.renren.com\twww.baidu.com","192.168.2.1","2") 此条语句执行不成功,报错列不允许,经查,是因为双引号的问题,改成insert into t_Cluster_Showresul

转: Oracle Form 中commit 与do_key('commit_form')区别

1.commit_form针对form上面的数据变动进行commit,对于代码中的类似update,insert语句也进行提交:如果form上面的数据变动和代码中的数据变动有冲突,最后以界面上的为准.2.do_key('commit_form')会首先寻找form下的triggers中的KEY-COMMIT这个trigger,并执行KEY-COMMIT中所写的代码.如果没有KEY-COMMIT这个trigger,则会针对form和代码一起提交.如果form上面的数据变动和代码中的数据变动有冲突,

oracle中varchar,varchar2,nvarchar,nvarchar2的区别

--varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如 varchar(20)表示最大可以存放20个字节的内容 区别: 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节: 2.VARCHAR2

Oracle中Null与空字符串' '的区别

含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零. ORACLE允许任何一种数据类型的字段为空,除了以下两种情况: 1.主键字段(primary key), 2.定义时已经加了NOT NULL限制条件的字段 说明: 1.等价于没有任何值.是未知数. 2.NULL与0.空字符串.空格都不同. 3.对空值做加.减.乘.除等运算操作,结果仍为空. 4.NULL的处理使用NVL函数. 5.比较时使用关键