Oracle RMAN备份保留策略(RETENTION POLICY)与Obsolete如何联合使用
1. 简述RETENTION POLICY与OBSOLETE
RETENTION POLICY,即备份保留策略,在Oracle的备份管理器RMAN(Recovery Manager)中,是一个至关重要的设置。它决定了备份文件应该被保留多久或多少份冗余备份应被保持。一旦备份文件超出了设定的保留期限或冗余次数,它们就会被RMAN标记为OBSOLETE(废弃)。
具体来说,当设置了RETENTION POLICY为REDUNDANCY(冗余)模式,并给定一个具体的数字(如3次),RMAN会保留最近的N次(本例中为3次)完整备份。当进行新的备份时,最旧的、超出保留策略的备份将被标记为OBSOLETE。
例如,若每天进行一次全备,并设置了RMAN的RETENTION POLICY REDUNDANCY为3,那么在进行了3月10日、11日、12日的三次备份后,当进行3月13日的备份时,3月10日的备份就会因为超出了保留策略而被标记为OBSOLETE。这时,如果运行report obsolete backup
命令,RMAN会列出所有被标记为废弃的备份。而执行delete obsolete
命令则会删除这些废弃的备份。但需要注意,即使备份被标记为OBSOLETE,只要不明确执行删除命令,这些备份文件仍然会保留在存储介质上。
2. 详解RMAN的备份保留策略
RMAN的备份保留策略是数据库管理员在管理备份时的一个重要工具。通过CONFIGURE RETENTION POLICY
命令,管理员可以灵活地设置备份的保留期限或冗余次数。
RMAN不仅跟踪和管理数据文件和控制文件的备份,还管理归档日志文件的备份。当数据或控制文件的备份被判定为不再需要时,RMAN会自动将这些备份以及早于这些数据和控制文件备份的归档日志备份标记为OBSOLETE。
设置备份保留策略有两种主要方式:
基于时间窗口的保留策略:使用
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF N DAYS
命令,可以设置一个时间窗口,在此窗口之外的备份将被视为废弃。例如,如果设置为5天,那么在当前时间5天前的备份将被标记为OBSOLETE。基于冗余次数的保留策略:通过
CONFIGURE RETENTION POLICY REDUNDANCY N
命令,可以指定RMAN应保留的最近N次备份。当新的备份完成时,超出这个数量的最旧备份将被标记为废弃。例如,如果设置为3次冗余,那么在完成第4次备份时,第1次备份将被标记为OBSOLETE。
此外,RMAN还提供了灵活的命令来查看和管理这些废弃的备份。REPORT OBSOLETE
命令可以帮助管理员识别哪些备份已被标记为废弃,而DELETE OBSOLETE
命令则用于删除这些不再需要的备份文件,从而释放存储空间。
值得注意的是,OBSOLETE与EXPIRED是两个不同的概念。OBSOLETE指的是根据备份保留策略不再需要的备份,而EXPIRED则指的是那些RMAN期望存在但实际上已经丢失或无法访问的备份文件。管理员可以使用CROSSCHECK
命令来识别和标记这些过期的备份。