最近配置了datagurad.primary db是两节点的rac.standby db是单机。参照文档配置了dataguard. 进行测试切换的时候发生问题。
根据文档所说:在所有参数配置正确的情况下。关掉一个实例,在另一个实例上查询v$database的switchover_status发现值为session active.而必须为to standby才可以顺利完成切换。
查询v$session时发现一个j000会话,和4个racgimon会话。通过执行
sql>alter system set job_queue_process_=0 scope=memory.停掉j000会话
而racgmion会话不知道怎么进行处理。强行切换会出现ORA-1093错误, 通过查询资料发现这是oracle的一个bug。造成错误的原因是oracle使用racgimon来产生FAN事件。来检查各个节点的可用性。而这些session不退出的话无法进行切换。解决的方案是:
1sql>alter database commit to switchover to physical standby with session shutdown;
2或者通过/racgimon stop db_name.来停止该会话。然后执行sql>alter database commit to switchover to physical standby;具体可以参考http://yangtingkun.itpub.net/post/468/417767
第二个问题是在standby db 切换过程中产生的,具体可以参考
http://yangtingkun.itpub.net/post/468/418311
yangtingkun真的是个高手。偶小小地敬仰一下。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10522540/viewspace-197047/ ,如需转载,请注明出处,否则将追究法律责任。