Rman备份的保留策略(retentionpolicy)
什么是备份的保留策略(retention policy)
保留策略就是指某份备份是否要保留以及保留多久。可以使⽤configure retention policy命令来创建⼀个⼀致的、⾃动的备份保留策略。当⼀个备份策略⽣效后,rman就认为数据⽂件、控制⽂件的备份是obsolete的,也就是说根据⽤户配置,不再需要这些备份进⾏恢复。⽤户可以使⽤report obsolete命令找出obsolete的⽂件并使⽤delete obsolete将其删除。grossmargin
随着备份次数的增加,⽼的备份⽂件会变得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 t)。对于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 的值。uid
取消备份策略:(永不将备份置为obsolete)
rman> configure retention policy to none;
如何让备份不受备份策略影响:
⽤户可能有长期保留数据备份的需求(超出rman的保留策略设置)。这些备份信息应该被记录在rman repository中,但是应该超出rman备份保留策略的限制,否则会被标识为obsolete的。
可以在备份时使⽤keep关键字、或者备份后使⽤keep来实现。
冬季汽车保养
对于归档⽇志可以使⽤logs关键字,这样就不会在超过保留策略后被标识为obsolete的
⽰例:
# creates a backup and exempts it from retention policy until last day of 2007澳际出国留学>韦氏词典
rman> backup databa keep until time "to_date('31-dec-2007', 'dd-mon-yyyy')" nologs;
# specifies that backupt 2 is no longer exempt from the retention policy rman> change backupt 2 nokeep;
# creates a backup that is indefinitely exempt from the retention policy rman> backup tablespace urs keep forever nologs;初代吸血鬼第一季
>module1