We are adding an extra interface on our nodes and we are going to bond these so the VIP interface will change from eth5 to bond3.

Can someone point on documentation on what to do to reconfigure the interface name in a RAC?

Or simply give a procedure to do so.

  • I don't know RAC very well at all, but it doesn't sound right to me that RAC would even know about the interface name - surely routing IP traffic is handled at a lower level than RAC? My guess is that it will 'just work'. May 12, 2012 at 20:23
  • More information required - Grid (11g) or ClusterWare(10g)?
    – Ohadi
    May 16, 2012 at 13:59
  • No. RAC works at a very low level. Before you install your application, you install a layer called CRS (cluster software) on ever node. You will configure 3 IPs, a public, a private for interconnect info and a VIP to which your applications will connect. The VIPs can failover to the over node, that is if a server goes down, the IP become available to the other node. RAC achives this by bounding this IP to your public interface ethx like this: ethx:1 (essentially splitting your NIC in 2 streams). RAC is quite awesome. Just damn painful to manage. Jul 16, 2012 at 14:41
  • note: clusterware 10g. Jul 16, 2012 at 14:42

1 Answer 1


If the NIC has changed for the Public / private NIC:

Modify the Public NIC information like so:

$CRS_HOME/bin/oifcfg/oifcfg delif -global <if_name>[/<subnet>]
$CRS_HOME/bin/oifcfg/oifcfg setif -global <if_name>/<subnet>:public
For example:
% $CRS_HOME/bin/oifcfg delif -global eth0/ 
% $CRS_HOME/bin/oifcfg setif -global eth0/

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/

Stop the nodeapps resources

$ srvctl stop instance -d <db_name> -i <inst_name>   (optional for
$ srvctl stop asm -n <node_name>                     (optional for
$ srvctl stop nodeapps -n <node_name>

$ 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 <node> -A <new_vip_address or new_vip_hostname>/<netmask>/<[if1[if2...]]>

# srvctl modify nodeapps -n racnode1 -A racnode1-nvip/

Verify the change:

$ srvctl config nodeapps -n <node> -a (10g and 11gR1)
$ srvctl config nodeapps -a (11gR2)

$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-nvip/

Restart nodeapps:

$ srvctl start vip -n <node_name> 
$ srvctl start listener -n <node_name>
$ srvctl start instance -d <db_name> -n <node_name>      (optional)

$ 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)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.