手动处理DG间隔

来源:这里教程网 时间:2026-03-03 18:20:43 作者:

本例实验环境19c。在开始前,先断开主库日志发送,在专门在主库制造出一些变更,等生成一些新的归档日志后,故意删除一些,等恢复DG后,就形成了GAP。 在备库确认GAP范围,本例中线程1缺少114号日志。

SQL> SELECT * FROM V$ARCHIVE_GAP;
   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
---------- ------------- -------------- ----------
         1           114            114          1

尽量寻回缺失日志,放入原目录后DG能自动恢复。本例假定该日志已寻不回。

    停用备库DG

DGMGRL> EDIT DATABASE o19dg SET STATE='APPLY-OFF';
Succeeded.

2. 确认备库当前SCN

SQL> select current_scn from v$database;
CURRENT_SCN
-----------
    3678537

3. 使用该SCN值在主库做增量备份, 完成后相应路径会出现备份

$ cat bak_inc.cmd
connect target /
run
{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup incremental from scn 3678537 database format '/u01/bak/o19_%U';
release channel d1;
release channel d2;
}

4. 在主库生成新的备用控制文件

SQL> alter database create standby controlfile as '/u01/bak/std.ctl';
Database altered.

5. 将备份和备用控制文件传至备库服务器,用新备用控制文件取代旧的,并启动到mount模式。 6. 在备库注册备份

RMAN> CATALOG START WITH '/u01/bak';
Starting implicit crosscheck backup at 2023-01-20 10:21:00
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=15 device type=DISK
Crosschecked 8 objects
Finished implicit crosscheck backup at 2023-01-20 10:21:03
Starting implicit crosscheck copy at 2023-01-20 10:21:03
using channel ORA_DISK_1
Finished implicit crosscheck copy at 2023-01-20 10:21:03
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_103_kwmt4k75_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_104_kwmt4m41_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_105_kwmv16wy_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_107_kwmwx3z1_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_106_kwmwx401_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_108_kwmwx42f_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_109_kwmwxkkj_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_110_kwmwxkxt_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_111_kwmwxl1n_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_112_kwmwxrnb_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_113_kwmwxskb_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/archivelog/2023_01_20/o1_mf_1_115_kwmwxt28_.arc
File Name: /u01/app/oracle/fast_recovery_area/O19DG/autobackup/2023_01_13/o1_mf_s_1125998694_kw1dsy4y_.bkp
File Name: /u01/app/oracle/fast_recovery_area/O19DG/autobackup/2023_01_13/o1_mf_s_1126015854_kw1xjkjw_.bkp

7. 增量恢复备库

RMAN> recover database noredo;

8. 重启MRP

DGMGRL> EDIT DATABASE o19dg SET STATE='APPLY-ON';
Succeeded.

完成! 确认GAP已不存在

SQL> SELECT * FROM V$ARCHIVE_GAP;
   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
---------- ------------- -------------- ----------

相关推荐