Data Guard缺少部分归档日志解决办法

本文介绍了一种在Oracle RAC+DG环境中解决归档日志Gap的方法,通过使用RMAN增量备份及恢复技术,解决了由于部分归档日志丢失导致的数据保护副本无法同步的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现问题

测试环境搭建了一套RAC+DG的系统。数据库版本11203。
RAC双节点,DG单节点。
有段时间把DG节点关机,只开主节点RAC。(毕竟并没有线上业务,且大多用来做实验或数据统计用。)
一段时间之后,打开DG节点,发现无法open read only。
检查发现DG缺少部分归档日志,且该部分归档日志已经被删掉,没有备份。
此时有两种解决办法:
1.重新搭建DG环境。
2.不重新搭建DG环境,利用其他办法解决。
本文详细介绍了利用RMAN增量备份解决DG gap的问题。

操作步骤

1.确认问题存在,分析原因。

查看DG日志应用情况,确定日志应用进度。

thread 1: sequence# 214
thread 2: sequence# 112

SQL> select NAME,THREAD#,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#,ARCHIVED,APPLIED,DELETED from v$archived_log;

NAME                                                  THREAD#  SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# ARC APPLIED   DEL
-------------------------------------------------- ---------- ---------- ------------- ------------ --- --------- ---
/u01/app/oracle/archARC_1_0000000211_885898750.arc          1        211       5889618      5889672 YES YES       NO
/u01/app/oracle/archARC_2_0000000111_885898750.arc          2        111       5889621      5889675 YES YES       NO
/u01/app/oracle/archARC_1_0000000212_885898750.arc          1        212       5889672      5936547 YES YES       NO
/u01/app/oracle/archARC_1_0000000213_885898750.arc          1        213       5936547      5942602 YES YES       NO
/u01/app/oracle/archARC_1_0000000214_885898750.arc          1        214       5942602      5953350 YES YES       NO
/u01/app/oracle/archARC_2_0000000112_885898750.arc          2        112       5889675      5954190 YES NO        NO
/u01/app/oracle/archARC_1_0000000274_885898750.arc          1        274       9065115      9144171 YES NO        NO
/u01/app/oracle/archARC_1_0000000275_885898750.arc          1        275       9144171      9226083 YES NO        NO
/u01/app/oracle/archARC_1_0000000276_885898750.arc          1        276       9226083      9252006 YES NO        NO
/u01/app/oracle/archARC_2_0000000154_885898750.arc          2        154       9155657      9228653 YES NO        NO
..................
..................
/u01/app/oracle/archARC_2_0000000249_885898750.arc          2        249      14437971     14442095 YES NO        NO
/u01/app/oracle/archARC_2_0000000252_885898750.arc          2        252      14459559     14461551 YES NO        NO
/u01/app/oracle/archARC_1_0000000373_885898750.arc          1        373      14459562     14461565 YES NO        NO

155 rows selected.

SQL> 
SQL> 

从以上可以看出DG节点日志应用SCN位于5953350和5954190之间。(根据thread 1 和thread 2日志SCN)

查看DG节点归档日志gap视图

SQL> 
SQL> select * from v$archive_gap;

   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
         1           215            273
         2           113            152

SQL> 

查询数据库当前SCN

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
    5953349

确认主库是否有添加数据文件
DG节点关机期间并未添加数据文件
相关SQL如下:

SQL> select FILE#,name from v$datafile where CREATION_CHANGE#> =5953349;

no rows selected

主库增量备份
增量备份的SCN要比当前数据库SCN小。(否则拷贝到DG节点做恢复的时候不起作用,后面有详细输出。)

[oracle@racnode1 ~]$ rman target /

RMAN> backup incremental from SCN 5953344  DATABASE FORMAT '/home/oracle/ljk_%U' TAG 'zengliangbk';

Starting backup at 22-FEB-16

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=28 instance=RACDB_1 device type=DISK
backup will be obsolete on date 29-FEB-16
archived logs will not be kept or backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=+DATADG/racdb/datafile/data01.269.886180153
input datafile file number=00002 name=+DATADG/racdb/datafile/sysaux.261.885898927
input datafile file number=00001 name=+DATADG/racdb/datafile/system.260.885898771
input datafile file number=00003 name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值