利用增量备份修复DG备库中的gap>>>>>>>>>>>有新增数据文件

现象描述

RAC+DG主备不同步,主库上归档日志已删除且没有备份。且有新增数据文件

解决方案

主库增量备份到备库镜像换原来,来修复DG备库中的gap。

具体操作步骤

1.关闭备库同步(一般情况来说,主备不同步,mrp进程肯定是挂掉了。这一步可以省略,以防万一还是执行一下)

SQL> alter database recover managed standby database cancel;

2.查询最小SCN号在备库,以最小的SCN号为主,在主库进行增量备份。

SQL> select to_char(current_scn) from v$database;
SQL> select min(checkpoint_change#) from v$datafile_header;

3.在主库进行增量备份

rman target /
RMAN> backup datafile 174,286,345 format '/bak/backup/datafile_ForStandby_%u' tag 'Forstandby';
RMAN> backup incremental from scn 3162298 database format '/bak/backup/ForStandby_%U' tag 'Fostandby';
RMAN> backup current controlfile for standby format '/bak/backup/ForStandbyctl.bck';

4.将备份拷贝至备库

scp /bak/backup/* oracle@standby:/rchldata2/backup/

5.用rman连接到备库,并恢复被用控制文件

rman target /
RMAN> shutdown immediate;
RMAN> startup nomount;
RMAN> restore standby controlfile from '/rchldata2/backup/ForStandbyctl.bck';
RMAN> alter database mount;
RMAN> catalog start with '/rchldata2/backup/';

6.在rman中执行以下脚本,恢复添加的数据文件

run
{
set newname for datafile 174 to '/rchldata2/dbryhc/data/ts_zhcx_gl_12.dbf';
set newname for datafile 286 to '/rchldata2/dbryhc/data/ts_zhcx_rchl_22.dbf';
set newname for datafile 345 to '/rchldata2/dbryhc/data/ts_zhcx_tl_07.dbf';
restore datafile 174,286,345;
switch datafile all;
}

7.待新增数据文件恢复再进行增备补数据

RMAN> recover database noredo;

8.开启实时同步追归档

SQL> alter database recover managed standby database using current logfile disconnect from session;

资料来源MOS 文档。

原文地址:https://www.cnblogs.com/Roobbin/p/14784055.html