Oracle Rman 增量备份与差异备份

时间:2023-12-23 10:13:26

一、增量与差异

关于Incremental增量备份级别:

Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推。

Oracle 10g官方文档明确指出增量备份只有0和1两种级别(太多增量级别其实没有太大的意义),不过实际执行增量操作时,仍然能够指定多个级别,最大能够支持4级增量备份。

Oracle 11g 增量备份只有0和1两种级别。

问题: RMAN differential Backups 是什么?它和 RMAN cumulative Backups 有啥区别?它们俩和 RMAN incremental backup 一样吗?

答案: Differential 和 cumulative 是 RMAN incremental backups 的两种类型。有时候、RMAN differential backups 被叫做 RMAN cumulative Backups
                然而、RMAN incremental backups 、有时、也会被叫做 RMAN differential Backups。以上这些情况、很容易让人迷惑不解
         
         ● Differential backup (for level 1 parents only)差异备份

differential backup 是默认备份类型 、其原理是寻找最近一次的 level 1 或 level 0、找到后把从这次开始有发生变化的数据块捕获
            Differential backups 速度较快、因为仅存储少量变化的块、但需要更长的时间来恢复
            
         ● Cumulative backup (for level 0 or level 1 parents)  累积备份          
            对于 Cumulative backup 、RMAN 备份了最近一次 level 0 之后所有发生变化的数据块
            比起 Differential backup、Cumulative backup 的主要优势是恢复时间较短、缺点是备份时间长和磁盘开销大
         
         二者的简单比较如下:
         
         ● 恢复速度
            
            Cumulative backups 能更快地把文件覆盖回去(restore)、因为只需在少量被覆盖的文件上应用日志(recover)
            
         ● 备份速度
            
            Differential backups 能花费更少的时间、因为不涉及到之前的备份、然而、代价是要更长的时间来恢复
            
         ● 磁盘空间
            
            Cumulative backups 需要更多的磁盘空间、因为它会进行重复劳动、把之前的备份也给备份
         
         从本质上讲、选 D 还是 C 归根于在磁盘开销和恢复速度上做权衡、在其他条件都相等的前提下、恢复速度所占的权重优先级最高
         因为这样做会最小化非计划的宕机时间、如果你有足够的磁盘和夜间备份的时间、你可以选择 C
         可是、倘若磁盘空间不够、而且、也没有足够的时间来备份、那么、你可以选择 Differential backups、记住了、这是需要长时恢复的
         
         
         ① Differential Incremental Backup (for level 1 parents only)
         
         当使用 Differential backups、RMAN 寻找最近一次 level 1 之后有变化的块、如果找不到 level 1、则会捕获从最近一次 level 0 之后所有变化的块

Oracle Rman 增量备份与差异备份

② Cumulative Incremental Backup (for level 0 or level 1 parent backups)
         
         对于 Cumulative backups、RMAN 备份了所有 level 0或 level 1 之后所有变化的块 
         和 Differential backups 一样、Cumulative backups 也仅备份变化的块、这些块是自从上次备份以来所有发生变化的块
         
         如果上次备份也是 Cumulative backups、那么当前的 Cumulative backups 只是记录 "变化的变化"、产生更小的数据变化集
         因此、比起 Differential backups 、恢复的时间变得更短

Oracle Rman 增量备份与差异备份

二、增量与差异备份语法

备份命令如下:
  零级备份
  backup incremental level 0 database;
  一级差异增量
  backup incremental level 1 database;
  一级累计增量
  backup incremental level 1 cumulative database;

增量备份原理每一个数据块上都包含一个SCN,SCN可以标示最近一次对于Block的变更。在增量备份的过程中,RMAN读取每一个数据块的SCN与之前备份的SCN相比较,从而判断出Block是否发生了变化,然后根据此进行备份。但是需要注意的是,在早期版本,即使是数据块只有小的变化,RMAN扫描的时间也可能会极其漫长。Oracle 10g引入了Block Change Tracking特性解决了这一问题。

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

差异增量备份(Differential Incremental Backup)差异备份是RMAN生成的增量备份的默认类型。对于差异备份来说,RMAN会备份自上一次同级或低级差异增量备份以来所有发生变化的数据块。例如:我们在星期天执行0级差异增量备份操作,这个备份操作会备份整个数据库。根据这个0级备份,我们在星期一执行1级差异增量备份操作。该备份操作将备份自周日0级备份以来所有发生变化的数据块。在周二时1级增量备份将备份所有自周一1级备份以来发生变化的数据块。如果要执行恢复操作,就需要星期一、星期二生成的备份以及星期天生成的基本备份。下面是一个执行1级差异增量备份操作的示例:backup incremental level=1 database;

累计增量备份(Cumulative Incremental Backup)累计增量备份是指备份自最近的级别0备份以来所变化的数据块。累积增量备份能减少恢复时间。例如:我们在星期天执行0级差异增量备份操作,此时会备份整个数据库。随后,我们星期一执行1级备份操作,这种备份不同于差异备份,在星期二进行另一个1级差异备份操作。需要注意的是:星期二生成的备份不仅包含星期一的差异备份以后发生变化的数据块,而且还含有星期一生成的备份中所包含的数据块。因此,累积备份累积了任何同级或低级增量备份操作包含的所有发生变化的数据块。如果要执行恢复操作,就只需要星期二生成的备份以及星期天生成的基本备份。下面是一个执行1级累积增量备份操作的示例:backup incremental level=1 cumulative database;

转载自:

https://blog.csdn.net/pan_tian/article/details/46780929

https://blog.csdn.net/dba_waterbin/article/details/8747732

原文地址:Incremental Differential vs. Incremental Cumulative Backups