Failover在primary database不可以并且在短时间内数据库不可能提供服务的情况下是时使用.与Switchover不同,这个过程不可逆.
Failover前的准备的工作
1.确保tempfile存在
在physical standby上运行下面的语句:
SQL> select name from v$tempfile;
在OS上确保查出的文件的存在,10g R2将数据库以read only方式打开会自动创建不存在的tempfile
2.若standby database不是运行在 maximize performance下转换为maxmize performance
alter database set standby database to maximize performance;
3.确保primary database上产生的日志在standby database都有应用
在standby database执行下面的查询,确认最近的日志是否在standby databaseg上应用
SQL> select sequence#, applied from v$archived_log;
SQL> select * from v$archive_gap;
若有没有应用的日志,从primary database传到standby database并注册
SQL> alter database register physical logfile '/u02/oradata/archivelog/1_1257_666133136.dbf';
应用日志
alter database recover managed standby database finish force;
force终止standby databaseRFS进程
4.进行角色转换
alter database commit to switchover to primary;
5.完成角色转换
alter database open;
若数据库以read only方式打开要先关闭再打开
6.确认角色
select database_role from v$database;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7419833/viewspace-606181/ ,如需转载,请注明出处,否则将追究法律责任。