Operating System - OpenVMS
1828041 Members
1906 Online
109973 Solutions
New Discussion

Oracle 9i and VMS multihome configuration

 
SOLVED
Go to solution
Dave Gudewicz
Valued Contributor

Oracle 9i and VMS multihome configuration

We recently enabled and started failSAFE IP ( 2 NICs ) on an Alpha v7.3-2 (patches up to date) system. This system runs Oracle 9i and it seems that Oracle only sees one of the 2 active IP addresses on this system, as it did before we enabled the second NIC and failSAFE IP.

It appears that failSAFE IP is not the issue here, but I include it in the description for completeness. failSAFE IP seems to be working as advertised (nice feature btw) and our DNS servers have been updated to include the second IP address. The Oracle listener has been restarted and Oracle is not aware of the second address.

Other people here have a call in to Oracle support, but while we're waiting for a reply, I thought I'd ask here and discover if anyone is running a similar configuration. My guess is that Oracle needs to be configured in some way to see both NICs/ IP addresses, but not being Oracle savy, I haven't a clue how that might be done.


Dave...
6 REPLIES 6
Vladimir Fabecic
Honored Contributor

Re: Oracle 9i and VMS multihome configuration

Not sure if I understund well.
But, why don't you use LAN failover device. In that case you have no IP address problem because everything is done in lower level. And it even works for DECNET and LAT.
I am using that feature on v7.3-2 and 8.2 and since now it is working good. I even use IP alias defined on LLA0:
Regards
In vino veritas, in VMS cluster
Ziggy Filek
Frequent Advisor

Re: Oracle 9i and VMS multihome configuration

This issue is of interest to me, since I'm in the process of implementing a high-availability system.
I think you did not take advantage of the failSAFE IP if you just configured two different IP addresses on two different interfaces. failSAFE allows you to define THE SAME address on multiple interfaces. Only one interface is active at any time, but when it fails, the other is made active taking not only the original IP with it, but also any static routes associated with the failed interface. That makes your ORACLE problem moot.
Assuming the two interfaces are connected to a VLAN on a switch (or, even better, a VLAN on two different switches, for redundancy), make sure that the switch interfaces are set to "fast up" feature of the spanning tree protocol.

Ziggy
Andreas Vollmer
Valued Contributor

Re: Oracle 9i and VMS multihome configuration

Hello Dave,

Maybe your Oracle problem comes from the ORAnet configuration.
I am not sure if it is possible to have more as one ORA Listener at the same system.
If I remember correct Oracle provides a kind of DNS but just for ORAnet and all the DB's.
But better let the ORACLE engineer solve this problem for you :-(

A LAN Failover setup, as suggested, is easy to maintain but it does not use all NICs in the Failover set - only one can be active.

failSAFE on the other hand uses the NICs configured in a failSAFE set and therefor the bandwith for TCP/IP (only) is much better.
I talked to the OpenVMS engineering concerning high availablity. It is possible and supported to combine both features, LANfailover and failSAFE IP, in order to maximise security and performance but it is just a matter of ports and costs...

failSAFE does NOT define the same address on all NICs, it is just the same NAME. Therefore the combination of failSAFE and DNS (roundrobin) makes the failSAFE sucessful.

I know this entry is not exactly an answer but it might avoid confusion.
Cheers
Andreas
OpenVMS Forever!
Hein van den Heuvel
Honored Contributor
Solution

Re: Oracle 9i and VMS multihome configuration



>> The Oracle listener has been restarted and Oracle is not aware of the second address.

Was listener.ora adapted to have the second address? Was the second listener explicitly started with the non-default listener name?
$lsnrctl start LISTENER2

Here is a write up:
http://www.samoratech.com/swmultiplelistener.htm
and of course check
"Oracle® Database Net Services Administrator's Guide"

Next, You will need to configure the client side tnsnames.ora for TAF failover for the two addresses

Here is the example for the purpose of RAC load balancing from the "Oracle® Database Net Services Reference Guide". My guess is that yo need a similar construct, probably without the (LOAD_BALANCE=on) clause, but still with that sales2-server line.
I would use a numeric second ip address there at first, to remove possible confusion points.
Btw... the syntax of listener.ora and tnsnames.ora files is tricky. If you have a tool to updated them... use it.

sales=
(DESCRIPTION=
(ADDRESS_LIST=
(FAILOVER=on)
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com)))

hth,
Hein.
Dave Gudewicz
Valued Contributor

Re: Oracle 9i and VMS multihome configuration

Vladimir:

LAN failover is OK, but it does not provide load balancing. One NIC is active and the other is in standby mode. failSAFE IP provides load balancing and, in this case, its OK for it to be IP only.

Ziggy:

We have defined multiple address on both NICs as described in the Configuring and Managing failSAFE IP manual. What I believe we need to do is to configure Oracle correctly regarding the multiple IP addresses as mentioned in my original statement.

Andreas:

Thanks for the heads up on combining failSAFE IP and LAN Failover.

Hein:

You're on the right track here. We're still waiting to hear back from our friends at Oracle regarding the multihomed configuration. Thanks for the link.


Dave...
Dave Gudewicz
Valued Contributor

Re: Oracle 9i and VMS multihome configuration

An update:

We now have a working mulithomed/failSAFE IP configuration.
Application people used a sniffer and saw that when SQL connects were established to the AlphaServer, both IP addresses were used in a round robin fashion. Prior to us redoing the local host file on the Alpha,(see next paragraph) only the original IP address was used.

There were **no** changes required in any Oracle configuration files for this to work. We did find that the local host file
(tcpip$host.dat) on the Alpha seemed to be corrupted, so we:

1. deleted the local host file
2. used tcpip$conf to create a new one
3. populated the new host file with both IP addresses and host name
4. restarted Oracle
5. both IP addresses were now used by Oracle ( sniffer confirmed )
6. application people were happy

Dave...