Your network administrator informs you that the Internet service provider is being changed in a
month’s time in conjunction with a data center move.
You are asked to plan for the changes required in the Oracle Grid Infrastructure, which is set up to
use GNS.
The IP addresses and subnets of the public network are to change.
Which two must be done in the Oracle Grid Infrastructure network setup to accommodate this
change using the command-line Interfaces available?
A.
The SCAN VIPs and node VIPs must be reconfigured using srvctl.
B.
The SCAN VIPs and SCAN listener resources must be removed and added to obtain the new
SCAN IP addresses from DHCP.
C.
The interconnect must be reconfigured by using oifcfg, crsctl, and ifconfig.
D.
The SCAN VIPs and node VIPs must be reconfigured by using oifcfg.
E.
The Interconnect must be reconfigured by using srvctl.
Explanation:
How to Modify Public or Private Network Information in Oracle Clusterware [ID
283684.1]
Modified 14-MAR-2012 Type HOWTO Status PUBLISHED
Applies to:Oracle Server – Enterprise Edition – Version.1.0.2 to 11.2.0.3 – Release.1 to 11.2
Information in this document applies to any platform.
Goal
The purpose of this note is to describe how to change or update the cluster_interconnect and/or
public interface information that is stored in OCR.
It may be necessary to change or update interface names, or subnet associated with an interface
if there is a network change affecting the servers, or if the original information that was input
during the installation was incorrect. It may also be the case that for some reason, the Oracle
Interface Configuration Assistant (‘oifcfg’) did not succeed during the installation.
This note is not intended as a means to change the Public or Private Hostname themselves.
Public hostname or Private hostname can only be changed by removing/adding nodes, or
reinstalling Oracle Clusterware.
However, node VIP name/IP can be changed, refer to Note 276434.1 for details.
Refer to note 1386709.1 for basics of IPv4 subnet and Oracle Clusterware
Instructions for Changing Interfaces/Subnet
1. Public Network Change
If the change is only public IP address and the new ones are still in the same subnet, nothing
needs to be done on clusterware level (all changes needs to be done on OS level to reflect the
change).
If the change involves different subnet or interface, as there is not a ‘modify’ option – you will need
to delete the interface and add it back with the correct information. So, in the example here, the
subnet is being changed from 10.2.156.0 to 10.2.166.0 via two separate commands – first a ‘delif’
followed by a ‘setif’:
% $ORA_CRS_HOME/bin/oifcfg delif -global eth0
% $ORA_CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public syntax: oifcfg setif <interface-name>/<subnet>:<cluster_interconnect|public>
Note: If public network is changed, it may be necessary to change VIP as well, refer to Note
276434.1 for details; for 11gR2, it may be necessary to change SCAN as well, refer to note
972500.1 for details (This procedure does not apply when GNS is being used).
2. Private Network Change
2A. For pre-11gR2, if you wish to change the cluster_interconnect information and/or private IP
address, hosts file needs to be modified on each node to reflect the change while the Oracle
Clusterware Stack is down on all nodes. After the stack has restarted, to change the
cluster_interconnect used by RDBMS and ASM instances, run oifcfg. In this example:
% $ORA_CRS_HOME/bin/oifcfg delif -global eth1
% $ORA_CRS_HOME/bin/oifcfg setif -global eth1/192.168.1.0:cluster_interconnect2B. For 11gR2 and higher, refer to note 1073502.1
Note: For 11gR2, as clusterware also uses cluster_interconnect, intended private network must be
added by “oifcfg setif” before stopping clusterware for any change.
Note: If you are running OCFS2 on Linux and are changing the private IP address for your cluster,
you may also need to change the private IP address that OCFS2 is using to communicate with
other nodes. For more information on this, please refer to <Note 604958.1>
3. Verify the correct interface subnet is in use by re-running oifcfg with the ‘getif’ option:
% $ORA_CRS_HOME/bin/oifcfg getif
eth0 10.2.166.0 global public
eth1 192.168.1.0 global cluster_interconnect
How to Modify Private Network Interface in 11.2 Grid Infrastructure [ID 1073502.1]
Modified 08-FEB-2012 Type HOWTO Status PUBLISHED
Applies to:
Oracle Server – Enterprise Edition – Version.2.0.1.0 and later [Release.2 and later ]
Information in this document applies to any platform.
Goal
The purpose of this document is to demonstrate how to change the private network interface
configuration stored in the OCR. This may be required if the name of the interface for the private
network (cluster interconnect) needs to be changed at the OS level, for example, the private
network is configured on a single network interface eth0, now you want to replace it with a bond
interface bond0 and eth0 will be part of the bond0 interface. It also includes command for
adding/deleting a private network interface.
Solution
As of 11.2 Grid Infrastructure, the CRS daemon (crsd.bin) now has a dependency on the private
network configuration stored in the gpnp profile and OCR. If the private network is not available or
its definition is incorrect, the CRSD process will not start and any subsequent changes to the OCR
will be impossible.
Therefore care needs to be taken when making modifications to the configuration of the private
network. It is important to perform the changes in the correct order.
Note: If only private network IP is going to be changed, the subnet and network interface remain
same (for examples changing private IP from 192.168.0.1 to 192.168.0.10), simply shutdown GI
stack, make IP modification at OS level (like /etc/hosts, network config etc) for private network,
then restart GI stack will complete the task.
The following procedures apply when subnet or network interface name also requires change.
Please take a backup of profile.xml on all cluster nodes before proceeding, as grid user:
$ cd $GRID_HOME/gpnp/<hostname>/profiles/peer/$ cp -p profile.xml profile.xml.bk
To modify the private network (cluster_interconnect):
1. Ensure CRS is running on ALL cluster nodes in the cluster
2. As grid user, add new interface:
Find the interface which needs to be removed. For example:
$ oifcfg getif
eth1 100.17.10.0 global public
eth0 192.168.0.0 global cluster_interconnect
Here the eth0 interface will be replaced by bond0 interface.
Add new interface bond0:
$ oifcfg setif -global <interface>/<subnet>:cluster_interconnect
For example:
$ oifcfg setif -global bond0/192.168.0.0:cluster_interconnect
This can be done with -global option even if the interface is not available yet, but this can not be
done with – node option if the interface is not available, it will lead to node eviction.
If the interface is available on the server, subnet address can be identified by command:
$ oifcfg iflist
It lists the network interface and its subnet address. This command can be run even if CRS is not
up and running. Please note, subnet address might not be in the format of x.y.z.0. For example, it
can be:
$ oifcfg iflist
lan1 18.1.2.0
lan2 10.2.3.64 << this is the private network subnet address associated with privet network IP:
10.2.3.86
If the scenario is just to add a 2nd private network, for example: new interface is eth3 with subnet
address:
192.168.1.96, then issue:
$ oifcfg setif -global eth3/192.168.1.96:cluster_interconnect
Verify the change:
$ oifcfg getif
3. Shutdown CRS on all nodes and disable the CRS as root user:
# crsctl stop crs
# crsctl disable crs4. Make the network configuration change at OS level as required, ensure the new interface is
available on all nodes after the change.
$ ifconfig -a
$ ping <private hostname>
5. Enable CRS and restart CRS on all nodes as root user:
# crsctl enable crs
# crsctl start crs
6. Remove the old interface:
$ oifcfg delif -global eth0
Note #1. This step is not required for adding 2nd interface scenario.
#2. If the new interface is added without removing the old interface, eg: old interface still available
when CRS restart, then after step 6, CRS needs to be stop and start again to ensure the old
interface is no longer in use.Workaround: restore the OS network configuration back to the original status, start CRS. Then
follow above steps to make the changes again.
Please consult with Oracle Support Service if after restoring OS network configuration, CRS still
could not start.
2. If any one node is down in the cluster, oifcfg command will fail with error:
$ oifcfg setif -global bond0/192.168.0.0:cluster_interconnect
PRIF-26: Error in update the profiles in the cluster
Workaround: start CRS on the node where it is not running. Ensure CRS is up on all cluster
nodes.
3. If a user other than Grid Infrastructure owner issues above command, it will fail with same error:
$ oifcfg setif -global bond0/192.168.0.0:cluster_interconnect
PRIF-26: Error in update the profiles in the cluster
Workaround: ensure to login as Grid Infrastructure owner to perform such command.4. From 11.2.0.2 onwards, if attempt to delete the last private interface (cluster_interconnect)
without adding a new one first, following error will occur:
PRIF-31: Failed to delete the specified network interface because it is the last private interface
Workaround: Add new private interface first before deleting the old private interface.
5. If CRS is down on the node, the following error is expected:
$ oifcfg getif
PRIF-10: failed to initialize the cluster registry
Workaround: Start the CRS on the node
My Oracle Support
I think the correct answer is A&C
For changing the Node VIP use the below command
Make necessary changes to the /etc/hosts file on all nodes and make necessary domain name server (DNS)changes to associate the new IP address with the old host
name.
Modify node applications and provide a new VIP address:
# srvctl modify nodeapps -n host01 -A 192.168.2.125/255.255.255.0/eth0
For Managing SCAN VIP and SCAN Listener Resources
$ srvctl modify scan –n cluster01-scan
$ srvctl modify scan_listener -u
As the question states: …”The IP addresses and subnets of the public network are to change.”, this means that Interconnect won’t need to be changed at all, thus C, E are incorrect answers.
Also, ‘oifcfg’ can’t be considered as an alternative because this tools is intended exclusively to define and administer network interfaces, so I reject answer D too. (http://docs.oracle.com/cd/B28359_01/rac.111/b28255/oifcfg.htm).
I think A and B are the correct answers.
Update:
Note 283684.1 at Oracle Support states that …”if the change involves different subnet or interface, as there is not a ‘modify’ option – you will need to delete the interface and add it back with the correct information”…
% $ORA_CRS_HOME/bin/oifcfg delif -global eth0
% $ORA_CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public
So, I have to regret and add a vote for answers A & C.
; )
My bad! I meant A & D. Sorry!
: (