When I installed Oracle RAC, I have configured the SCAN Listener with Dnsmasq. it uses the hosts file located on /etc folder. My surprise was when I started working with the RAC I just have one SCAN_LISTENER. The issue with DNSmasq is that is use the /etc/hosts entry so I prefer to go ahead and configure a complete DNS (I Installed BIND on Oracle Linux 6) and now I want to update the SCAN with the other two SCAN Listeners. Please find below the procedures:
Checking the actual configuration
[root@host01 ~]# nslookup cluster01-scan.example.com Server: 192.168.1.175 Address: 192.168.1.175#53 Name: cluster01-scan.example.com Address: 192.168.1.122 Name: cluster01-scan.example.com Address: 192.168.1.123 Name: cluster01-scan.example.com Address: 192.168.1.121 [root@host01 ~]# srvctl config scan SCAN name: cluster01-scan.example.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /cluster01-scan/192.168.1.121 [root@host01 ~]# srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
As you can see it is just one SCAN VIP configured, now we will stop the scan listener and scan resource and add the other two scan vips
[root@host01 ~]# srvctl stop scan_listener [root@host01 ~]# srvctl stop scan [root@host01 ~]# srvctl modify scan -n cluster01-scan.example.com [root@host01 ~]# srvctl config scan SCAN name: cluster01-scan.example.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /cluster01-scan.example.com/192.168.1.123 SCAN VIP name: scan2, IP: /cluster01-scan.example.com/192.168.1.121 SCAN VIP name: scan3, IP: /cluster01-scan.example.com/192.168.1.122
updating the scan listener to match with the two Scan Vips that we added before.
[root@host01 ~]# srvctl modify scan_listener -u [root@host01 ~]# srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521
Starting SCAN Listener and checking the configuration
[root@host01 ~]# srvctl start scan_listener [root@host01 ~]# srvctl config scan SCAN name: cluster01-scan.example.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /cluster01-scan.example.com/192.168.1.121 SCAN VIP name: scan2, IP: /cluster01-scan.example.com/192.168.1.122 SCAN VIP name: scan3, IP: /cluster01-scan.example.com/192.168.1.123 [root@host01 ~]# srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521 [root@host01 ~]# [root@host01 ~]# srvctl status scan SCAN VIP scan1 is enabled SCAN VIP scan1 is running on node host03 SCAN VIP scan2 is enabled SCAN VIP scan2 is running on node host02 SCAN VIP scan3 is enabled SCAN VIP scan3 is running on node host01 [root@host01 ~]# srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is running on node host03 SCAN Listener LISTENER_SCAN2 is enabled SCAN listener LISTENER_SCAN2 is running on node host02 SCAN Listener LISTENER_SCAN3 is enabled SCAN listener LISTENER_SCAN3 is running on node host01