通过增量备份恢复来处理Oracle DG 复制GAP

Posted lYong90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过增量备份恢复来处理Oracle 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
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 1000 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 DG 复制GAP的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12 Rman增量备份

Oracle 增量备份修复dg gap

Oracle 增量备份修复dg gap

DG增量恢复

ORACLE DG 日志传输的停止与恢复

oracle ogg ADG和DG的区别