What is SCAN?
SCAN-Single Client Access Name, is an oracle feature used in Oracle Real Application Clusters environments. Real
Application Cluster environment provides a single name for clients to access any Oracle Database running in a cluster.
The benefit is that clients connect information does not need to change if you add or remove nodes or databases in the
SCAN was initially introduced with Oracle Real Application Clusters (RAC) 11g Release 2 and provides additional
functionality in Oracle RAC 12c. Having a single name to access the cluster to connect to a database in this cluster
allows clients to use EZConnect and the simple JDBC thin URL to access any database running in the cluster,
independently of the number of databases or servers running in the cluster and regardless on which server(s) in the
cluster the requested database is actually active.
Network Requirements for using SCAN:
The default SCAN configuration is defined during the installation of Oracle Grid Infrastructure that is distributed with
Oracle Database 11g Release 2 or higher. Oracle Grid Infrastructure is a single Oracle Home that contains Oracle
Clusterware and Oracle Automatic Storage Management.
You must install Oracle Grid Infrastructure first in order to use Oracle RAC 11g Release 2 or higher.
During the interview phase of the Oracle Grid Infrastructure installation, you will be prompted to provide a SCAN name.
There are 2 options for defining the SCAN:
1.Define a SCAN using the corporate DNS (Domain Name Service)
2.Define a SCAN using the Oracle Grid Naming Service (GNS)
How Connection Load Balancing Works Using the SCAN?
For clients connecting using Oracle SQL*Net, three IP addresses are received by the client by resolving the SCAN name
through DNS. The client then goes through the list that it receives from the DNS and tries connecting through one of the
IP addresses in the list. If the client receives an error, then it tries connecting to the other addresses before returning an
error to the user or application. This is similar to how client connection failover works in earlier Database releases, when
an address list is provided in the client connection string.
When a SCAN Listener receives a connection request, the SCAN Listener checks for the least loaded instance providing
the requested service. It then re-directs the connection request to the local listener on the node where the least loaded
instance is running. Subsequently, the client is given the address of the local listener. The local listener then finally
creates the connection to the Database instance.