Oracle dNFS Configuration

Oracle

Audience
Public
Technology Integrations
Oracle
Source Type
Documentation

Oracle Direct NFS bypasses the kernel NFS client for better performance. This requires enabling the dNFS library and telling Oracle where to find the NFS servers.

Enable dNFS library:
# Create the soft link
cd $ORACLE_HOME/lib
mv libodm19.so libodm19.so.backup
ln -s libnfsodm19.so libodm19.so

# Verify the symlink : 
ls -l $ORACLE_HOME/lib/libodm19.so

# Expected output
lrwxrwxrwx 1 oracle oinstall 16 Jan 12 10:30 libodm19.so -> libnfsodm19.so
Note: repeat on all nodes for Real Application Clusters.
Create oranfstab:

Location: $ORACLE_HOME/dbs/oranfstab

Enter values in the following format:
server: <SERVER_NAME>
path: <FLASHBLADE_VIP>
export: /<FILESYSTEM_NAME>
mount: <MOUNT_POINT>
nfs_version: NFSv4.1
Example for nfsv4.1:
server: flashblade
path: 10.21.221.21
export: /rman-backups
mount: /rman
nfs_version: nfsv4.1
Restart database to activate dNFS:
# Standalone
sqlplus / as sysdba <<< "SHUTDOWN IMMEDIATE; STARTUP;"

# RAC
srvctl stop database -d <DBNAME>
srvctl start database -d <DBNAME>
Verify dNFS is active:
grep -i "direct nfs" $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log | tail -5

# Expected Output
Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 6.0
Direct NFS: channel id [0] path [flashblade] to filer [flashblade] via local [] is UP
If you see Using default NFS mount options instead, dNFS is not active. Check mount options and oranfstab configuration.

Query registered servers:
SELECT svrname, dirname, nfsversion, wtmax, rtmax
FROM V$DNFS_SERVERS;

# Example Output

SVRNAME         DIRNAME       NFSVERSION  WTMAX    RTMAX
--------------- ------------- ----------- -------- --------
flashblade   /rman-backups NFSv4.1     1048576  1048576
Note: V$DNFS_SERVERS only shows entries when there is active I/O to the NFS mount. If the query returns no rows, run a test backup or create a test file on the mount point, then query again.