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