探索ORACLE之RMAN_05增量备份

简介: 探索ORACLE之RMAN_05增量备份 作者:吴伟龙   在前几次的博文中我提到了数据库的一致性备份和非一致性备份,它们都属于完全备份,对数据的备份,每次备份是备份所有块,在今天我们就来谈谈增量备份,通过增量备份可以有效的节省存储空间及备份的所需的时间。

探索ORACLERMAN_05增量备份

作者:吴伟龙

 

在前几次的博文中我提到了数据库的一致性备份和非一致性备份,它们都属于完全备份,对数据的备份,每次备份是备份所有块,在今天我们就来谈谈增量备份,通过增量备份可以有效的节省存储空间及备份的所需的时间。

 

1、什么是增量备份?

 

什么是增量备份,增量备份分为两种,分别为差异增量(Differential Backup)备份与累计增量(CumulativeBackup)备份。使用RMAN建立备份集的时,默认是备份数据文件的所有数据块,这种备份也称之为完全备份,而增量备份只备份上次备份以来变化的数据块。可以通过RMAN的增量备份来实现数据文件,表空间,数据库的备份,同时使备份文件达到最小。

 

注意:在Oracle10g之前,差异增量备份和累积增量备份都包括012345共五个备份级别,但在Oracle 10g中只有01两个级别,其中0级相当于完全备份。

 

2、差异增量备份:

     差异增量备份级别1备份最近一次增量备份(差异增量备份和累计增量备份)变化的数据块。如果要进行级别1差异增量备份,RMAN备份在执行最后一个级别1的增量备份后所变化的数据块;如果之前没有执行过级别1的备份,就备份自执行级别0以后变化的数据块;如果也没有执行过级别0的备份,Rman就复制自文件创建以来变化的所有数据块,否则执行一个级别0的备份。差异增量备份见(图一)所示。

     周日执行一个级别为0的增量备份,周一和周六执行级别为1的差异增量备份,即指备份自上一个备份以来变化的数据块。

                        (图一)

 

3、累积增量备份:

   累计增量备份是指备份自最近的级别0备份以来所变化的数据块。累积增量备份能减少恢复时间。累计增量备份的示意图如(图二)所示。

                           (图二)

     图二中,周日对数据库执行了级别为0的备份。周一到周六执行级别为1的累积增量备份。从图中的箭头可以看出,累计增量备份是备份级0以来的数据块被修改的数据。累计增量备份增加了备份时间,但是因为恢复的时候,需要从更少的备份集中恢复数据,所以累计增量备份将比差异增量备份更节省时间。

 

 

2、如何创建增量备份

Oracle 9i中,只要是增量备份,都需要对比数据库中的所有数据块。这个过程很费时间,而且由于增量备份形成多个不通的备份集,使得恢复变得更加不可靠速度也更慢。一般情况下不是很使用,但是对大型的数据仓库系统还是非常不错的,OLTP系统一般没有必要在9i数据库上选择增量备份。

但是到了Oracle 10g的时候增量备份有了很大的改进。实现了增量备份成真正意义上的备份。通过特有的增量日志,使得RMAN没有必要去比较数据块中的每个数据块。但代价是会增加磁盘的I/O。另外,Oracle 10g通过备份的合并,使增量备份的结果可以合并在一起,而减少恢复时间。增量备份都需要一个基础,0集备份,0级备份就是所有增量的基础。0级增量备份与全备的不同就是0级备份可以做为其它增量备份的基础备份而全备不可以。如下是0级增量,1级累计增量,1级差异增量的区别。

 

0级备份:

RMAN> backup incremental level 0 database;

Starting backup at 24-MAY-12

using target database control file instead ofrecovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=139 devtype=DISK

channel ORA_DISK_1: starting incremental level 0datafile backupset

channel ORA_DISK_1: specifying datafile(s) inbackupset

input datafile fno=00001name=/DBData/WWL/system01.dbf

input datafile fno=00003name=/DBData/WWL/sysaux01.dbf

input datafile fno=00002name=/DBData/WWL/undotbs01.dbf

input datafile fno=00004name=/DBData/WWL/users01.dbf

channel ORA_DISK_1: starting piece 1 at 24-MAY-12

channel ORA_DISK_1: finished piece 1 at 24-MAY-12

piece handle=/DBBak/bak_WWL_05_24_0knbqjh0_1_1tag=TAG20120524T214400 comment=NONE

channel ORA_DISK_1: backup set complete, elapsedtime: 00:00:56

Finished backup at 24-MAY-12

 

Starting Control File and SPFILE Autobackup at24-MAY-12

piecehandle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120524-00 comment=NONE

Finished Control File and SPFILE Autobackup at 24-MAY-12

 

 

1级累计增量备份

RMAN> backup incremental level 1 cumulativedatabase;

 

Starting backup at 24-MAY-12

using channel ORA_DISK_1

channel ORA_DISK_1: starting incremental level 1datafile backupset

channel ORA_DISK_1: specifying datafile(s) inbackupset

input datafile fno=00001name=/DBData/WWL/system01.dbf

input datafile fno=00003name=/DBData/WWL/sysaux01.dbf

input datafile fno=00002name=/DBData/WWL/undotbs01.dbf

input datafile fno=00004name=/DBData/WWL/users01.dbf

channel ORA_DISK_1: starting piece 1 at 24-MAY-12

channel ORA_DISK_1: finished piece 1 at 24-MAY-12

piece handle=/DBBak/bak_WWL_05_24_0mnbqkvs_1_1tag=TAG20120524T220859 comment=NONE

channel ORA_DISK_1: backup set complete, elapsedtime: 00:00:35

Finished backup at 24-MAY-12

 

Starting Control File and SPFILE Autobackup at24-MAY-12

piecehandle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120524-01 comment=NONE

Finished Control File and SPFILE Autobackup at24-MAY-12

 

RMAN>

 

1级差异增量备份:

RMAN> backup incremental level 1 database;

 

Starting backup at 24-MAY-12

using channel ORA_DISK_1

channel ORA_DISK_1: starting incremental level 1datafile backupset

channel ORA_DISK_1: specifying datafile(s) inbackupset

input datafile fno=00001name=/DBData/WWL/system01.dbf

input datafile fno=00003 name=/DBData/WWL/sysaux01.dbf

input datafile fno=00002name=/DBData/WWL/undotbs01.dbf

input datafile fno=00004name=/DBData/WWL/users01.dbf

channel ORA_DISK_1: starting piece 1 at 24-MAY-12

channel ORA_DISK_1: finished piece 1 at 24-MAY-12

piece handle=/DBBak/bak_WWL_05_24_0onbqls2_1_1tag=TAG20120524T222401 comment=NONE

channel ORA_DISK_1: backup set complete, elapsedtime: 00:00:35

Finished backup at 24-MAY-12

 

Starting Control File and SPFILE Autobackup at24-MAY-12

piece handle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120524-02comment=NONE

Finished Control File and SPFILE Autobackup at24-MAY-12

 

RMAN>

 

目录
相关文章
|
9月前
|
Oracle 关系型数据库 数据库
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
128 1
|
13天前
|
SQL DataWorks Oracle
DataWorks产品使用合集之datax解析oracle增量log日志该如何操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
15 0
|
2月前
|
Oracle 关系型数据库 数据库管理
创建oracle备份路径
创建oracle备份路径
|
2月前
|
SQL 存储 Oracle
oracle如何定期备份数据库sql文件
【1月更文挑战第7天】oracle如何定期备份数据库sql文件
77 8
|
Oracle 关系型数据库 5G
Oracle 12C rman备份占用大量临时表空间
Oracle 12C rman备份占用大量临时表空间
431 0
|
11月前
|
Oracle 关系型数据库 数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
|
Oracle 关系型数据库 Linux
Oracle自动备份脚本(Linux)
Oracle自动备份脚本(Linux)
115 0
|
存储 SQL 监控
Oracle BCT(Block Change Tracking)与增量备份---发表在数据和云
BCT(Block Change Tracking)是Oracle从10g开始有的特性。BCT的原理是记录数据文件里每个数据块的变化,并把这些变化信息保存在BCT的跟踪文件中。
355 0
|
SQL 分布式计算 运维
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
上一篇文章介绍了sqoop全量同步数据到hive, 本片文章将通过实验详细介绍如何增量同步数据到hive,以及sqoop job与crontab定时结合无密码登录的增量同步实现方法。
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档