We help IT Professionals succeed at work.

Oracle won't start when using Direct NFS with a down link

Sophia Paterakis
Sophia Paterakis used Ask the Experts™
on
I've recently configured Oracle to use Direct NFS, but when I tried to start the database with one of the two network links down it just hung after putting this into the alert.log:

Tue Apr 17 17:58:29 2012
ALTER DATABASE   MOUNT

Open in new window

The only resolution at this point was a (ugh) shutdown abort.

Here is my oranfstab file:

server: netapp1
local: 192.168.1.1
path: 192.168.1.100
local: 192.168.2.1
path: 192.168.2.100
export: /vol/u01 mount: /u01
export: /vol/u02 mount: /u02
export: /vol/u05 mount: /u05

server: netapp2
local: 192.168.1.1
path: 192.168.1.200
local: 192.168.2.1
path: 192.168.2.200
export: /vol/u03 mount: /u03
export: /vol/u04 mount: /u04
export: /vol/u06 mount: /u06

Open in new window

Normally I do have "donotroute" in there also, but that was my first attempt at debugging why it wouldn't failover.  If I remove the second network (192.168.2.xxx) completely from the oranfstab then it works perfectly.

If you ping from the unix host (Solaris), then the second network isn't reachable... and my sysadmins are working to find out why, but my main concern is:

QUESTION: Why didn't Oracle failover and use the 192.168.1.xxx network for all traffic?

O/S: Solaris 10
Oracle: 11.2.0.2.0
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Senior Oracle DBA
Commented:
As a quirk of Direct NFS, if the link is down during database startup then it hangs.  You can try the documented "mnt_timeout" parameter, but I've not had any luck getting that to have any effect at all.  The default timeout is 600 seconds (10 minutes), but I've never had the patience to wait that long.

The only resolution is:

1) Remove the broken network from the oranfstab
2) Start the database and run with only one link for the time being
3) Once the network is fixed then restore the original oranfstab
4) Restart the database to use both links

Yay Oracle!

P.S.  You don't need the "dontroute" in your config, as you're using different networks (presuming you're running a standard C-Class network mask 255.255.255.0).  You only need the donotroute when everything is in the same subnet. (Oracle Doc ID 822481.1)