RMAN 备份保留策略的常见问题 (文档 ID 2017258.1)

  
 
 
单击此项可添加到收藏夹转到底部转到底部

文档内容

用途
 问题和答案
 如何针对磁带和磁盘,分别设置不同的保留策略?
 在增量备份集中,RMAN 保留策略是如何定义 obsolete 的备份文件?
 如何做到,对不同的备份,分别使用不同的保留策略?
 为什么已经超过保留策略的备份,还没有变成 obsolete 状态?
 对于增量合并备份(incremental merge backups)的保留策略,有什么建议?
 可能你会遇到 list backup 或 report/delete obsolete 命令都不能正常显示 obsolete 的备份片,但是这些备份片却真实的存在于磁盘。
 参考

适用于:

Oracle Database - Enterprise Edition - 版本 9.0.1.4 到 11.2.0.3 [发行版 9.0.1 到 11.2]
本文档所含信息适用于所有平台
***Checked for relevance on 18-Nov-2011***


用途

本文汇总了“Rman 备份保留策略”的相关常见问答。

问题和答案

如何针对磁带和磁盘,分别设置不同的保留策略?

例如,设置磁带保留时间为14天,而磁盘的保留时间为3天。

步骤 1: 设置保留协议

一般 RMAN 只允许设置一个保留协议,而这个协议设置为14天。
RMAN> configure retention policy to recovery window of 14 days; 

步骤 2:将备份从磁盘移动到磁带,并符合指定的备份保留策略,必须手动执行命令来完成。

下面的命令会将备份从磁盘移动到磁带,并删除原磁盘上的备份文件。

RMAN> backup device type sbt backupset completed before 'sysdate-2' delete input; 

备份集移动到磁带,并从原磁盘删除,可能会改变原来指定的时间。保留策略会保证备份文件不被标记为'obsolete',除非我们超过了指定的保留策略。

 

在增量备份集中,RMAN 保留策略是如何定义 obsolete 的备份文件?

 

RMAN 通过下面的两个步骤,来报告和删除 obsolete 的文件。 

首先,我们会确定最老的并且有效的全备份(如:full 或 level 0 备份集,或 image copy 的备份), 根据设定的保留策略(REDUNDANCY 或者 RECOVERY WINDOW),所有比这个有效的全备份更早的备份文件,都会被标示成 obsolete 文件。

然后,全部的归档和 level 大于 0 的增量备份,如果比最老的有效全备份日期更久,就会被标示为 obsolete,因为这些文件对于全库恢复已经不需要了。

注意:level 大于 0 的增量备份,在 RMAN 保留策略中,可以和 archive log 相同对待,restore 的命令是不会 restore 增量备份的,只有在 recover 的时候,才会读取增量备份,以减少对 archive 文件的读取。我们只能从全备份和 level 0 的增量备份通过restore 命令读取相应的数据文件。

 

如何做到,对不同的备份,分别使用不同的保留策略?

 

我们不能对不同类型的备份集,设置不同的保留策略的。保留策略总是对所以备份有效的。

但是我们可以根据实际情况,来实现对不同类型的备份,实行不同的备份保留策略。具体如下:

样例
======== 

问题
========= 

有三种类型的备份,每日备份,每周备份和每月备份,所以我们可以有3个备份策略,第一个是32天,第二个是365天,最后一个是700天。

答案
========= 

对全部的每日备份,维护一个普通的保留策略,如:

Rman > configure retention policy for recovery window of 32 days ; 

这个保留策略对全部的备份是生效的,但是因为我们希望能将每周的备份保留为365天,和每月的备份保留为700天。

因此,对于周备和月备,我们设置 KEEP 选项。

当你使用 RMAN 来创建新的备份的时候,可以通过 KEEP 选项避开保留策略,或者使用 CHANGE 命令的 KEEP 选项,将已有的备份排除在保留策略之外。
注意,要保证这些被排除在保留策略之外的备份,也是完全并且有效的备份集合,它们可以在 RMAN 认为需要的时候,可以通过它们来还原数据库。

有可以使用 CHANGE... KEEP和CHANGE... NOKEEP命令,来改变备份集合是否被排除在保留策略之外。

你可以指定 LOGS 选项,对不完全恢复所需要的归档日志文件,进行一个长期的保存。换句话说,KEEP UNTIL TIME... LOGS 要求 RMAN 保存全部需要的归档文件,只要对应的保留的备份集合没有被删除。注意,如果你使用 KEEP UNTIL TIME... 并且是一个不一致的备份,你就必须使用 LOGS 选项,不然如果需要的归档日志被删除,这个备份集合会变成不可用,事实上,RMAN 是不允许使用 KEEP NOLOGS 选项,做不一致备份的。

我们可以使用 UNTIL 来指定一个备份的有效期,如果不指定,备份将会永久保存。如果你指定 UNTIL,RMAN 会一直保留这个备份到UNTIL的时间点之后。注意,如果指定 KEEP FOREVER 并且设置 LOGS 选项,RMAN 会保留全部的归档日志,这将会严重消耗存储空间。

样例:
========= 
+ 你可以按照下面的方式,对数据库进行每周和每月的定期备份:

Rman > BACKUP DATABASE KEEP UNTIL TIME "TO_DATE('31-DEC-2007' 'dd-mon-yyyy')" NOLOGS;

或者

Rman > BACKUP DATABASE KEEP UNTIL TIME 'sysdate +365' NOLOGS;


可以根据每周还是每月备份的需要,来设定 until time 参数。

对于每日的备份,你可以使用,32天的普通保留策略。

 


注意:
-----
11G 之后,参数 KEEP ... -> 'LOGS' 已经不再需要
更多细节,请参考:
http://docs.oracle.com/cd/E11882_01/backup.112/e10643/rcmsubcl011.htm#i97063
.
Oracle® Database Backup and Recovery Reference
11g Release 2 (11.2)
E10643-07
.
  keepOption
.

 

 

为什么已经超过保留策略的备份,还没有变成 obsolete 状态?

 

我们有很多情况,会导致备份集不被变成 obsolete,如:

1) 有一个数据文件是离线状态,在离线过程中,全部被需要的归档,都会被保留,而不会变成 obsolete 状态。

2) 如果没有完整有效的全库备份,archivelog / 'archivelog backups' / 'incremental backups'不会变成 obsolete 状态。

3) 使用 KEEP 选项的备份集。

4) 如果不是以上情形,也可能是由于 bug 导致的备份集不变成 obsolete 状态。

 

对于增量合并备份(incremental merge backups)的保留策略,有什么建议?

 

对于增量合并备份,请参考下面建议:

+ 使用默认的保留策略 redundancy 1, 增量备份一旦被应用到副本,就会触发增量备份变成 obsolete 状态。

+ 如果使用基于 recovery window 的保留策略,不要使用 CONFIGURE 命令,请使用 RECOVER 命令的 UNTIL 条件来替代 CONFIGURE。

样例
--------- 
run { 
allocate channel oem_disk_backup device type disk; 
RECOVER COPY OF DATABASE with tag 'ORA$OEM_LEVEL_0' until time 'sysdate-8'; 
backup incremental level 1 cumulative copies=1 for recover of copy with tag 'ORA$OEM_LEVEL_0' database; 


注意
====== 

如果使用增量合并备份,请确保保留策略设置为  redundancy 1,如果你依旧希望使用 recovery window,通过“N天”来设置备份策略,请确保使用 UNTIL TIME 的条目来实现期望的保留时间,而不是通过 CONFIGURE 来设置。

 

可能你会遇到 list backup 或 report/delete obsolete 命令都不能正常显示 obsolete 的备份片,但是这些备份片却真实的存在于磁盘。


存在于控制文件上的备份信息,随着时间的推移,可能会被删除或覆盖。
为了防止这个情况的发生,需要确保 control_file_record_keep_time 参数的设置,大于保留策略的时间窗口,或者通过使用 catalog 来避免这个问题。

参考

NOTE:206862.1 - How does the RMAN Retention Policy Obsolete Incremental Backupsets and Archivelog Files
NOTE:351455.1 - Oracle Suggested Strategy & Backup Retention
NOTE:434345.1 - How Do I Set A Retention Policy For Tape Backups And Disk Backups Differently?
NOTE:452529.1 - Recovery catalog for RMAN backup
NOTE:462978.1 - Rman backup retention policy
未找到您要查找的产品?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值