在Oracle中,如何将RAC软件转换为单实例软件?
在RAC环境中,只有在集群正常启动的情况下才能创建和启动单实例的数据库,否则报错:
1[oracle@raclhr-11gR2-N1 ~]$ sqlplus / as sysdba 2 3SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 5 09:40:26 2018 4 5Copyright (c) 1982, 2011, Oracle. All rights reserved. 6 7Connected to an idle instance. 8 9SYS@OGGS> startup 10ORA-29702: error occurred in Cluster Group Service operation 11SYS@OGGS>
解决办法就是,根据MOS文档(ID 433310.1)按照以下步骤来禁用RAC特性:
NON-RAC Database Startup Giving Error ORA-29702 (文档 ID 433310.1)
1. 完全关闭数据库
2. 使用oracle用户重新编译RAC环境:
1$ cd $ORACLE_HOME/rdbms/lib 2$ make -f ins_rdbms.mk rac_off 3$ make -f ins_rdbms.mk ioracle
3. 启动数据库
需要注意的是,在执行编译后,集群仍然能正常启动,但是集群中的RAC数据库不能正常启动,会报错:
1SYS@lhrrac11> startup 2ORA-01078: failure in processing system parameters 3ORA-00439: feature not enabled: Real Application Clusters
以上编译操作是可逆的,所以,可以执行以下操作进行恢复:
1$ cd $ORACLE_HOME/rdbms/lib 2$ make -f ins_rdbms.mk rac_on 3$ make -f ins_rdbms.mk ioracle