Using Oracle 12c database (SCAN) with Oracle 8 client

oracle-12c

I have successfully connected to my 12c database using Oracle 8 client. The connection is based on using the database-scan as host in tnsnames.ora.

There are 3 IP addresses reserved in DNS for scan…

However I read in oracle documentation that:

If using a pre-11g Release 2 client (Oracle Database 11g Release or Oracle Database 10g Rel. 2, or older) you will not fully benefit from the advantages of SCAN. Reason: The Oracle Client will not be able to handle a set of three IPs returned by the DNS for SCAN. Hence, it will try to connect to only the first address returned in the list and will more or less ignore the others. If the SCAN Listener listening on this specific IP is not available or the IP itself is not available, the connection will fail. In order to ensure load balancing and connection failover with pre-11g Release 2 clients, you will need to change the TNSNAMES.ora of the client so that it would use 3 address lines, where each address line resolves to one of the SCAN VIPs.

…so even though my application is connecting it might not be running optimally and using only 1 IP address in the SCAN.

My questions are:

What would cause the SCAN listener listening on this IP to be unavailable? How likely is it to happen?

What would cause the SCAN IP to be unavailable? How likely is this to happen?

Best Answer

Oracle will try to have at least one active scan listener on every node of the cluster. They are running on a vip and that vip can be relocated to any of the nodes.

As long as your app does not care in what instance it connects, it does not matter where your connection takes you. Problem comes when your app tries to connect to a specific service that is not on the node where the first returned listener address is located. In that case you are better off with a regular address list.

The scan address is unavailable during maintenance and while it is reassigned.