Oracle RAC 11gR2 and 12c SCAN and Virtual IP and their purposes

Concerning Oracle RAC 12c, and 11gR2
Virtual IP (VIP) addresses are IP addresses pair with REAL IP addresses and are used to avoid TCP timeout which can be well into the minutes. Oracle RAC monitors VIP addresses for availability and moves them if necessary to available real IP addresses.  VIP addresses are stored in DNS or local host files.
SCAN IP (Single Client Access Name) are up to 3 IP addresses stored in DNS.  I use dnsmasq instead of DNS for changing sandbox / development VM environments.
SCAN IP allow changes to RAC underlying VIP and IP addresses used on the cluster (adding or deleting nodes) without changing client access files e.g. tnsnames.
Here’s an example of my hosts file and dnsmasq config files.

[root@rac1 Desktop]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.150 rac1.localdomain rac1
192.168.1.151 rac2.localdomain rac2
# vip – no nic
192.168.1.152 rac1-vip.localdomain rac1-vip
192.168.1.153 rac2-vip.localdomain rac2-vip
# private Interconnect
192.168.11.150 rac1-priv.localdomain rac1-priv
192.168.11.151 rac2-priv.localdomain rac2-priv
#
192.168.1.154 scan-ip.localdomain scan-ip
192.168.1.155 scan-ip.localdomain scan-ip
192.168.1.156 scan-ip.localdomain scan-ip
192.168.1.37 sampson.localdomain sampson   # my OEM host – not in the cluster

DNSMASQ
Note the 3 scan-ip in the hosts file is defined in only one server in the cluster and that would be the server where you installed and configured dnsmasq.
Generally to get dnsmasq working it as mentioned, is installed on one server in the cluster as follows:

rpm -ifv dnsmasq

Or if a yum repo is setup

yum install dnsmasq

and enabling the service with
chkconfig dnsmasq on.  Then verify with

chkconfig –list dnsmasq
service status dnsmasq

You will also need to edit or create the file “/etc/dnsmasq.conf” and add the following to prevent local network queries being forwarded.  My internal domain is called “localdomain” and then stop and start dnsmasq.

local=/localdomain/

Scroll to Top