在Oracle中,RMAN中有哪几种保留策略?数据库
答案:保留策略说明了要保留的备份冗余数量及保留的时间长度。有两类保留策略:恢复窗口保留策略和冗余保留策略,这两类保留策略互相排斥。能够经过使用RMAN的CONFIGURE命令或OEM(Oracle Enterprise Manager)来设置保留策略的值。ide
(1)恢复窗口保留策略:肯定一个时间段,在此期间内必须能够执行时间点恢复,以下图所示:spa
最佳方案是肯定一个时间段,在此期间内能够发现逻辑错误,而后经过执行时间点恢复正好恢复到错误前的那一点来修复受影响的对象,此时间段称为恢复窗口,此策略用天数指定。对于每一个数据文件,都必须始终存在至少一个知足如下条件的备份:3d
SYSDATE – backup_checkpoint_time >= recovery_windowrest
能够使用下列命令语法配置恢复窗口保留策略:对象
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF <天数> DAYS;blog
其中,“<天数>”是恢复窗口的长度。同步
若是未使用恢复目录,那么要防止控制文件中旧的备份记录被覆盖,恢复窗口时间段应小于或等于控制文件参数CONTROL_FILE_RECORD_KEEP_TIME的值。若是正在使用恢复目录,那么应确保CONTROL_FILE_RECORD_KEEP_TIME大于目录从新同步的间隔。it
(2)冗余保留策略:肯定必须保留的备份的数量(固定值),以下图所示:class
若是须要保留必定数量的备份,能够经过冗余选项设置保留策略。此选项要求在任何备份被标识为过期以前将指定数量的备份列入目录。默认保留策略的冗余度为1,这表示在任意指定时间一个文件只存在一个备份。当同一文件的最新版本已经有备份时,上一个备份就被视为过期。能够使用下列命令从新配置冗余保留策略:
RMAN>CONFIGURE RETENTION POLICY TO REDUNDANCY <副本数>;
其中,“<副本数>”是知足策略所需的副本数量。能够使用下列命令禁用保留策略:
RMAN>CONFIGURE RETENTION POLICY TO NONE;
须要注意的是,能够指定某个备份不听从所定义的保留策略,这称为归档备份。若是DBA不打算恢复到自执行该备份之后的某一时间点,只是但愿可以正好恢复到执行该备份的确切时间。此外,还须要维护保留策略以使备份区井井有理,所以没法使备份恢复到两年前,此时能够使用归档备份。若是将某一备份标记为归档备份,那么该属性将覆盖为此备份目的配置的全部保留策略。保留归档备份时,可将其指定为仅在某一特定时间过期,也能够将其指定为永不过期。若是要指定后者,那么须要使用恢复目录。KEEP子句会建立一个归档备份,此备份是某个时间点的数据库快照。能够使用RMAN经过如下语法建立归档备份:
BACKUP...KEEP {FOREVER|UNTIL TIME 'SYSDATE + <n>' } RESTORE POINT <restore_point_name>
使用UNTIL TIME子句可指定保留策略对归档备份失效的时间。也可指定FOREVER,这意味着归档备份始终保持不变,除非执行其它操做进行更改。此外,还能够使用RESTORE POINT子句指定要与此备份关联的还原点的名称。