• 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(冗余):默认是冗余

    1
    rman> configure retention policy to redundancy x;

    (2)recovery window(恢复窗口) 

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

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

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

    1
    rman> configure retention policy to none;

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

    1
    2
    3
    4
    5
    6
    7
    8
    # 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;
  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/gotoschool/p/12890060.html
Copyright © 2020-2023  润新知