How to Change Interconnect/Public Interface IP in Clusterware
Change interface for interconnect
- Confirm the current interfaces configuration used by the cluster
$ $ORA_CRS_HOME/bin/oifcfg getif
Following is an example.
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif
eth4 192.168.251.0 global cluster_interconnect
pub_bond 10.164.227.0 global public
- Stop the database and nodeapps on both nodes.
$ srvctl stop database -d DB_NAME
$ srvctl stop nodeapps -n node_name_first
$ srvctl stop nodeapps -n node_name_second
Following is an example
[oracle@nycdb01 oracle]$ srvctl stop database -d dbprd
[oracle@nycdb01 oracle]$ srvctl stop nodeapps -n nycdb01
[oracle@nycdb01 oracle]$ srvctl stop nodeapps -n nycdb02
- The only way to change interface is to delete the existing interface and add new interface. Delete the interface with
$ $ORA_CRS_HOME/bin/oifcfg delif -global interface_name
Add new interface
$ $ORA_CRS_HOME/bin/oifcfg setif -global new_if/network_number:cluster_interconnect
Following is an example.
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif
eth4 192.168.251.0 global cluster_interconnect
pub_bond 10.164.227.0 global public
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg delif -global eth4
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif
pub_bond 10.164.227.0 global public
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg setif -global int_bond/192.168.251.0:cluster_interconnect
Confirm the changes have taken place.
[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif
int_bond 192.168.251.0 global cluster_interconnect
pub_bond 10.164.227.0 global public
Public Interface and VIP change
- If changed interface is public interface then that also involves modification of VIP. Changing the VIP involves modification of the nodeapps.
Stop nodeapps. Though it is not mandatory, but changes will only take effect once nodeapps are restarted.
$ srvctl stop nodeapps -n node_name_first
$ srvctl stop nodeapps -n node_name_second
- Confirm current configuration.
[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg getif
eth1 10.164.227.0 global public
eth4 192.168.251.0 global cluster_interconnect
We want to change public interface from eth1 to pub_bond
[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg delif -global eth1
[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg getif
eth4 192.168.251.0 global cluster_interconnect
[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg setif -global pub_bond/10.164.227.0:public
[oracle@nycdb01 ~]$ srvctl modify nodeapps -n nycdb01 -A 10.164.227.152/255.255.255.0/pub_bond
PRKO-2117 : This command should be executed as the system privilege user.
[oracle@nycdb01 ~]$ su root
Password:
[root@nycdb01 oracle]# srvctl modify nodeapps -n nycdb01 -A 10.164.227.152/255.255.255.0/pub_bond
[root@nycdb01 oracle]# srvctl modify nodeapps -n nycdb02 -A 10.164.227.151/255.255.255.0/pub_bond
- Verify configuration
[root@nycdb01 oracle]# $ORA_CRS_HOME/bin/crs_stat -p ora.nycdb01.vip | grep USR_ORA_IF
USR_ORA_IF=pub_bond
[root@nycdb01 oracle]# $ORA_CRS_HOME/bin/crs_stat -p ora.nycdb02.vip | grep USR_ORA_IF
USR_ORA_IF=pub_bond
[root@nycdb01 oracle]# crs_stat2
Reference: Metalink notes
283684.1 How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware
276434.1 Modifying the VIP or VIP Hostname of a 10g or 11g Oracle Clusterware Node