Rman备份的保留策略(retention policy)
什么是备份的保留策略(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)的更多相关文章
- TFS 2013 生成(构建)历史记录保持策略(Retention Policy)
TFS服务器通过自动构建,实现软件生成和发布的自动化过程,这一直是TFS系统中非常重要的一个功能模块.近年来发布的TFS版本,都在自动化构建方面大幅增强了相应的功能.在这篇博客里我主要总结TFS 20 ...
- RMAN增量备份-备份保留策略-设置备份集属性
RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创 ...
- rman 备份并异机恢复
1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CO ...
- Oracle RMAN备份策略
建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库 ...
- RMAN备份演练进阶篇
前篇介绍了通过rman进行各种备份,进阶篇则主要是rman的一些功能扩展和增加功能,利用前篇你已经完全可以完成数据库的备份,而通过本篇你可以更好更方便的完成数据库的备份. 一.建立增量备份 如果数据库 ...
- RMAN 备份详解
一.数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致 ...
- RMAN备份FORMAT格式中%的含义
使用格式串先看例子:Configure channel 1 device type disk format 'd:/backup/orcl/backup_%U';在configure 命令中经常使用格 ...
- RMAN备份(转)
原文:http://blog.csdn.net/leshami/article/details/6032739 一.数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档 ...
- RMAN备份详解
1.7.1数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致性备份无 ...
随机推荐
- centos7 设置中文
查看系统版本[root@webtest76 ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core) [root@localhos ...
- ThinkPHP验证码刷新随机数
貌似因为IE的内核不支持重复,,所以要加个随机数..在代码中,,发现火狐的也不行..加了随机数后就可以了 <label class="img"><img id=& ...
- php防攻击方法
php防攻击方法 更多答案 请参考 @如何有效防止XSS攻击/AJAX跨域攻击 我说下防止非法用户的一些常用手段吧 1 前端的js验证: 我认为js验证只是一种用户体验的提升,对普通用户群体的简单 ...
- DOS实用命令/工具
winver 检查Windows版本wmimgmt.msc 打开windows管理体系结构wupdmgr windows更新程序wscript windows脚本宿主设置write 写字板w ...
- github中non-fast-forward错误的解决
参考文献 1.http://www.linuxidc.com/Linux/2012-04/58985.htm 2.http://ihower.tw/blog/archives/2620 3.http: ...
- 十 mybatis逆向工程
1 逆向工程 1.1 什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper. ...
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
以下是错误报告: 标题: SQL Server 安装程序失败. ------------------------------ SQL Server 安装程序遇到以下错误: 在创建窗口句柄之 ...
- C++ 线程类的一个实现
.h #ifndef CTHREAD_H_ #define CTHREAD_H_ #include "plat.h" class CThread { public: enum { ...
- php--字符串函数分类总结
PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库. 1.查找字符位置函数 strpos($s ...
- php--在apache上配制rewrite重写
配置步骤: 第一步:找到apache的配置文件httpd.conf(文件在conf目录下) 第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商. ...