分类: Oracle
2008-01-22 11:45:37
http://shahand.itpub.net/post/21657/303644
主题: How to Change Interconnect/Public Interface IP Subnet in a 10g Cluster
文档 ID: 注释:283684.1 类型: HOWTO
上次修订日期: 23-APR-2007 状态: PUBLISHED
In this Document
Goal
Solution
Instructions for Changing Interfaces on Linux/Unix systems
Notes for Windows Systems
Ramifications of Changing Interface Names Using oifcfg
References
References
Applies to:
Oracle Server - Enterprise Edition - Version:
Information in this document applies to any platform.
Goal
Purpose:
The purpose of this note is to describe how to change or update the interconnect and/or public interface IP that is stored in the OCR. This may be necessary 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 succeeed during the installation.
In any of these cases, the 'oifcfg' utility can be used to remove incorrect entries that are stored in the OCR, and to add the correct information back into the OCR.
Solution
As noted above, if the IP subnet for a particular interface is incorrect and needs to be changed, you should make the changes using the Oracle Interface Configuration Tool (oifcfg).
Instructions for Changing Interfaces on Linux/Unix systems
You can change the interface information for a cluster using the following as an example:
1. First - Use the getif option to show the currently configured interfaces. This will display the interfaces that are currently stored in the OCR, what their subnets are, and what their role is (i.e. public or cluster_interconnect). This example is from a Linux system, but the syntax is the same for any platform. On Unix/Linux systems, the interface names are generally assigned by the OS, and standard names vary by platform. (For Windows systems, see additional notes below) :
% $ORA_CRS_HOME/bin/oifcfg getif
eth0 138.2.156.0 global public
eth1 192.168.0.0 global cluster_interconnect
2. If the public interface IP needs to be changed, there is not a 'modify' option - you will need to delete the interface and add it back with the correct subnet IP. So, in the example here, the subnet is being changed from 138.2.156.0 to 138.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/138.2.166.0:public
syntax: oifcfg setif
3. The same step could be use for the private interface:
% $ORA_CRS_HOME/bin/oifcfg delif –global eth1
% $ORA_CRS_HOME/bin/oifcfg setif –global eth1/192.168.1.0:cluster_interconnect
4. Verify the correct interface subnet is in use by re-running oifcfg with the 'getif' option:
% $ORA_CRS_HOME/bin/oifcfg getif
eth0 138.2.166.0 global public
eth1 192.168.1.0 global cluster_interconnect
Notes for Windows Systems
The syntax for changing the interfaces on Windows/RAC clusters is the same as on Unix or Linux, but the interface names will be slightly different. On Windows systems, the default names assigned to the interfaces are generally names such as:
Local Area Connection
Local Area Connection 1
Local Area Connection 2
If you are using an interface name that has spaces in it, such as the examples above, you must enclose the name in quotes. Also, be aware that it is case sensitive. So for example, on Windows, you would use syntax such as the following to add the public subnet in:
C:oracleproduct10.2.0crsinoifcfg setif –global 'Local Area Connection 1'/138.2.166.0:public
However, it is common practice on Windows to rename the interfaces to use names that are more meaningful, such as renaming them to 'Public' and 'Private'. If interface names are renamed after CRS is installed, then you will need to run 'oifcfg' to delete the old interface and add the new one back in, as described above.
You can view the available interface names on each node by running the command:
oifcfg iflist
This command must be run on each node, as the 'iflist' option is showing the interface names that exist at the operating system level on that particular node. On the other hand, commands such as 'oifcfg getif', 'oifcfg delif' and 'oifcfg setif' are actually reading/updating the OCR, which is a shared resource. So these commands need only be run one time, and should be runnable from any node in the cluster.
Ramifications of Changing Interface Names Using oifcfg
The ramifications of changing the interface names depends on which name you are changing, and whether or not you are also changing the IP address. In cases where only the interface names are being changed, the ramifications are minor. If you change the name for the Public Interface that is stored in the OCR, you will also need to modify the nodeapps for each node. Therefore, the nodeapps will have to be brought down in order for this change to take effect. See Note 276434.1 for more details on changing the nodeapps to use a new public interface name.
Note 276434.1 for more details on changing the nodeapps to use a new public interface name.
For the Private interface, the database will use the interface stored in the OCR and defined as a 'cluster_interconnect' for cache fusion traffic. You will be able to see this at startup in the alert log, after the parameter listing - for example:
Cluster communication is configured to use the following interface(s) for this instance
192.168.1.1
If this is incorrect, then once you have corrected the entries stored in the OCR (by using 'oifcfg' as described in this note) you will have to restart the instance in order for it to re-read the OCR and pick up the correct network. This applies to ASM instances and Database instances alike.
Note 1: If you intend to change the actual IP addresses for the interconnect, this should be done while the CRS stack is down, in order to prevent node evictions. However, the CRS stack must be running in order to run the 'oifcfg' utility. Once the IP addresses are changed, and the CRS stack has been brought back up, you can then use 'oifcfg' to change the information stored in the OCR. At that point, the instances can then be started.
Note 2: On Windows systems, after shutting down the instance, you will also need to stop/restart the OracleService
References
For additional information on these commands for 10gR1, refer to:
Oracle® Real Application Clusters Administrator's Guide 10g Release 1 (10.1) Part No. B10765-01. Chapter 8, "Administrative Options", Administering System and Network Interfaces with the
OIFCFG (Oracle Interface Configuration) Tool
For 10gR2, refer to:
Oracle® Database Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide , 10g Release 2 (10.2) , Part Number B14197-03. Chapter 9.
Oifcfg Usage:
oifcfg iflist
oifcfg setif {-node
oifcfg getif [-node
oifcfg delif [-node
oifcfg [-help]