In this article we are going to see how we can change our Public, Private,VIP and Scan IP's.

First we need to change the RAC configuration before we make any changes to server level IP's.

Changing Public and Private IPs in RAC Cluster.

Get the public and private Interconnect information

[grid@racnode1 ~]$ oifcfg getif
eth1  192.168.56.0  global  public
eth2  10.0.0.0  global  cluster_interconnect


Current IP Configurations

192.168.56.10   racnode1     
192.168.56.11   racnode2     
10.10.0.10      racnode1-priv
10.10.0.11      racnode2-priv
192.168.56.111   racnode1-vip 
192.168.56.112   racnode2-vip 
192.168.56.121   racdb-scan   
192.168.56.122   racdb-scan   
192.168.56.123   racdb-scan  

New IP Configurations that will done

10.1.1.30   racnode1     
10.1.1.31   racnode2     
20.20.20.21      racnode1-priv
20.20.20.22     racnode2-priv
10.1.1.40   racnode1-vip 
10.1.1.41   racnode2-vip 
10.1.1.50   racdb-scan   
10.1.1.51   racdb-scan   
10.1.1.52   racdb-scan 

Check current status of Cluster

crsctl stat res -t
[grid@racnode1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
ora.PROD.dg
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
ora.asm
               ONLINE  ONLINE       racnode1                 Started,STABLE
               ONLINE  ONLINE       racnode2                 Started,STABLE
ora.net1.network
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
ora.ons
               ONLINE  ONLINE       racnode1                 STABLE
               ONLINE  ONLINE       racnode2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       racnode2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       racnode1                 169.254.112.86 10.10
                                                             .0.10,STABLE
ora.cvu
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       racnode1                 Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.prod.db
      1        ONLINE  ONLINE       racnode1                 Open,STABLE
      2        ONLINE  ONLINE       racnode2                 Open,STABLE
ora.racnode1.vip
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.racnode2.vip
      1        ONLINE  ONLINE       racnode2                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       racnode2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       racnode1                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       racnode1                 STABLE
--------------------------------------------------------------------------------



Stop below services. Make sure these services are stopped on all RAC nodes.
>srvctl stop database -d prod
>srvctl stop  mgmtdb
>srvctl stop MGMTLSNR
>srvctl stop nodeapps -f


Delete previous PUBLIC  IP Configuration

[grid@racnode1 ~]$ oifcfg getif
eth1  192.168.56.0  global  public
eth2  10.0.0.0  global  cluster_interconnect


 oifcfg  delif -global eth1

Redefine Public IP

oifcfg  setif -global eth1/10.1.1.0:public

Stop Cluster Services
crsctl stop cluster -all

Change system level IP  Public.
Make changes in /etc/hosts or DNS as configured.
crsctl start cluster -all

Verify the changes.
[grid@racnode1 ~]$ oifcfg getif
eth2  10.0.0.0  global  cluster_interconnect
eth1  10.1.1.0  global  public



Changing Private IP 

Note: Dont change Private and Public IP together.

After 11.2.0.2 we cannot delete private interconnect directly. We need to add a private interconnect and restart clusterware after system level IP's are changed then we will remove old private interconnect.

Redefine Private IP

# oifcfg  setif -global eth2/20.20.20.0:cluster_interconnect

Check new changes are done

[grid@racnode1 ~]$ oifcfg  getif
eth2  10.0.0.0  global  cluster_interconnect--Old Entry
eth1  10.1.1.0  global  public
eth2  20.20.20.0  global  cluster_interconnect--New Entry

crsctl stop cluster -all

Change system level IP of Private  interconnect.
Make changes in /etc/hosts or DNS as configured.
crsctl start cluster -all


Delete Old Private Interconnect

# oifcfg  delif -global eth2/10.0.0.0

[root@racnode1 grid]# oifcfg getif
eth2  20.20.20.0  global  cluster_interconnect
eth1  10.1.1.0  global  public


Changing VIP of RAC cluster

Current VIP details:
[grid@racnode1 ~]$ srvctl config nodeapps
Network 1 exists
Subnet IPv4: 192.168.56.0/255.255.255.0/eth1, static
Subnet IPv6: 
Ping Targets: 
Network is enabled
Network is individually enabled on nodes: 
Network is individually disabled on nodes: 
VIP exists: network number 1, hosting node racnode1
VIP Name: racnode1-vip
VIP IPv4 Address: 192.168.56.111
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 
VIP exists: network number 1, hosting node racnode2
VIP Name: racnode2-vip
VIP IPv4 Address: 192.168.56.112
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 
ONS exists: Local port 6100, remote port 6200, EM port 2016, Uses SSL false
ONS is enabled
ONS is individually enabled on nodes: 
ONS is individually disabled on nodes: 

Make sure nodeapps service are stopped
Make changes in /etc/hosts or DNS


Run below commands to change from root user

# srvctl modify nodeapps -n racnode1 -A 10.1.1.40/255.255.255.0/eth1
# srvctl modify nodeapps -n racnode2 -A 10.1.1.41/255.255.255.0/eth1


Verify changes are done 
[root@racnode1 grid]# srvctl config nodeapps
Network 1 exists
Subnet IPv4: 10.1.1.0/255.255.255.0/eth1, static
Subnet IPv6: 
Ping Targets: 
Network is enabled
Network is individually enabled on nodes: 
Network is individually disabled on nodes: 
VIP exists: network number 1, hosting node racnode1
VIP Name: racnode1-vip
VIP IPv4 Address: 10.1.1.40
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 
VIP exists: network number 1, hosting node racnode2
VIP Name: racnode2-vip
VIP IPv4 Address: 10.1.1.41
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 
ONS exists: Local port 6100, remote port 6200, EM port 2016, Uses SSL false
ONS is enabled
ONS is individually enabled on nodes: 
ONS is individually disabled on nodes: 

Start nodeapps
srvctl start nodeapps




Changing SCAN IP in RAC Cluster


Check the current status SCAN IP address on  DNS
[grid@racnode1 ~]$ nslookup racdb-scan
Server: 192.168.56.101
Address: 192.168.56.101#53

Name: racdb-scan.himvirtualdns.lab
Address: 192.168.56.121
Name: racdb-scan.himvirtualdns.lab
Address: 192.168.56.122
Name: racdb-scan.himvirtualdns.lab
Address: 192.168.56.123



Check the current status SCAN-VIP in the resource file

cd $GRID_HOME/bin

[grid@racnode1 ~]$ srvctl config scan
SCAN name: racdb-scan, Network: 1
Subnet IPv4: 192.168.56.0/255.255.255.0/eth1, static
Subnet IPv6: 
SCAN 0 IPv4 VIP: 192.168.56.121
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 
SCAN 1 IPv4 VIP: 192.168.56.122
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 
SCAN 2 IPv4 VIP: 192.168.56.123
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 


Update NEW SCAN IP address in the DNS server.

[root@racnode1 grid]# nslookup racdb-scan
Server: 192.168.56.101
Address: 192.168.56.101#53

Name: racdb-scan.himvirtualdns.lab
Address: 10.1.1.51
Name: racdb-scan.himvirtualdns.lab
Address: 10.1.1.52
Name: racdb-scan.himvirtualdns.lab
Address: 10.1.1.50



Stop Scan resource before modifying the CRS resource file.

[root@racnode1 grid]# srvctl stop scan_listener
[root@racnode1 grid]# srvctl stop scan
[root@racnode1 grid]# srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
SCAN VIP scan2 is enabled
SCAN VIP scan2 is not running
SCAN VIP scan3 is enabled
SCAN VIP scan3 is not running


[root@racnode1 grid]# srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is not running
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is not running
SCAN Listener LISTENER_SCAN3 is enabled
SCAN listener LISTENER_SCAN3 is not running


# srvctl modify scan -n racdb-scan

Verify that the change

# srvctl config scan

[root@racnode1 grid]# srvctl config scan
SCAN name: racdb-scan, Network: 1
Subnet IPv4: 10.1.1.0/255.255.255.0/eth1, static
Subnet IPv6: 
SCAN 0 IPv4 VIP: 10.1.1.50
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 
SCAN 1 IPv4 VIP: 10.1.1.51
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 
SCAN 2 IPv4 VIP: 10.1.1.52
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes: 
SCAN VIP is individually disabled on nodes: 


Start SCAN and the SCAN listener

# srvctl start scan
# srvctl start scan_listener