手动处理DataGuard间隔

一般情况下,如果由网络中断导致的间隔,在网络恢复后,将继续同步。但如果缺失了归档日志,将肯定无法同步。

这时就需要使用RMAN增量备份。

查看间隔状态:

点击(此处)折叠或打开

  1. SELECT * FROM V$ARCHIVE_GAP;

   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
         1           428            429

上例显示了线程1,从428到429日志序列缺失。如果没有任何缺失,上例查询不显示结果。

下面开始恢复:

1)停止Redo Apply

点击(此处)折叠或打开

  1. alter database recover managed standby database cancel;
2)确认Standby当前SCN

点击(此处)折叠或打开

  1. SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN
-----------
    2057725

3)在Primary做RMAN增量备份

点击(此处)折叠或打开

  1. RMAN>
  2. run
  3. {
  4. allocate channel d1 type disk;
  5. allocate channel d2 type disk;
  6. backup incremental from scn 2057725 database format
  7. '/oradata/backup/SHANGHAI_%U';
  8. release channel d1;
  9. release channel d2;
  10. }

4)在Primary创建新备用控制文件

点击(此处)折叠或打开

  1. alter database create standby controlfile as '/tmp/std.ctl';

5)将备份集和备用控制文件传到Standby上
关闭Standby数据库

6)在Standby的RMAN中将备份集编入目录

点击(此处)折叠或打开

  1. RMAN>
  2. CATALOG START WITH '/oradata/backup';

7) 使用noredo增量恢复Standby数据库

点击(此处)折叠或打开

  1. STARTUP FORCE NOMOUNT;
  2. RESTORE STANDBY CONTROLFILE FROM '/tmp/std.ctl';
    ALTER DATABASE MOUNT;
    RECOVER DATABASE NOREDO;

有问题,没成功!
实际做的时候需要看文档。

感觉文档中的命令是针对使用了RMAN恢复目录的,如果没有用恢复目录,需要设定SET NEWNAME。
可参考以下适用于9i的文档:290817.1






请使用浏览器的分享功能分享到微信等