Oracle Universal Installer (OUI) enforces providing a SCAN resolution during the Oracle Grid Infrastructure
installation, since the SCAN concept is an essential part during the creation of Oracle RAC 11g Release 2 databases in
the cluster. All Oracle Database 11g Release 2 tools used to create a database (e.g. the Database Configuration
Assistant (DBCA), or the Network Configuration Assistant (NetCA)) would assume its presence. Hence, OUI will not
let you continue with the installation until you have provided a suitable SCAN resolution.
However, in order to overcome the installation requirement without setting up a DNS-based SCAN resolution, you
can use a hosts-file based workaround. In this case, you would use a typical hosts-file entry to resolve the SCAN to
only 1 IP address and one IP address only. It is not possible to simulate the round-robin resolution that the DNS
server does using a local host file. The host file look-up the OS performs will only return the first IP address that
matches the name. Neither will you be able to do so in one entry (one line in the hosts-file). Thus, you will create only
1 SCAN for the cluster. (Note that you will have to change the hosts-file on all nodes in the cluster for this purpose.)
This workaround might also be used when performing an upgrade from former (pre-Oracle Database 11g Release 2)
releases. However, it is strongly recommended to enable the SCAN configuration as described under “Option 1” or
“Option 2” above shortly after the upgrade or the initial installation. In order to make the cluster aware of the
modified SCAN configuration, delete the entry in the hosts-file and then issue: "srvctl modify scan -n <scan_name>" as the
root user on one node in the cluster. The scan_name provided can be the existing fully qualified name (or a new
name), but should be resolved through DNS, having 3 IPs associated with it, as discussed. The remaining reconfiguration
is then performed automatically.
HOW CONNECTION LOAD BALANCING WORKS USING SCAN
For clients connecting using Oracle SQL*Net 11g Release 2, three IP addresses will be received by the client by
resolving the SCAN name through DNS as discussed. The client will then go through the list it receives from the DNS
and try connecting through one of the IPs received. If the client receives an error, it will try the other addresses before
returning an error to the user or application. This is similar to how client connection failover works in previous
releases when an address list is provided in the client connection string.
When a SCAN Listener receives a connection request, the SCAN Listener will check for the least loaded instance
providing the requested service. It will then re-direct the connection request to the local listener on the node where the
least loaded instance is running. Subsequently, the client will be given the address of the local listener. The local listener
will finally create the connection to the database instance.
本文出自 “无双城” 博客,请务必保留此出处http://929044991.blog.51cto.com/1758347/1244280