We want to build a 4 node RAC 11gr23 on exadata x3-2. Oracle only recommend 3 ip for scan listener. by previous observation of non-exadata RAC, seems each node will spread randomly one Scan Ip address. So if we assign 3 ip to one scan listener, how that will work on a 4-node RAC?
by Load balancing
Oracle RAC databases increase load balancing by using the single client access name (SCAN) for the cluster to balance connections among all instances in a cluster database. SCAN also adds location independence for the databases, so that client configuration does not have to depend on which nodes are running a particular database or database instance.
Based on the environment, the following actions occur when you use SCAN to connect to an Oracle RAC database using a service name. The numbered actions correspond to the arrows shown in Figure 7-1.
It distributes like this:
[oracle@lynxdb01 ~]$ crsstat lsnr
HA Resource Target State
----------- ------ -----
The purpose of SCAN listener is only to redirect the connection to the node(local) listeners based on their load. So, it does not matter how many nodes you have.. you just need 3 scan IPs and hence 3 scan listeners running. These scan ips can be hosted on any node in random order. We do not need to be concerned about this either. All the database instances from all the nodes are registered with all the scan listeners using the REMOTE_LISTENER parameter pointing to SCAN. So, it does not matter where the SCAN IP is hosted.