Oracle Direct NFS Configuration File Explained

Posted in: Technical Track

While Oracle tech folks do their best to explain the meaning of not so many DNFS configuration file (oranfstab) parameters, I still find the official description a bit confusing. Therefore, I decided to share my understanding of the DNFS configuration parameters in hope that it will help someone or that if my understanding is wrong, someone corrects me :) So, if I am wrong please, please, please feel free to comment below.

Reasonably good description from Oracle folks

REF: Oracle® Grid Infrastructure Installation Guide 11g Release 2 (11.2) for Linux Part Number E22489-08
The parameters Enabling Direct NFS Client Oracle Disk Manager Control of NFS

Yury’s explanation

  • Server – Any name you want. This item has no technical impact whatsoever. This is kind of a configuration set’s alias used by instances to report the DNFS channels’ status or channel- related problems.
  • “Local:” & “Path:” –  Both parameters are IPs of a network card through which you want the DNFS traffic to be sent. “Local” is an IP on your database server. “Path” is an IP of a network card on the NFS server. You can configure up to 4 IPs for each parameter (assuming you have 4 different network cards).
  • “Export:” & “Mount:” – This pair of parameters identifies a configuration set in an oranfstab file. You can have as many configuration sets as you want in a single configuration file. Each configuration set is relative to at least one or several pairs of mount points specified by an “Export”/”Mount” pair. “Export” parameter identifies a mount name on the NFS server, while “Mount” identifies the name of a mount point on a database server.
  • Mnt_timeout: If an Oracle session doesn’t receive any response from a DNFS channel for the number of seconds specified by that parameter (default 10 mins), it drops the connection and marks the channel as unavailable. Comment: It sounds a bit too high for me.
  • Dontroute: If specified, no OS TCP/IP routing process is used. The packages got sent to the network interfaces specified by “Local” parameter directly. It sounds logical to me.

oranfstab file example

cat $ORACLE_HOME/dbs/oranfstab

server: nfs_data_cfg_set1 # Remember you can anything here. It doesn't have any tech meaning
local: locIP1 # e.g. local:168.192.1.32
path: nfsIPa # this IP could be different from the one specified in a /etc/mtab
local: locIP2
path: nfsIPb
local: locIP3
path: nfsIPc
local: locIP4
path: nfsIPd
dontroute # Optional
Mnt_timeout: 30 # Oprional
export: /vol/orad1 mount: /ora_nfs_a
export: /vol/orad2 mount: /ora_nfs_b
export: /vol/orad3 mount: /ora_nfs_c # Note that this is where nfs_data_cfg_set1 section ends
server: nfs_fra_cfg_set2
local: locIP5
path: nfsIPf
local: locIP6
path: nfsIPg
local: locIP3
path: nfsIPc
local: locIP4
path: nfsIPd
Mnt_timeout: 120
export: /u01 mount: /fra_nfs_a # this is where nfs_fra_cfg_set2 ends
server: nfs_dpump_cfg_set2
....
export: /vol/interfaces mount: /d_pump_a # this is where nfs_dpump_cfg_set2 ends

Let me know if this post helped you or you found a mistake.

Yury

email
Want to talk with an expert? Schedule a call with our team to get the conversation started.

About the Author

Yury is a nice person who enjoys meeting and working with people on challenging projects in the Oracle space. He started to work as an Oracle DBA 14 years ago (1997). For the past 10 years (since 2001) his main area of expertise is Oracle e-Business Suite. Yury is an OCP 7,8,9,10g and OCM 9i,10g. He is a frequent presenter at Oracle related conferences such as Hotsos, UKOUG and AUOUG. Yury is a socially active person. Apart from Social Media (Twitter, Bloging, Facebook) he is the primary organizer of Sydney Oracle Meetup group (250 people). So if you happen to be in Sydney (Australia) drop Yury a message and stop by at one of his Meetups.

4 Comments. Leave new

I have not used DNFS a lot yet. This post does clarify my big misunderstanding. I thought “server” parameter needs to refer to DNS/hostname of the NFS server. Thanks so much!

Reply
Yury Velikanov
July 14, 2013 7:04 am

I am glad to see that it helped you Justiono ;) Thanks for the feedback. The feedback alike lets me understand that I my work helps Oracle Community :)

Reply

Hi,
What does “Oracle drops the connection and marks the channel as unavailable.” mean in the header mnt_timeout? Does it mean it does not round-robin to that channel anymore? and when the problem is fixed how is it re-enabled?

Reply
Andrew James Grady
February 24, 2021 1:26 pm

So in your example,

server: nfs_data_cfg_set1
local: locIP1 # e.g. local:168.192.1.32
path: nfsIPa
local: locIP2
path: nfsIPb
local: locIP3
path: nfsIPc
local: locIP4
path: nfsIPd
dontroute # Optional
Mnt_timeout: 30 # Optional
export: /vol/orad1 mount: /ora_nfs_a
export: /vol/orad2 mount: /ora_nfs_b
export: /vol/orad3 mount: /ora_nfs_c


server: is just a tag for the group of parms down to EOF or another “server:” parm. T/F?

local: is my DB server
path: is my NFS server
–> this confused me, sorry. you have three sets of these parms but this file (oranfstab) exists on a single server. So how would the other servers (locIP2, 3 & 4) know about or benefit from this?

export:
/vol/orad1 = the existing mount on the NFS server?
/ora_nfs_a = the new local mount created by dFNS?
–> How are these entries resolved with respect to the local/path pairs above?

Thank you so much for your answer!

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *