探索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>

 

目录
相关文章
|
Oracle 关系型数据库 数据库
Oracle中的差异增量备份和累积增量备份的区别、rman全备+增量备份常用脚本
Oracle中的差异增量备份和累积增量备份的区别、rman全备+增量备份常用脚本
985 0
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
Oracle增量备份和快速备份(块改变跟踪Block Change Tracking)
Oracle增量备份和快速备份(块改变跟踪Block Change Tracking) 下面小麦苗给出全库备份的脚本: 点击(此处)折叠或打开 [or...
2737 0
|
Oracle 关系型数据库 Linux
Linux 下 Oracle 数据库RMAN备份 0级全备加1级增量备份
1、使用Linux Crontal 定时任务来定时对数据库做备份 每日19点开始0级全备,其他时段每小时做1级增量备份 crontab -l 0 19 * * * nohup /rmanbak/script/backup0-1.
2310 0
|
SQL Oracle 关系型数据库
Oracle 数据库增量备份周计划脚本
####------------------------------------------------------------------------------#### ##    shell db_incremental_database_backup.
1310 0
|
5天前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
19 4
|
9天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库:装上去,飞起来!
本文是一篇关于Oracle数据库安装和使用的博文摘要。作者以轻松幽默的笔调介绍了自己在实验中掌握的Oracle数据库基本操作,包括使用组件查看命令、配置数据库监听器等。作者也分享了在实验中遇到的一些有趣问题,如SQL语句缺少分号导致的意外错误。此外,作者还强调了登录sys用户和启动实例加载数据库的注意事项,并鼓励读者面对挑战时保持乐观,不断提升自己的能力。整体风格风趣严谨,引人入胜。
195 0
|
1月前
|
SQL 分布式计算 Oracle
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
|
1月前
|
Oracle 关系型数据库 MySQL
mysql数据库和Oracle的区别
mysql数据库和Oracle的区别
34 1