作者简介
- 作者:LuciferLiu,中国DBA联盟(ACDU)成员。
- 目前主要从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。
- 现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。
前言
- DG GAP顾名思义就是:DG不同步,当备库不能接受到一个或多个主库的归档日志文件时候,就发生了GAP。
那么,如果遇到GAP如何修复呢?且听我细细道来~
一、介绍
- 主库归档日志存在,可以通过配置 Fetch Archive Log(FAL) 参数,自动解决归档GAP。
- 主库归档日志丢失,需要 人工干预 来修复:
- 不同Oracle版本的GAP修复方式也不尽相同:
- 11G 的处理步骤:
a.在主库上创建一个备库的控制文件
b.以备库的当前SCN号为起点,在主库上做一个增量备份
c.将增量备份拷贝到备库上
d.使用新的控制文件将备库启动到mount状态
e.将增量备份注册到RMAN的catalog,取消备库的恢复应用,恢复增量备份
f.开启备库的恢复进程
- 12C 的新特性(RECOVER … FROM SERVICE)
- 18C 的新特性(RECOVER STANDBY DATABASE FROM SERVICE)
Oracle随着版本的升级,逐渐将步骤缩减,进行封装,18C之后可谓是达到了所谓的一键刷新,恢复DG同步。
二、实战
下面我们通过实验来进行演示如何修复:
- 11G常规修复
- 12C新特性(RECOVER … FROM SERVICE)修复
- 18C新特性(RECOVER STANDBY DATABASE FROM SERVICE)修复
测试环境数据库安装:
- 11G:./OracleShellInstall.sh -i 10.211.55.100
- 12C:./OracleShellInstall.sh -i 10.211.55.101
- 18C:./OracleShellInstall.sh -i 10.211.55.102
更多更详细的脚本使用方式可以订阅专栏:Oracle一键安装脚本。
脚本获取方式: