以下文本摘自metalink doc:
This note attempts to clarify the cluster_interconnects parameter and the
platforms on which the implementation has been made. A brief explanation on
the workings of the parameter has also been presented in this note.
This is also one of the most frequently questions related to cluster and RAC
installations on most sites and forms a part of the prerequisite as well.
ORACLE 9I RAC – Parameter CLUSTER_INTERCONNECTS
———————————————–
FREQUENTLY ASKED QUESTIONS
————————–
November 2002
CONTENTS
——–
1. What is the parameter CLUSTER_INTERCONNECTS for ?
2. Is the parameter CLUSTER_INTERCONNECTS available for all platforms ?
3. How is the Interconnect recognized on Linux ?
4. Where could I find more information on this parameter ?
5. How to detect which interconnect is used ?
6. Cluster_Interconnects is mentioned in the 9i RAC administration
guide as a Solaris specific parameter, is this the only platform
where this parameter is available ?
7. Are there any side effects for this parameter, namely affecting normal
operations ?
8. Is the parameter OPS_INTERCONNECTS which was available in 8i similar
to this parameter ?
9. Does Cluster_interconnect allow failover from one Interconnect to another
Interconnect ?
10. Is the size of messages limited on the Interconnect ?
11. How can you see which protocoll is being used by the instances ?
12. Can the parameter CLUSTER_INTERCONNECTS be changed dynamically during runtime ?
QUESTIONS & ANSWERS
——————-
1. What is the parameter CLUSTER_INTERCONNECTS for ?
Answer
——
This parameter is used to influence the selection of the network interface
for Global Cache Service (GCS) and Global Enqueue Service (GES) processing.
This note does not compare the other elements of 8i OPS with 9i RAC
because of substantial differences in the behaviour of both architectures.
Oracle 9i RAC has certain optimizations which attempt to transfer most of
the information required via the interconnects so that the number of disk
reads are minimized. This behaviour known as Cache fusion phase 2 is summarised
in Note 139436.1
The definition of the interconnnect is a private network which
will be used to transfer the cluster traffic and Oracle Resource directory
information and blocks to satisfy queries. The technical term for that is
cache fusion.
The CLUSTER_INTERCONNECTS should be used when
– you want to override the default network selection
– bandwith of a single interconnect does not meet the bandwith requirements of
a Real Application Cluster database
The syntax of the parameter is:
CLUSTER_INTERCONNECTS = if1:if2:…:ifn
Where if<n> is an IP address in standard dotted-decimal format, for example,
144.25.16.214. Subsequent platform implementations may specify interconnects
with different syntaxes.
2. Is the parameter CLUSTER_INTERCONNECTS available for all platforms ?
Answer
——
This parameter is configurable on most platforms.
This parameter can not be used on Linux.
The following Matrix shows when the parameter was introduced on which platform:
Operating System Available since
AIX 9.2.0
HP/UX 9.0.1
HP Tru64 9.0.1
HP OPenVMS 9.0.1
Sun Solaris 9.0.1
References
———-
Bug <2119403> ORACLE9I RAC ADMINISTRATION SAYS CLUSTER_INTERCONNECTS IS SOLARIS ONLY.
Bug <2359300> ENHANCE CLUSTER_INTERCONNECTS TO WORK WITH 9I RAC ON IBM
3. How is the Interconnect recognized on Linux ?
Answer
——
Since Oracle9i 9.2.0.8 CLUSTER_INTECONNETCS can be used to change the interconnect.
A patch is also available for 9.2.0.7 under Patch 4751660.
Before 9.2.0.8 the Oracle implementation for the interface selection reads the ‘private hostname’
in the cmcfg.ora file and uses the corresponding ip-address for the interconnect.
If no private hostname is available the public hostname will be used.
4. Where could I find information on this parameter ?
Answer
——
The parameter is documented in the following books:
Oracle9i Database Reference Release 2 (9.2)
Oracle9i Release 1 (9.0.1) New Features in Oracle9i Database Reference –
What’s New in Oracle9i Database Reference?
Oracle9i Real Application Clusters Administration Release 2 (9.2)
Oracle9i Real Application Clusters Deployment and Performance Release 2 (9.2)
Also port specific documentation may contain information about the usage of
the cluster_interconnects parameter.
Documentation can be viewed on
http://tahiti.oracle.com
http://otn.oracle.com/documentation/content.html
References:
———–
Note 162725.1: OPS/RAC VMS: Using alternate TCP Interconnects on 8i OPS
and 9i RAC on OpenVMS
Note 151051.1: Init.ora Parameter “CLUSTER_INTERCONNECTS” Reference Note
5. How to detect which interconnect is used ?
The following commands show which interconnect is used for UDP or TCP:
sqlplus> connect / as sysdba
oradebug setmypid
oradebug ipc
exit
The corresponding trace can be found in the user_dump_dest directory and for
example contains the following information in the last couple of lines:
SKGXPCTX: 0x32911a8 ctx
admno 0x12f7150d admport:
SSKGXPT 0x3291db8 flags SSKGXPT_READPENDING info for network 0
socket no 9 IP 172.16.193.1 UDP 43307
sflags SSKGXPT_WRITESSKGXPT_UP
info for network 1
socket no 0 IP 0.0.0.0 UDP 0
sflags SSKGXPT_DOWN
context timestamp 0x1ca5
no ports
Please note that on some platforms and versions (Oracle9i 9.2.0.1 on Windows)
you might see an ORA-70 when the command oradebug ipc has not been
implemented.
When other protocols such as LLT, HMP or RDG are used, then the trace file will not
reveal an IP address.
6. Cluster_Interconnects is mentioned in the 9i RAC administration
guide as a Solaris specific parameter, is this the only platform
where this parameter is available ?
Answer
—–
This information that this parameter works on Solaris only is incorrect. Please
check the answer for question number 2 for the complete list of platforms for the same.
References:
———–
bug <2119403> ORACLE9I RAC ADMINISTRATION SAYS CLUSTER_INTERCONNECTS IS SOLARIS ONLY.
7. Are there any side effects for this parameter, namely affecting normal
operations ?
Answer
—–
When you set CLUSTER_INTERCONNECTS in cluster configurations, the
interconnect high availability features are not available. In other words,
an interconnect failure that is normally unnoticeable would instead cause
an Oracle cluster failure as Oracle still attempts to access the network
interface which has gone down. Using this parameter you are explicitly
specifying the interface or list of interfaces to be used.
8. Is the parameter OPS_INTERCONNECTS which was available in 8i similar
to this parameter ?
Answer
——
Yes, the parameter OPS_INTERCONNECTS was used to influence the network selection
for the Oracle 8i Parallel Server.
Reference
———
Note <120650.1> Init.ora Parameter “OPS_INTERCONNECTS” Reference Note
9. Does Cluster_interconnect allow failover from one Interconnect to another
Interconnect ?
Answer
——
Failover capability is not implemented at the Oracle level. In general this
functionality is delivered by hardware and/or Software of the operating system.
For platform details please see Oracle platform specific documentation
and the operating system documentation.
10. Is the size of messages limited on the Interconnect ?
Answer
——
The message size depends on the protocoll and platform.
UDP: In Oracle9i Release 2 (9.2.0.1) message size for UDP was limited to 32K.
Oracle9i 9.2.0.2 allows to use bigger UDP message sizes depending on the
platform. To increase throughput on an interconnect you have to adjust
udp kernel parameters.
TCP: There is no need to set the message size for TCP.
RDG: The recommendations for RDG are documented in
Oracle9i Administrator’s Reference – Part No. A97297-01
References
———-
Bug <2475236> RAC multiblock read performance issue using UDP IPC
11. How can you see which protocoll is being used by the instances ?
Answer
——
Please see the alert-file(s) of your RAC instances. During startup you’ll
find a message in the alert-file that shows the protocoll being used.
Wed Oct 30 05:28:55 2002
cluster interconnect IPC version:Oracle UDP/IP with Sun RSM disabled
IPC Vendor 1 proto 2 Version 1.0
12. Can the parameter CLUSTER_INTERCONNECT be changed dynamically during runtime ?
Answer
——
No. Cluster_interconnects is a static parameter and can only be set in the
spfile or pfile (init.ora)
Comment