Enabling Oracle 12c direct NFS client on Windows

Yes, enabling the Oracle 12c direct NFS client on Windows and it is documented, but I didn’t get changed on Oracle Support (I have send an improvement request for Doc ID 1468114.1)…

One needs to run ‘%ORACLE_HOME%\bin\enable_dnfs.bat’ now, which does NOT copy the ‘oranfsodm12.dll’ over the ‘oraodm12.dll’, but it copies the ‘oranfsodm12.dll’ to the ‘%ORACLE_HOME%\rdbms\lib\odm\’ directory!

After the file has been copied and Oracle is restarted, the [Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 3.0] line in the alert.log is shown!

Enabling Direct NFS Client – documentation

Oracle Database Installation Guide for Microsoft Windows – Oracle Database Postinstallation Tasks – 7.5.1.5 Enabling Direct NFS Client: http://docs.oracle.com/database/121/NTDBI/postcfg.htm#CHDFGFDC

ps. on Windows the supported ‘nfs_version’ is still NFSv3 :(

Direct NFS, configuring and network considerations in practise

Oracle Direct NFS (dNFS for short) is an NFS Client functionality integrated directly in the Oracle database software, optimizing the I/O (multi)path to your NFS storage without the overhead of the OS client/kernel software.

In this blog post I’ll describe network considerations, configurations and problems I have encountered during set-ups I have done.

dNFS uses two kinds of NFS mounts, the OS mount of NFS (also referred to as kernel NFS of kNFS) and, of course, Oracle’s database NFS mount, Direct NFS or dNFS.

According to [Direct NFS: FAQ (Doc ID 954425.1)] and [How to configure DNFS to use multiple IPs (Doc ID 1552831.1)], an kNFS mount is needed, although Oracle also claims it will also work on platforms that don’t natively support NFS, e.g. Windows… [Oracle Database 11g Direct NFS Client White Paper] (I don’t know how yet…).

Because dNFS implements multipath I/O internally, these is no need for bonding the interfaces to storage via active-backup or Link Aggregation. However, it’s good practice to bond the OS kNFS connection:

1 - eth0 -\
           - bond0 - OS / kNFS
2 - eth1 -/
3 - eth2 --------- - dNFS path 1
4 - eth3 --------- - dNFS path 2

Above schematic shows [How to configure DNFS to use multiple IPs (Doc ID 1552831.1)]:
“A good solution could be to use bonded NICs (…) to perform the mount and then use unbonded NICs via dNFS for the performance critical path.” Continue reading