【正确答案】面试DBA岗位,面试官对于DG环境常常会问到,若是主库丢失了归档文件,而这些归档文件还未来得及传递到备库,则物理备库是否只能通过重建的方式来恢复呢?这道面试题是作者亲身经历,当时以为只能重建备库,但最后经过查找文档找到了解决办法,可以通过对主库进行基于SCN的增量备份来恢复物理DG。
全过程简单有如下几个步骤:
第一步,主库创建基于SCN的增量备份:
首先要知道误删除或者丢失的归档日志是从哪个SCN开始的。视图V$ARCHIVED_LOG的FIRST_CHANGE#列能够查到归档日志对应的起始SCN。可以使用如下SQL查询最小的SCN:

若最小的SCN为750983,则在主库上使用BACKUP...INCREMENTAL FROM SCN为主库做一个增量备份,这个操作会将整个库中SCN大于750983的BLOCK全部备份出来,SQL程序如下:

第二步,将备份的文件复制到备库端的空目录下。
第三步,恢复备库的控制文件:
RMAN恢复,恢复之前将原来的控制文件进行手工的冷备份:

第四步,在备库执行RECOVER操作:

下面开启备库的实时应用进程:
