Oracle10g RAC环境在执行SWITCHOVER操作过程中出现ORA-1093错误。
错误信息如下:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY
*第 1 行出现错误:
ORA-01093: ALTER DATABASE CLOSE 仅允许在没有连接会话时使用
查询数据库,检查数据库的连接会话:
SQL> SELECT SID, PROGRAM FROM V$SESSION WHERE USERNAME IS NOT NULL;
SID PROGRAM
---------- ------------------------------------------------
294 racgimon@racnode1 (TNS V1-V3)
295 racgimon@racnode1 (TNS V1-V3)
296 racgimon@racnode1 (TNS V1-V3)
300 racgimon@racnode1 (TNS V1-V3)
306 sqlplusw.exe
检查metalink发现造成错误的原因是Oracle Cluster使用RAC Global Instance Monitor(racgimon)检查每个节点上的实例的可用性。而这些session不退出的话,是无法进行切换的。
解决方法也很简单,一种方法是通过使用WITH SESSION SHUTDOWN语句,来进行切换,或者选择在操作系统中执行racgimon stopd DB_NAME来关闭racgimon。
Oracle在文档Doc ID:Note:444362.1中对这个问题进行了描述。这个bug在11.1中被解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69514/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-69514/