RMAN 配置保留策略

      RMAN保留策略关乎数据的完整性,因此事关重大,由用户定义的、基于用户数据恢复所能承受的容忍度来设置。也就是说根据恢复的需要,用户需要保留几天的数据,或者说用户需要备份的保留几个副本,或者不需要设定保留策略。在生产环境中多数使用的是基于恢复窗口的保留策略,因此需要重点关注与理解其用法。最本文主要描述了RMAN下的三种保留策略方式。

1、什么是备份保留策略     也就是说备份可以保留多久,需要保留多久的问题,我们可以通过configure retention policy 来进行配置     注意,保留策略是相对于恢复而言,也就是说根据恢复的需要来制定保留策略,比如需要恢复到3天以前,或是保留2个不同的副本     Oracle支持三种保留策略,一个是基于恢复窗口的保留策略,一个是基于冗余的保留策略。一个是无保留策略,三种保留策略互斥,不可同时使用     当备份保留策略启用后,已生成的备份满足保留策略之后,会被标记为过时,也就是说RMAN认为恢复已经不再需要用到这些备份     可以通过report obsolete来查看当前数据库的过时的备份。以及使用delete obsolete来删除过时的备份     对于过时的备份(备份集,镜像副本等),在未使用FRA的情形下,RMAN仅仅是对其加以标注,而不会真正删除这些过时的备份     对于使用了FRA(闪回区)的情形,RMAN会自动地删除这些过时的备份以循环利用FRA空间。     注意理解无效的备份或过时的备份,前者执行crosscheck之后,文件没有找到(被删除),后者指文件存在,但是根据保留策略恢复已不再需要用到     保留策略的使用范围          完全备份、level 0、控制文件备份          对于数据文件镜像副本(copy方式),如果RMAN认为该副本不再需要,则可以被删除          对于数据文件备份集,当在备份集内所有的数据文件为过时时,可以被删除

2、基于恢复窗口的保留策略     该方式用于确保将数据库恢复到特定的时间点。比如需要恢复一周以内的数据,使用恢复窗口RECOVERY WINDOW OF 7 DAYS     那么所有与恢复到最近7天的完全备份、增量备份、归档日志,都应当被保留,而且有可能7天以前的备份也需要保留     比如系统中完整地备份是8天以前的,即便当前产生了新的完整备份,上次的完整备份也应当被保留,而不是说只要过了7天这些备份就不再需要     配置恢复窗口保留策略:          CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;     对于上述配置,每一个数据文件、备份应当满足这个条件:SYSDATE - BACKUP CHECKPOINT TIME >= 7,在这之前的备份则是无效的。     下面的恢复窗口分析示例图来自Backup and Recovery User's Guide 恢复窗口分析示例1:

         恢复窗口为7天,数据库处于归档模式          备份计划是每两周一次全备,分别是: January 1,January 15,January 29,February 12          对于图中的情形,当前的时间点Jan 23,那么7天的恢复窗口则是Jan 16,要能够确保数据可以恢复到Jan 16,          那么Jan 14的备份及archive log 500到log 850都应当被保留,Jan 1的备份是过时的

恢复窗口分析示例2:

         当前的时间位Jan 30,那么7天的恢复窗口是Jan 23,确保Jan 23可恢复则应当自上一次完整备份到Jan 23的archive log可用。          即Jan 14的完整备份必须被保留,log 500到log 1150都必须全部被保留

3、基于冗余的保留策略     基于冗余的保留策略是依据你的备份数,而不是备份天数。该策略是默认的保留策略,被设置为1。     如果将其设置为2,那么Oralce则会为当前备份保留2个副本,其余的、时间更早的副本会全部被标记为过时的备份。

4、无保留策略     无保留策略也就是禁用保留策略,不使用任何保留策略。     配置无保留策略: configure retention policy to none     恢复到缺省保留策略:configure retention policy clear  

5、相关演示

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Datafile Copy        1      2013/11/11 15:21:04 /u03/database/usbo/fr_area/USBO/datafile/o1_mf_users_9811c028_.dbf

--Author : Leshami
--Blog   : http://blog.csdn.net/leshami

RMAN> configure RETENTION POLICY TO recovery window of 2 days;

new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
new RMAN configuration parameters are successfully stored

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;

RMAN> list copy; 

specification does not match any control file copy in the repository
List of Datafile Copies
=======================

Key     File S Completion Time     Ckp SCN    Ckp Time           
------- ---- - ------------------- ---------- -------------------
2       4    A 2013/11/11 15:21:16 3039347    2013/11/11 15:21:16
        Name: /u03/database/usbo/fr_area/USBO/datafile/o1_mf_users_9811cddk_.dbf
        Tag: TAG20131111T152116

1       4    A 2013/11/11 15:21:04 3039328    2013/11/11 15:21:04
        Name: /u03/database/usbo/fr_area/USBO/datafile/o1_mf_users_9811c028_.dbf
        Tag: TAG20131111T152103

RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 2 days
no obsolete backups found

RMAN> configure retention policy to none;

old RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO NONE;
new RMAN configuration parameters are successfully stored

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE RETENTION POLICY TO NONE;

RMAN> configure retention policy clear;

old RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO NONE;
RMAN configuration parameters are successfully reset to default value

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

「无文件」攻击方式渗透实验

前几天看了一个文章《全球上百家银行和金融机构感染了一种“无文件”恶意程序,几乎无法检测》,觉得powershell很是神奇,自己希望亲手实验一下,以最大程度还原...

51780
来自专栏信安之路

RedTeam 技巧集合

1、利用目标用户使用的 user agent 来隐藏自身的恶意流量,比如像 Outlook 软件的 UA。

17620
来自专栏拂晓风起

cocos2d-js 调试办法 断点调试 Android真机调试

22720
来自专栏小白鼠

分布式事务数据库事务CAP定理BASE理论分布式事务案例

断电了,该怎么处理?通过日志的方式!在执行事务的时候数据库首先会记录下这个事务的redo操作日志,然后才开始真正操作数据库,在操作之前首先会把日志文件写入磁盘,...

65940
来自专栏FreeBuf

干货 | 如何用Solr搭建大数据查询平台

? 0x00 开头照例扯淡 自从各种脱裤门事件开始层出不穷,在下就学乖了,各个地方的密码全都改成不一样的,重要帐号的密码定期更换,生怕被人社出祖宗十八代的我,...

1K70
来自专栏c#开发者

在.NET中轻松获取系统信息(1) -WMI篇

在.NET中轻松获取系统信息(1) -WMI篇 Montaque 申明: 1、个人的一点心得,仅供参考 2、转载时候,请保留原本。 ...

30270
来自专栏蓝天

C/C++编程可用的Linux自带工具

GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Soluti...

15120
来自专栏kevin-blog

学会如何让你在网络上变的相对匿名

因为最近在弄渗透测试,就担心那天被查水表了,就想起怎么让自己的变的相对匿名呢,这时我想到了tor,“Tor(The Onion Router)是第二代洋葱...

45510
来自专栏逸鹏说道

NET跨平台:在Ubuntu下搭建ASP.NET 5开发环境

0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了。最近工作上有个小功能要做成Web应...

32730
来自专栏眯眯眼猫头鹰的小树杈

vue-cli的项目结构

这篇文章对纯新手友好,所以有过任何vue开发经验的人可以出门左转啦!这篇文章献给我的homie苏蕾儿童鞋,让她在学习vue项目的时候少走一点弯路(径直冲向末路哈...

37440

扫码关注云+社区

领取腾讯云代金券