SQL> alter database commit to switchover to physical standby;

alter database commit to switchover to physical standby
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected


SQL>  SELECT SID, PROCESS, PROGRAM FROM V$SESSION  WHERE TYPE = 'USER'  AND SID <> (SELECT DISTINCT SID FROM V$MYSTAT);

       SID PROCESS      PROGRAM
---------- ------------ ------------------------------------------------
       528 26545       racgimon@rac1(TNS V1-V3)
       530 26545       racgimon@rac1(TNS V1-V3)
       531 26545       racgimon@rac1(TNS V1-V3)

 

错误处理:
racgimon 进程在运行.
检查metalink发现造成错误的原因是Oracle Cluster使用RAC Global Instance Monitor(racgimon)检查每个节点上的实例的可用性。而这些session不退出的话,是无法进行切换的。

解决办法:
 方法1:
 1. alter database commit to switchover to PHYSICAL STANDBY WITH SESSION SHUTDOWN;
 
 方法2:
 2. racgimon stopd <db_name>


参考 meatlink Doc ID:  Note:444362.1