出于种种原因我们可能需要为已安装的Oracle集群软件修改其使用的公用或私有网络所使用的网络接口(How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware),这些共有或私有网络(public/private network)被保存在ocr中,我们需要以root用户的身份执行oifcfg命令来对这些网络接口信息进行修改:
/* 使用ocrdump命令转储ocr信息 */[oracle@vrh1 ~]$ ocrdump ocr[oracle@vrh1 ~]$ cat ocr[SYSTEM.css.interfaces]UNDEF [SYSTEM.css.interfaces.global]UNDEF [SYSTEM.css.interfaces.global.eth0]UNDEF [SYSTEM.css.interfaces.global.eth0.131|d32|d1|d0]UNDEF [SYSTEM.css.interfaces.global.eth0.131|d32|d1|d0]ORATEXT : public
[SYSTEM.css.interfaces.global.eth1]UNDEF[SYSTEM.css.interfaces.global.eth1.131|d33|d1|d0]UNDEF :[SYSTEM.css.interfaces.global.eth1.131|d33|d1|d0]ORATEXT : cluster_interconnect............./* 实际上css的misscount参数和voting disk所在的位置也存在ocr文件中 */[SYSTEM.css.misscount]UB4 (10) : 60[SYSTEM.css.diskfile]ORATEXT : /dev/raw/raw2
1.首先我们可以通过oifcfg getif了解当前的public/interconnect网络配置情况:
[root@vrh1 ~]# who am iroot pts/1 2011-04-18 18:23 (192.168.0.1)[root@vrh1 ~]# cd $ORA_CRS_HOME/bin[root@vrh1 bin]# oifcfg getifeth0 131.32.1.0 global publiceth1 131.33.1.0 global cluster_interconnect/* 可以看到这里分别用131.32.1/2网段配置了public和cluster_interconnect网络 */
2.确认在/etc/hosts文件中为新的网络接口IP做了必要的修改,之后我们要保证当前CRS已经启动(否则将出现PRIF-10: failed to initialize the cluster registry错误而无法配置),使用oifcfg setif命令首先添加新的public公用网络接口:
[root@vrh1 bin]# oifcfg delif -global eth0/* 首先删除旧有的公用网络接口信息 */[root@vrh1 bin]# oifcfg setif -global eth0/192.168.1.0:public/* 注意这里制定192.168.1.0这个网段即可,不用输入完整的ip *//* 因为以上操作是global全局操作,在单个节点完成即可 */
3.修改内联网络(cluster_interconnect)接口的方法也是类似的:
[root@vrh1 bin]# oifcfg delif -global eth1[root@vrh1 bin]# oifcfg setif -global eth1/192.168.0.0:cluster_interconnect/* 与public network配置时类似指定网段即可 */
4.确认网络接口的修改情况,以及当前数据库使用的inter connecter状况:
[oracle@vrh1 ~]$ oifcfg getifeth0 192.168.1.0 global publiceth1 192.168.0.0 global cluster_interconnectSQL> select * from x$skgxpia;ADDR INDX INST_ID PUB_SKGXPI PICKED_SKGXPIA-------- ---------- ---------- ---------- -----------------------------------NAME_SKGXPIA IP_SKGXPIA--------------- ----------------4572EC54 0 1 N OSDeth1 131.33.1.107/* 可以看到当前数据库实例仍使用旧有的inter connect网络 */[root@vrh1 ~]# crsctl stop crs[root@vrh1 ~]# crsctl start crs[oracle@vrh1 ~]$ sqlplus / as sysdbaOracle Database 10g Enterprise Edition Release 10.2.0.4.0 - ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing optionsSQL> SQL> select * from x$skgxpia;ADDR INDX INST_ID PUB_SKGXPI PICKED_SKGXPIA-------- ---------- ---------- ---------- -----------------------------------NAME_SKGXPIA IP_SKGXPIA--------------- ----------------4572EC54 0 1 N OSDeth1 192.168.0.107/* 这里需要重启CRS后实例才能正确使用更新后的cluster interconnect网络接口 */