3 修改cluster_interconnects参数
3.1 使用grid用户修改ASM实例的cluster_interconnects参数修改为具体的私网地址,示例如下:
SQL> alter system set cluster_interconnects='10.0.0.1' scope=spfile sid='+ASM1';
SQL> alter system set cluster_interconnects='10.0.0.2' scope=spfile sid='+ASM2';
改回默认值为空,示例如下:
SQL> alter system set cluster_interconnects='' scope=spfile sid='+ASM1';
SQL> alter system set cluster_interconnects='' scope=spfile sid='+ASM2';
3.2 使用oracle用户修改DB实例的cluster_interconnects参数修改为具体的私网地址,示例如下:
SQL> alter system set cluster_interconnects='10.0.0.1' scope=spfile sid=orcl1';
SQL> alter system set cluster_interconnects='10.0.0.2' scope=spfile sid=orcl2';
改回默认值为空,示例如下:
SQL> alter system set cluster_interconnects='' scope=spfile sid=orcl1';
SQL> alter system set cluster_interconnects='' scope=spfile sid=orcl2';
在实际的一个案例中,客户是11g版本的GI环境,实际有2块私网网卡,使用了HAIP特性,同时安装有11g RAC和10g RAC,11g RAC使用HAIP正常,10g RAC由于无法使用HAIP,所以获取到的是真实的私网地址,但是数据库无法在所有节点同时open,这种情况,直接把10g RAC实例的cluster_interconnects参数修改成其中一个网卡的真实私网地址,即可正常在所有节点open。
这类场景是最适合修改参数解决,不影响其他正常使用HAIP的11g环境。
3.3 重启所有实例或集群修改参数之后需要重新启动实例生效,这里建议直接重启集群一起验证修改后的效果:
# /u01/app/11.2.0/grid/bin/crsctl stop has
# /u01/app/11.2.0/grid/bin/crsctl start has
3.4 检查cluster_interconnects参数
SQL> show parameter cluster_interconnects