Verifying Oracle Direct NFS usage

Oracle records the use of Direct NFS in alert.log and also in internal catalog v$dnfs tables. Table: v$tables for Direct NFS information lists the v$tables available to find the state and the health of Direct NFS from Oracle side.

Table: v$tables for Direct NFS information

Table Name

Description

v$dnfs_servers

Shows a table of servers accessed using Direct NFS

v$dnfs_channels

Shows a table of open network paths (or channels) to servers for which Direct NFS is providing files.

v$dnfs_files

Shows a table of files now open with Direct NFS

v$dnfs_stats

Shows a table of performance statistics for Direct NFS

To verify Oracle Direct NFS usage

  1. Check alert.log for DNFS messages.

    The following is an example of lines in alert.log from Oracle Database version 11.2.0.2 instance running with ODM:

    Oracle Direct NFS ODM Library Version 3.0
    
    ALTER DATABASE  MOUNT
    Direct NFS: channel id [0] path [10.182.110.126] to 
    filer [cnfs-1.engba.symantec.com] via local [] is UP
    Direct NFS: channel id [1] path [10.182.110.126] to
    filer [cnfs-1.engba.symantec.com] via local [] is UP
  2. Check the DNFS server information from v$dnfs_servers.
    SQL> select * from v$dnfs_servers;
    
    ID SVRNAME                    DIRNAME      MNTPORT NFSPORT WTMAX    RTMAX
    -- ------------------------------------------------------------------------
    1  cnfs-1.engba.symantec.com  /oranfsdata1 33553   2049    1048576  1048576
    2  cnfs-1.engba.symantec.com  /oranfsdata1 33553   2049    1048576  1048576
    
  3. Check the DNFS channel information from v$dnfs_channels.
    SQL> select CH_ID, SVR_ID, SENDS, RECVS, PINGS from v$dnfs_channels;
    
    CH_ID        SVR_ID     SENDS      RECVS      PINGS
    ------       ------ --------------------------------
    0              1        0          0           0
    0              1        65         130         0
    1              1        44         88          0
    1              1        47         94          0
    
  4. Check the DNFS files information from v$dnfs_files.
    SQL> select * from v$dnfs_files;
    FILENAME                             FILESIZE       PNUM     SVR_ID
    ------------------------------------ ---------- ---------- ---------
    /oranfsdata1/rw_clone/control01.ctl  16072704       15          1
    /oranfsdata1/rw_clone/control02.ctl  16072704       15          1
    /oranfsdata1/rw_clone/control03.ctl  16072704       15          1
    /oranfsdata1/rw_clone/bench.dbf      838877184      10          1
    /oranfsdata1/rw_clone/sysaux.dbf     838877184      10          1
    /oranfsdata1/rw_clone/undo1.dbf      838877184      10          1
    /oranfsdata1/rw_clone/item_1000      1996505088     10          1
    
  5. Check the DNFS statistics information from v$dnfs_stats.
    SQL> select PNUM, NFS_READ, NFS_WRITE, NFS_COMMIT, NFS_MOUNT from v$dnfs_stats;
    
     PNUM   NFS_READ  NFS_WRITE   NFS_COMMIT    NFS_MOUNT
     -----  --------  ------------------------------------
     10        135      201        0             0
     11          0      201        0             0
     12          0      191        0             0
     13          0      198        0             0
     14         86      813        0             0
     15        426      1293       1             1