其乐融融的IT技术小站

Oracle DataGuard GAP 修复手册

[[442207]]

前言

DG GAP 顾名思义就是:DG不同步,当备库不能接受到一个或多个主库的归档日志文件时候,就发生了 GAP。

那么,如果遇到GAP如何修复呢?且听我细细道来~

一、介绍

DG GAP 主要分为以下两类情况:

1、主库归档日志存在,可以通过配置 Fetch Archive Log(FAL) 参数,自动解决归档 GAP。2、主库归档日志丢失,需要 人工干预 来修复。

不同 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常规修复

首先,模拟备库断电,主库切几个最新的归档,然后手工删掉,重新开启DG同步。

备库停止DG同步进程:

  1. sqlplus / as sysdba 
  2. ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 
  3. shutdown immediate 

主库切换多次归档:

  1. sqlplus / as sysdba 
  2. alter system switch logfile; 

主库删除最近几个归档日志:

  1. rm 1_34_1070147137.arc  
  2. rm 1_33_1070147137.arc 

备库开启同步进程:

  1. startup 
  2. ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 

查看GAP:

  1. sqlplus / as sysdba 
  2. SELECT * FROM V$ARCHIVE_GAP; 
  3. THREAD#    LOW_SEQUENCE# HIGH_SEQUENCE# 
  4. ---------- ------------- -------------- 
  5.  1     32     34 
  6.  
  7. SELECT max(sequence#) from v$archived_log where applied='YES'
  8. MAX(SEQUENCE#) 
  9. -------------- 
  10. 31 

赞 ()
分享到:更多 ()

相关推荐

内容页底部广告位3
留言与评论(共有 0 条评论)
   
验证码: