ITPub博客

首页 > 数据库 > Oracle > Failover的步骤

Failover的步骤

原创 Oracle 作者:xcornetto 时间:2007-04-13 23:28:35 0 删除 编辑

相对于switchover来说,failover的步骤相对比较繁琐,而且切换过程中可能会出现一些比较妖怪的问题,其实中间的切换先后顺序比较重要。本来想把整理的东西贴出来的,可惜开了一下午的会,还要写报告,双休日都不消停,还要去春游。看来只有等到星期一了。

failover步骤:

还是设primary为abc,physical standby为xyz。说明一下,这里使用Oracle10g中的新功能flashback来将abc恢复成与xyz同步。

on abc:

select flashback_on from v$database;YES的话就对了,如果是NO的话就需要shutdown immediate后再startup mount,然后用alter database flashback on将该功能打开,再alter database open;

on xyz:

SQL>recover managed standby database finish force;

SQL>alter database commit to switchover to primary;

SQL>shutdown immediate;

SQL>startup mount;

SQL>alter database flashback on;

SQL>alter database open; #到了这里,failover已经成功,数据库可以对外服务了。

SQL>select to_char(standby_became_primary_scn) from v$database;

假设得到的scn号为3990903

on abc:

SQL>shutdown immediate;

SQL>startup mount;

SQL>flashback database to scn 3990903;

SQL>alter database create standby controlfile as '/tmp/haha.ctl'

SQL>shutdown immediate;

在操作系统中进入oradata目录

P595/oracle/oradata>mv /tmp/haha.ctl ./

P595/oracle/oradata>rm *.ctl

P595/oracle/oradata>cp haha.ctl control01.ctl

P595/oracle/oradata>cp haha.ctl control02.ctl

P595/oracle/oradata>cp haha.ctl control03.ctl

P595/oracle/oradata>sqlplus "/as sysdba"

SQL>startup mount;

SQL>recover managed standby database disconnect;

这个时候主备库在试图建立RFS连接,一般来说30秒到1分钟,查看主机上的select * from v$archive_dest where dest_id=2;如果没有什么报错信息,就说明已经建立连接,但通常这个备机上面的日志还没有全部applied,可以通过select sequence#,applied from v$archived_log order by sequence#来查看。通常都是最后1个日志被applied,其它的还是为NO。再次调用recover managed standby database disconnect命令即可让所有日志同步。

[@more@]

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

上一篇: Switchover的步骤
请登录后发表评论 登录
全部评论
  • 博文量
    6
  • 访问量
    12774