Oracle DG数据库gap处理一列

本周遭遇数据库dg gap,通过增量备份进行修复,主要步骤如下:

1、确定增备scn范围,通过alert日志获取gap日志序列

GAP - thread 1 sequence 109631-117170

2、根据序列获取增备起点SCN

提示最小gap序列为109631, 往前推一个序列,然后获得scn号

select THREAD#,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# from v$archived_log where SEQUENCE#=109630;
   THREAD#  SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ---------- ------------- ------------
         1     109630    1606624354   1606624958

3、在primary做基于该scn的增量备份及生成新的备库控制文件

增量备份数据库


export ORACLE_SID=xxx

##AIX

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2000 M; backup incremental from scn 1606624354 database format '/oradata/dgbackup/xxx/xxx_1606624354%U.bak';

在primary创建standby controlfile

alter database create standby controlfile as '/oradata/dgbackup/xxx/xxx01.ctl';		 

4、备库关闭数据库,替换控制文件

关闭备库,备份当前备库控制文件

shutdown  immediate	 
mv     /oradata/xxx/control01.ctl    /oradata/xxx/control01.ctl.bak

替换当前备库控制文件

cp  /oradata/dgbackup/xxx/xxx01.ctl   /oradata/xxx/control01.ctl

5、启动备库进行增量恢复

-----启动数据库到nomount		  
startup nomount;
----启动数据库到mount
alter database mount standby database;

-----rman增量恢复
catalog start with '/oradata/dgbackup/inscndbkf';  
recover database noredo;

6、启动备库复制应用

sqlplus  / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

上一篇:Oracle AWR快照管理与常见问题


下一篇:RHEL7.X安装12.2RAC时root.sh错误CLSRSC-400的解决方案