ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DataGuard:Logical Standby Failover

DataGuard:Logical Standby Failover

原创 Linux操作系统 作者:oracle_kai 时间:2009-05-15 11:12:41 0 删除 编辑

DataGuard:Logical Standby Failover

大致步骤如下:

1.检查standby库是否接受到完整的归档日志

检查primary库的最大归档日志号 

  db2>select max(sequence#) from v$archived_log;

             MAX(SEQUENCE#)

             --------------

             205

standby库执行(逻辑standby没有提供类型v$archive_gap视图)

      db1>select thread#,SEQUENCE#,applied from dba_logstdby_log;

   THREAD#  SEQUENCE# APPLIED

---------- ---------- --------

         1        203 YES

         1        204 YES

         1        205 CURRENT

 

standby库中的205号归档文件的状态为current,说明还没有应用,有可能是standby库停止了sql apply

db1>col realtime_apply for a10

db1>col state  for a20

db1>select session_id,realtime_apply,state from v$logstdby_state;

SESSION_ID REALTIME_A STATE

---------- ---------- --------------------

        22 Y          SQL APPLY NOT ON

 

通过v$logstdby_state 视图可以看到,sql apply现在停止了,手工启动sql apply

db1>alter database start logical standby apply immediate;

db1>select session_id,realtime_apply,state from v$logstdby_state;

SESSION_ID REALTIME_A STATE

---------- ---------- --------------------

        22 Y          LOADING DICTIONARY

db1>select thread#,SEQUENCE#,applied from dba_logstdby_log;

   THREAD#  SEQUENCE# APPLIED

---------- ---------- --------

         1        205 YES

 

如果不相等,只能到主库归档路径比对归档文件名来确定,将primary尚未发送至standby的归档文件手工复制到待转换的逻辑standby服务器,然后在standby端通过 ALTER DATABASE REGISTER LOGICAL LOGFILE ''; 命令将文件手工注册

 

2.检查standby机器的参数配置,以符合failover后的primary库设置(参看之前的创建配置部分)

 

3.failover切换

db1>alter database activate logical  standby database finish apply;

db1>select database_role from v$database;

DATABASE_ROLE

----------------

PRIMARY

 

Failover切换成功

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

下一篇: Oracle 分析函数
请登录后发表评论 登录
全部评论

注册时间:2007-12-20

  • 博文量
    48
  • 访问量
    175800