在所有的情况下,在failover后,正常的primary database不能failover 后继续在dataguard中工作。
在大多数情况下。其他的logical和standby database没有直接被failover的可以继续工作。并且不需要重新启动。
在某些情况下,在配置了primary db后必须必须重新创建所有的standby db.、
ORACLE推荐使用如下的步骤实施failover而不推荐使用alter database activate standby database来实现,因为使用这个语句可能会造成数据丢失。
如果使用数据库的maximize protection mode,需要先切换到maximize perfermance mode.不需要重新启动。仅需要执行sql>alter database set standby database to maximize perfermance;
1解决所有的gap
sql>select * from v$archive_gap;
拷贝相应的archive log 到standby_archive_dest。并且执行alter database register physical logfile '';来注册。
2在目标standby db上初始化failover.
sql> alter database recover manage standby database finish force;
这个force强行推出所有正在进行的RFS进程,以便failover可以立刻进行而不用等待网络连接超时。failover在最后被归档的日志后加上一个end_of_redo的标记,并且将它发送到所有primary role下可用的归档目标。
3将physical standby databse 转换为primary role;
sql>alter database commit to switchover to primary;
4
sql>alter database open;
如果数据库已经以只读模式打开,那么需要重新启动。
5备份新的standby db.
6restore 原来的standy db.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10522540/viewspace-198148/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10522540/viewspace-198148/