Oracle 11.2 Grid Infrastructure Installation
So Oracle 11gR2 was released earlier this week and I am an trying to install it on a 4-node cluster. I had previously installed the beta release on the same hardware/operating system configuration, so I was reasonably confident that a similar Advanced installation would work first time.
All went well until the final CVU check. This is the final step in the CVU installation. Oracle 11.2 requires SCAN (Single Client Access Names) to be specified. Three SCAN addresses are required for each cluster, irrespective of the number of nodes. The SCAN addresses are maintained as VIPs by the Clusterware. Instead of connecting to listener VIPs, in Oracle 11.2 applications should connect to the SCAN VIPs and they will then get redirected to the listeners.
In the beta it was possible to configure the SCAN addresses in /etc/hosts. For example I have been using:
192.168.2.97 cluster3-scan.juliandyke.com cluster3
192.168.2.98 cluster3-scan.juliandyke.com cluster3
192.168.2.99 cluster3-scan.juliandyke.com cluster3
Probably incorrect from a networking perspective, but enough to get through the installation procedure.
In the production version, CVU checks that the SCAN address is set in DNS. Tracing the CVU shows that it looks in /etc/nsswitch.conf and then runs nslookup. By default /etc/nsswitch.conf includes
hosts: files dns
which means look in /etc/hosts first and if you don't find the name there then go to DNS. CVU does check /etc/nsswitch.conf, but only to grumble if the hosts entry does not include dns. If the dns entry is present CVU will run nslookup. If it is not present, it does not, however, use /etc/hosts.
This means at present, DNS must be configured for RAC installations. This is going to be a bit frustrating for DBAs who just want to try installing RAC on a test system or in a VM environment as they are going to have to get to grips with DNS or find a workaround.
DNS is also required for the GNS (Typical) installation, so for now it looks unavoidable.
I just wanted the screenshots to be error free so my workaround was
cd /u01/app/11.2.0/grid/bin
mv cluvfy cluvfy.bak
create new file called cluvfy.c containing
main ()
{
return 0;
}
make cluvfy
Retry the CVU which then completed successfully
mv cluvfy.bak cluvfy
I guess I could have used Perl or bash to achieve the same effect.

1 Comments:
Weird - you'd have thought Oracle would have just used the gethostbyname() system call and then let the operating system decide on whether to look in /etc/hosts or DNS (based on nsswitch.conf, resolv.conf or whatever).
Is it just a warning (i.e. to encourage best practice for production systems)? Otherwise it seems to spoil the abstraction between the database layer and the OS.
Post a Comment
<< Home