Oracle Rman 增量备份与差异备份
一、增量与差异
关于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 增量备份与差异备份的更多相关文章
- 阿里云 如何减少备份使用量? mysql数据库的完整备份、差异备份、增量备份
RDS for MySQL备份.SQL审计容量相关问题_MYSQL使用_技术运维问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/4 ...
- sql server 数据库备份,完整备份,差异备份,自动备份说明
Sql server 设置完整备份,差异备份说明 在数据库管理器中,选择要备份的数据库,右键找到“备份” 然后可以按照备份的方式进行备份. 关于文件的还原,作以下补充说明: 步骤为: 1.在需要还原的 ...
- 日志备份和差异备份还原中的常见问题示例(转自&邹建)
--创建测试 CREATE DATABASE db GO --正常备份 BACKUP DATABASE db TO DISK='c:\1.bak' WITH FORMAT BACKUP LOG ...
- sqlserver2008r2还原完整备份和差异备份及自动删除过期备份
本文主要内容: 还原完整和差异备份 删除超过1个月的备份 注:保证SQL Server代理服务启动,并把服务设置为自动启动 完整备份和差异备份还原原理: 差异备份是完整备份的补充,只备份上次完整备份后 ...
- SQL Server 2012完全备份、差异备份、事务日志备份和还原操作;
SQL Server 2012完全备份.差异备份.事务日志备份和还原操作: 1.首先,建立一个测试数据库,TestA:添加一张表,录入二条数据:备份操作这里我就不详细截图和讲解了.相信大家都会备份,我 ...
- Sql server 2008 的完成备份和差异备份还原
当数据库数据量不大的情况下用 Sqlserver 的完全备份就完全可以了 步骤为: 1.在需要还原的数据库上右键选择如图 2.在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原 ...
- SQL Server 2000中的完整备份、差异备份操作
在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻 ...
- SQLSERVER20008 完整备份和差异备份
--差异备份 DIFFERENTIAL ) ),)+'.bak' BACKUP DATABASE [testbackup] TO DISK=@name WITH DIFFERENTIAL, NOFOR ...
- 完整备份和差异备份数据库的SQL脚本
工作中需要创建SQL Job对数据库进行定期备份,现把脚本记录如下. 1. 完整备份: -- FULL declare @filename varchar(1024), @file_dev varch ...
随机推荐
- C# 判断网络文件是否存在
#region 判断网络文件是否存在 //bool result = false;//下载结果 //string fileUrl = "http://localhost:7070/FileU ...
- 文件IO和标准IO的区别【转】
一.先来了解下什么是文件I/O和标准I/O: 文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O).不带缓存指的是每个read,write都调用内核中的一个系统调用.也就是一般所 ...
- vim的个性化配置- 再谈vim的折叠和展开 -- 彻底掌握vim 的展开和折叠!
http://www.wklken.me/posts/2016/02/03/some-vim-configs.html 一般把 设置成 逗号, 是比较好的, 因为逗号比默认的leader 要方便键入 ...
- BZOJ2819: Nim 树链剖分
Description 著名游戏设计师vfleaking,最近迷上了Nim.普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取.谁不能取谁输.这个游 ...
- 回顾:C++开篇课堂
周三,在刚刚结束矩阵分析的考试之后,面向对象程序设计课正式开始了C++的学习,这次课的重点即是面向对象思想的理解. 梳理一下知识点. C++中函数的默认参数 在函数声明或者在函数定义时,对参数赋初始值 ...
- 一些WGS健康体检网站和公司
1.wegen https://www.wegene.com/ 2.阅己基因 http://www.selfgene.com/
- Java String 中的一些函数与正则的结合使用
首先正则表达式在处理字符串问题时,真的非常强大. 正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题. 正则中"\\"表示插入一个"\" 这里仅 ...
- codeforces 350 div2 D Magic Powder - 2 二分
D2. Magic Powder - 2 time limit per test 1 second memory limit per test 256 megabytes input standard ...
- vim/vi中移动光标键会变成A,B,C,D的解决办法
在某些情况下, vi/vim中的编辑会出现一些很不愉快的情况, 比如在vi/vim中输入方向键有时被转化为A B C D, 或者按个Enter键, 却被转为为其他字母, 恼人得很, 该怎么办呢? 方法 ...
- Ubuntu更新软件源出现GPG error
原因 在sources.list文件中加入了非ubuntu官方源,所以认为加入源是不可信任的. 解决方法导入该源公钥.E084DAB9为PUBKEY后八位 gpg --keyserver keyser ...