changing Virtual IP interface names on RAC nodes - how to reconfigure
If the NIC has changed for the Public / private NIC:

Modify the Public NIC information like so:

$CRS_HOME/bin/oifcfg/oifcfg delif -global &lt;if_name&gt;[/&lt;subnet&gt;]
$CRS_HOME/bin/oifcfg/oifcfg setif -global &lt;if_name&gt;/&lt;subnet&gt;:public
For example:
% $CRS_HOME/bin/oifcfg delif -global eth0/10.2.156.0 
% $CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public


Then make the change at OS layer.

It can be done one node at a time so there's no down time unless the OS requires it.

Once the public network is changed, the VIP needs to be modified like so:

View the VIP information:

$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-vip/101.17.80.184/255.255.254.0/eth1


Stop the nodeapps resources

$ srvctl stop instance -d &lt;db_name&gt; -i &lt;inst_name&gt;   (optional for 10.2.0.3+)
$ srvctl stop asm -n &lt;node_name&gt;                     (optional for 10.2.0.3+)
$ srvctl stop nodeapps -n &lt;node_name&gt;

eg, 
$ srvctl stop instance -d RACDB -i RACDB1
$ srvctl stop asm -n racnode1
$ srvctl stop nodeapps -n racnode1


Verify that the VIP is offline:

$ crs_stat -t

Modify VIP like so:

# srvctl modify nodeapps -n &lt;node&gt; -A &lt;new_vip_address or new_vip_hostname&gt;/&lt;netmask&gt;/&lt;[if1[if2...]]&gt;

eg:
# srvctl modify nodeapps -n racnode1 -A racnode1-nvip/255.255.255.0/eth2


Verify the change:

$ srvctl config nodeapps -n &lt;node&gt; -a (10g and 11gR1)
$ srvctl config nodeapps -a (11gR2)

eg:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-nvip/110.11.70.11/255.255.255.0/eth2


Restart nodeapps:

$ srvctl start vip -n &lt;node_name&gt; 
$ srvctl start listener -n &lt;node_name&gt;
$ srvctl start instance -d &lt;db_name&gt; -n &lt;node_name&gt;      (optional)

eg,
$ srvctl start vip -n racnode1 
$ srvctl start listener -n racnode1
$ srvctl start instance -d RACDB -n racnode1


Verify the VIP is online

$ crs_stat -t (or $ crsctl stat res -t for 11gR2)