什么是备份的保留策略(retention policy)

  保留策略就是指某份备份是否要保留以及保留多久。可以使用configure retention policy命令来创建一个一致的、自动的备份保留策略。 当一个备份策略生效后,rman就认为数据文件、控制文件的备份是obsolete的,也就是说根据用户配置,不再需要这些备份进行恢复。用户可以使用report obsolete命令找出obsolete的文件并使用delete obsolete将其删除。

  随着备份次数的增加,老的备份文件会变得obsolete。rman可以标识出obsolete的文件,但是不会自动删除它们。需要用户手动执行delete obsolete将其删除。

  如果数据库配置了快速闪回区,数据库会根据快速闪回区磁盘quota规则自动删除闪回区内的文件。闪回区的quota规则跟rman备份策略规则是不同的,但是闪回区不会删除没有超过备份策略的备份文件。

obsolete和expired是两个不同的概念

  备份是否obsolete,是由备份策略决定的,是指超过了备份策略的限制,在恢复的时候不再需要的文件;expired是指rman在执行crosscheck检查的时候,找不到这些文件。一句话,obsolete是指"不再需要",expired是指"找不到"。

  

  保留策略是针对数据文件和控制文件的full备份或level 0备份(不管是datafile image copy, a proxy copy, or part of a backup set)。对于datafile copies和proxy copies,如果rman认为其不再被需要就可以删除。对于备份集中的datafile备份,只有整个备份集都变成obsolete后才可以被删除。

  备份策略除了对数据文件和控制文件的full和level 0备份有效外,还会影响归档日志和level 1增量备份。首先rman检测出那些数据文件、控制文件备份是obsolete的,然后rman会将那些恢复时候不再需要的归档日志、level 1增量备份认为是obsolete的。

report obsolete和delete obsolete命令是如何起作用的:
主要分为两步

(1)首先,对于full backup、datafile copy和level 0的增量备份,rman会根据retention policy识别出哪些是obsolete的。

(2)然后,对于归档日志和level 1的增量备份,如果其对应的full backup、datafile copy和level 0的增量备份已经是obsolete的,也会被认为是obsolete的,因为已经不再需要它们进行数据恢复。

NOTE:  A 'delete obsolete' does not check that the archivelog files have been backed up before it deletes them.

保留备份策略的类型:(有两种备份类型)

(1)redundancy(冗余):默认是冗余

rman> configure retention policy to redundancy x;

(2)recovery window(恢复窗口)

rman> configure retention policy to recovery window of x days;

配置恢复窗口期的时候,时间应该不大于参数control_file_record_keep_time 的值。

取消备份策略:(永不将备份置为obsolete)

rman> configure retention policy to none;

如何让备份不受备份策略影响:
用户可能有长期保留数据备份的需求(超出rman的保留策略设置)。这些备份信息应该被记录在rman repository中,但是应该超出rman备份保留策略的限制,否则会被标识为obsolete的。
可以在备份时使用keep关键字、或者备份后使用change...keep来实现。
对于归档日志可以使用logs关键字,这样就不会在超过保留策略后被标识为obsolete的
示例:

# creates a backup and exempts it from retention policy until last day of 2007
rman> backup database keep until time "to_date('31-dec-2007', 'dd-mon-yyyy')" nologs; # specifies that backupset 2 is no longer exempt from the retention policy
rman> change backupset 2 nokeep; # creates a backup that is indefinitely exempt from the retention policy
rman> backup tablespace users keep forever nologs;

Rman备份的保留策略(retention policy)的更多相关文章

  1. TFS 2013 生成(构建)历史记录保持策略(Retention Policy)

    TFS服务器通过自动构建,实现软件生成和发布的自动化过程,这一直是TFS系统中非常重要的一个功能模块.近年来发布的TFS版本,都在自动化构建方面大幅增强了相应的功能.在这篇博客里我主要总结TFS 20 ...

  2. RMAN增量备份-备份保留策略-设置备份集属性

    RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创 ...

  3. rman 备份并异机恢复

    1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CO ...

  4. Oracle RMAN备份策略

    建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库 ...

  5. RMAN备份演练进阶篇

    前篇介绍了通过rman进行各种备份,进阶篇则主要是rman的一些功能扩展和增加功能,利用前篇你已经完全可以完成数据库的备份,而通过本篇你可以更好更方便的完成数据库的备份. 一.建立增量备份 如果数据库 ...

  6. RMAN 备份详解

    一.数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份        关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致 ...

  7. RMAN备份FORMAT格式中%的含义

    使用格式串先看例子:Configure channel 1 device type disk format 'd:/backup/orcl/backup_%U';在configure 命令中经常使用格 ...

  8. RMAN备份(转)

    原文:http://blog.csdn.net/leshami/article/details/6032739 一.数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档 ...

  9. RMAN备份详解

    1.7.1数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致性备份无 ...

随机推荐

  1. centos7 设置中文

    查看系统版本[root@webtest76 ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core) [root@localhos ...

  2. ThinkPHP验证码刷新随机数

    貌似因为IE的内核不支持重复,,所以要加个随机数..在代码中,,发现火狐的也不行..加了随机数后就可以了 <label class="img"><img id=& ...

  3. php防攻击方法

    php防攻击方法   更多答案 请参考 @如何有效防止XSS攻击/AJAX跨域攻击 我说下防止非法用户的一些常用手段吧 1 前端的js验证: 我认为js验证只是一种用户体验的提升,对普通用户群体的简单 ...

  4. DOS实用命令/工具

    winver  检查Windows版本wmimgmt.msc  打开windows管理体系结构wupdmgr  windows更新程序wscript  windows脚本宿主设置write  写字板w ...

  5. github中non-fast-forward错误的解决

    参考文献 1.http://www.linuxidc.com/Linux/2012-04/58985.htm 2.http://ihower.tw/blog/archives/2620 3.http: ...

  6. 十 mybatis逆向工程

    1       逆向工程 1.1     什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper. ...

  7. 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法

    以下是错误报告:   标题: SQL Server 安装程序失败. ------------------------------   SQL Server 安装程序遇到以下错误:   在创建窗口句柄之 ...

  8. C++ 线程类的一个实现

    .h #ifndef CTHREAD_H_ #define CTHREAD_H_ #include "plat.h" class CThread { public: enum { ...

  9. php--字符串函数分类总结

    PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库.   1.查找字符位置函数 strpos($s ...

  10. php--在apache上配制rewrite重写

    配置步骤: 第一步:找到apache的配置文件httpd.conf(文件在conf目录下) 第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商. ...