通过RECOVER FROM SERVICE恢复DG备库RESTORE ... FROM SERVICERECOVER STANDBY DATABASE FROM SERVICE备库恢复实战演示前置检查恢复备库后续收尾Oracle 12c之前,如果DG备库出现日志GAP,且没有对应的归档日志,就需要通过基于SCN的增量备份的方式来恢复备库。我们需要先到主库或者一台正常同步的DG上备份缺失的数据文件、归档日志和控制文件,然后拷贝到同步中断的DG上进行恢复,最后再手动拉起日志同步进程。整个流程需要人为干预的步骤比较多,实施起来相对麻烦。从Oracle 12c(12.1)开始引入了基于网络的恢复备库方法。只需执行一条命令就能实现之前的整个增量备份和恢复的流程。通过网络恢复数据库文件可以支持以下两种主要场景:当主库存在数据文件、控制文件、或者表空间丢失时,可以通过传输物理备库上对应完好的文件来进行恢复。反之亦然。当物理备库由于归档日志被清理而产生GAP时,可以通过RMAN直连到主库使得备库前滚恢复到与主库相同的时间点。RESTORE … FROM SERVICE从Oracle 12c开始,可以利用来自远程数据库的文件,对数据库、数据文件、控制文件、表空间或服务器参数文件(spfile)进行还原操作。RMAN会连接到远程数据库,并通过网络将所需文件以备份集(backup sets)的形式传输到目标数据库。该功能在DG环境中非常实用:可以通过网络连接到备库,在主库上还原数据文件;也可以通过网络连接到主库,在备库上还原数据文件。在通过网络从远程数据库还原文件时,必须使用FROM SERVICE子句指定获取文件的远程数据库的服务名。支持使用