我们有 Oracle 18c 和 RMAN:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+FRA';
我们也有增量备份。备份脚本中没有“备份当前控制文件”,但每次我们进行备份时都会备份控制文件。有人可以告诉为什么“DELETE OBSOLETE”在仍然需要数据库恢复时会删除自动备份控制文件的所有副本(除了最新的)吗?比如,WTF?例如,如果控制文件是多余的,为什么 RMAN 不会删除相关的备份集。无法得到它。是的 - 我们有大量没有控制文件的所谓“备份”。
TSPITR 失败并显示:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 10/29/2020 17:39:13
RMAN-03015: error occurred in stored script Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06024: no backup or copy of the control file found to restore
希望这个问题在最近的版本中得到了修复,但我在很多个月前的 11gR2 培训课程中遇到了非常糟糕的经历。
... 告诉 Oracle 为每个文件保留一个备份副本。
它不会告诉 Oracle 保留一个单一的、一致的(即可恢复的)备份文件集!
整个班级的学员兴高采烈地建立了闪亮的新数据库,然后对它们进行了备份。
到目前为止,一切都很好。
当天晚些时候,然后开始进行另一个备份,删除他们的数据库并恢复它。
问题是,备份在中途耗尽了磁盘空间,留下了一组不一致且不可恢复的文件——早期备份和新备份的混杂。
“REDUNDANCY 2”会阻止这种情况,保留以前的一组可恢复的备份片段。
显然,更多的磁盘空间也是如此。
我建议改用恢复窗口。它将更自然地符合您 [公司的] 恢复战略。
这是预期的行为。来自数据库备份和恢复参考,12.1
您只需要最新的控制文件备份来还原和恢复您的数据库。