ITPub博客

首页 > 数据库 > Oracle > 手动处理DataGuard间隔

手动处理DataGuard间隔

原创 Oracle 作者:hooca 时间:2014-12-31 17:59:48 0 删除 编辑
一般情况下,如果由网络中断导致的间隔,在网络恢复后,将继续同步。但如果缺失了归档日志,将肯定无法同步。

这时就需要使用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






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1386388/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-29

  • 博文量
    215
  • 访问量
    401453