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 ...
随机推荐
- jQuery 中 $( ) 函数的用法总结
摘要 jQuery对象: 具有jquery框架设置的所有功能的调用者, 就是该框架的对象 $又是什么?: $就是jQuery对象, jQuery对象为window的全局属性, 所以可以直接使用 如何自 ...
- 51NOD 1046 A^B Mod C
给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) ...
- 论文笔记——Deep Model Compression Distilling Knowledge from Noisy Teachers
论文地址:https://arxiv.org/abs/1610.09650 主要思想 这篇文章就是用teacher-student模型,用一个teacher模型来训练一个student模型,同时对te ...
- Java 类引入 学习记录规整
之前觉得声明一个类,再把另一个包内的声明数值用第一个类打印出来就可以了(加入引入包类) 结果发现是不对的 看了看demo 得出正确结果 ImportTest 被运行 引入下面的Import类 ...
- jquery.cookie.js中$.cookie() 使用方法
定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jquery.coo ...
- Linux command line exercises for NGS data processing
by Umer Zeeshan Ijaz The purpose of this tutorial is to introduce students to the frequently used to ...
- shell 清空指定大小的日志文件
#!/bin/bash # 当/var/log/syslog大于68B时 if ! [ -f /var/log/syslog ] then echo "file not exist!&quo ...
- Ubuntu 关闭防火墙
关闭防火墙:service iptables stop
- selenium-webdriver 简单教程
ruby环境下selenium/webdriver可以通过selenium-webdriver.gem包进行安装 gem install selenium-webdriver 支持语言及版本有ru ...
- 探秘AOP实现原理
可以这么说,AOP是基于动态代理实现的. 那么,这个过程是怎样的? 首先,我们有这样的一个Service类,它是被作为切面的一个类: public class Service implements U ...