Failover的步骤

相对于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博客 ” ,链接:http://blog.itpub.net/473120/viewspace-910553/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/473120/viewspace-910553/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值