我是靠谱客的博主 无心羽毛,最近开发中收集的这篇文章主要介绍探索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>

 

最后

以上就是无心羽毛为你收集整理的探索ORACLE之RMAN_05增量备份的全部内容,希望文章能够帮你解决探索ORACLE之RMAN_05增量备份所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部