一、增量与差异

关于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 之后所有变化的块

② 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 、恢复的时间变得更短

二、增量与差异备份语法

备份命令如下:
  零级备份
  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

Oracle Rman 增量备份与差异备份的更多相关文章

  1. 阿里云 如何减少备份使用量? mysql数据库的完整备份、差异备份、增量备份

    RDS for MySQL备份.SQL审计容量相关问题_MYSQL使用_技术运维问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/4 ...

  2. sql server 数据库备份,完整备份,差异备份,自动备份说明

    Sql server 设置完整备份,差异备份说明 在数据库管理器中,选择要备份的数据库,右键找到“备份” 然后可以按照备份的方式进行备份. 关于文件的还原,作以下补充说明: 步骤为: 1.在需要还原的 ...

  3. 日志备份和差异备份还原中的常见问题示例(转自&邹建)

    --创建测试 CREATE DATABASE db GO    --正常备份 BACKUP DATABASE db TO DISK='c:\1.bak' WITH FORMAT BACKUP LOG  ...

  4. sqlserver2008r2还原完整备份和差异备份及自动删除过期备份

    本文主要内容: 还原完整和差异备份 删除超过1个月的备份 注:保证SQL Server代理服务启动,并把服务设置为自动启动 完整备份和差异备份还原原理: 差异备份是完整备份的补充,只备份上次完整备份后 ...

  5. SQL Server 2012完全备份、差异备份、事务日志备份和还原操作;

    SQL Server 2012完全备份.差异备份.事务日志备份和还原操作: 1.首先,建立一个测试数据库,TestA:添加一张表,录入二条数据:备份操作这里我就不详细截图和讲解了.相信大家都会备份,我 ...

  6. Sql server 2008 的完成备份和差异备份还原

    当数据库数据量不大的情况下用 Sqlserver 的完全备份就完全可以了 步骤为: 1.在需要还原的数据库上右键选择如图 2.在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原 ...

  7. SQL Server 2000中的完整备份、差异备份操作

    在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻 ...

  8. SQLSERVER20008 完整备份和差异备份

    --差异备份 DIFFERENTIAL ) ),)+'.bak' BACKUP DATABASE [testbackup] TO DISK=@name WITH DIFFERENTIAL, NOFOR ...

  9. 完整备份和差异备份数据库的SQL脚本

    工作中需要创建SQL Job对数据库进行定期备份,现把脚本记录如下. 1. 完整备份: -- FULL declare @filename varchar(1024), @file_dev varch ...

随机推荐

  1. Linux设备驱动中的IO模型---阻塞和非阻塞IO【转】

    在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用. 回顾一下在Unix/Linux下共有五种I/O模型,分别是: ...

  2. bootstrap4

    lipsum, lorem生成假文, 是在编辑器中按tab键时生成的, 那个时候就已经生成了, 所以你在浏览器上看到的内容就是编辑器中的内容, 这个内容不会再变了. 所以你不要企图想刷新浏览器而改变假 ...

  3. java中new一个对象和对象=null有什么区别

    原创:转载请注明出处 今天在写代码时,遇到一个问题,特此进行记录. for (ProfileDto profileDto : profile)            { // Profile resP ...

  4. MVC ---- ckeditor 循环遍历并绑定blur事件

    function GetFollowList(page) { , pages: page }; pages = JSON.stringify(pages); var datas = { param: ...

  5. hdu 1573 X问题 两两可能不互质的中国剩余定理

    X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Desc ...

  6. JavaScript页面跳转的一些实现方法

    第一种 <script language=”javascript” type=”text/javascript”> window.location.href=”login.jsp?back ...

  7. python 字符串输出转义{}

    >>> print ("{} 对应的位置是 {{0}}".format("runoob")) runoob 对应的位置是 {}

  8. [STL][C++]VECTOR

    参考:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个 ...

  9. 《剑指offer》第五题(替换空格)

    // 替换空格 // 题目:请实现一个函数,把字符串中的每个空格替换成"%20".例如输入“We are happy.”, // 则输出“We%20are%20happy.”. # ...

  10. Java 8 Lambda实现原理分析

    PDF文档已上传Github  Github:https://github.com/zwjlpeng/Angrily_Learn_Java_8 为了支持函数式编程,Java 8引入了Lambda表达式 ...