Dataguard 主库归档丢失后,如何不重建备库来恢复备库

作者简介: 徐明辉,Oracle维护工程师,有5年Oracle维护经验,曾经维护过电信,教育,银行等行业,获得Oracle 10g ocm认证,擅长Oracle数据库故障诊断及问题处理。

当Dataguard由于网络等原因,不能将归档传输到备库,主库归档又快满的时候,我们迫不得已将归档删除,当故障原因解除后,备库丢失了部分的主库日志,造成不能进行同步,由于数据库体量较大,如果重建的方式来创建备库,时间较长,所以本篇讨论的是在不重建备库的情况下,如何来恢复数据库的备库。

模拟主库丢失归档日志

删除归档文件

备库目前的情况

———————————————————————————————————————————————

Thu Aug 30 18:53:49 2018
RFS[5]: Assigned to RFS process 4159
RFS[5]: Selected log 4 for thread 1 sequence 67 dbid -2020061464 branch 976759400
Thu Aug 30 18:53:49 2018
Archived Log entry 55 added for thread 1 sequence 67 ID 0x881c23b8 dest 1:
Thu Aug 30 18:53:50 2018
Primary database is in MAXIMUM PERFORMANCE mode
RFS[6]: Assigned to RFS process 4161
RFS[6]: Selected log 4 for thread 1 sequence 68 dbid -2020061464 branch 976759400
Thu Aug 30 18:53:53 2018
Fetching gap sequence in thread 1, gap sequence 61-66
Thu Aug 30 18:55:44 2018
FAL[client]: Failed to request gap sequence
GAP – thread 1 sequence 61-66
DBID 2274905832 branch 976759400

FAL[client]: All defined FAL servers have been attempted.
————————————————————
Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter is defined to a value that’s sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.

——————————————————————————————————————————————

主库的归档:

备库接收和应用的归档:

用rman进行增量scn的备份

查询未归档61的SCN号

增量备份

将备份拷贝到备库

用rman进行增量scn的恢复

取消应用日志

恢复增量备份

查看alert日志:

此次恢复说明,scn已经恢复到1477134 大于归档67的1475342,丢失的日志已经恢复。

从主库获取备库的控制文件,并且在备库上恢复。

主库执行:

备库恢复:

启动备库日志接收并检查备份是否恢复

启动备库日志接收

Alert 日志如下:

已经成功接收归档日志。

检查主备库日志是否一致

主库:

备库:

同步成功!

未经允许不得转载:Oracle一体机用户组 » Dataguard 主库归档丢失后,如何不重建备库来恢复备库

相关推荐