关于Oracle Direct NFS的设置问题。大家好,我有一个关于 Oracle Direct NFS 在Oracle RAC 11g上设置的一个问题。
在设置$ORACLE_HOME/dbs/oranfstab这个文件的时候
server:
path
export:
mount:
这些信息应该从文件/etc/mtab中取对吧。
我的/etc/mtab文件如下
#################################################################
/dev/sda1 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,size=72436M 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
oracleasmfs /dev/oracleasm oracleasmfs rw 0 0
nfsd /proc/fs/nfsd nfsd rw 0 0
slc1001nap.us.oracle.com:/vol/ade_infra/prod/LINUX.X64 
/usr/dev_infra/platform nfs 
ro,tcp,retrans=5,intr,timeo=600,actimeo=1200,rsize=32768,wsize=32768,addr=10.
242.1.50 0 0
slc1001nap.us.oracle.com:/vol/ade_infra/prod/GENERIC /usr/dev_infra/generic 
nfs 
ro,tcp,retrans=5,intr,timeo=600,actimeo=1200,rsize=32768,wsize=32768,addr=10.
242.1.50 0 0
slc1001nap:/vol/local/linux/redhat/packages /usr/local/redhat/packages nfs 
ro,tcp,intr,timeo=600,rsize=32768,wsize=32768,retrans=5,addr=10.242.1.50 0 0
slc1001nap:/vol/local/x86_64/redhat/50_prod/packages 
/usr/local/remote/packages nfs 
ro,tcp,intr,timeo=600,actimeo=1200,rsize=32768,wsize=32768,addr=10.242.1.50 0 
0
#################################################################
那么,我的oranfstab文件是不是应该这样写
server: slc1001nap
path: slc1001nap
export: /vol/local/x86_64/redhat/50_prod/packages
mount: /usr/local/remote/packages
进入数据库进行一下操作
 select * from v$dnfs_servers;        ID
----------
SVRNAME
----------------------------------------------------------------------------
----
DIRNAME
----------------------------------------------------------------------------
----
   MNTPORT    NFSPORT NFSVERSI      WTMAX      RTMAX     CON_ID
---------- ---------- -------- ---------- ---------- ----------
         1
slc1001nap
/vol/local/x86_64/redhat/50_prod/packages
      4046       2049 NFSv3.0       65536      65536          0
SQL> select * from v$dnfs_files;no rows selected
select * from v$dnfs_channels
  2  ;no rows selected
select * from v$dnfs_stats;
147 rows selected.我读的资料上说After the database is up and running, you can create a 
tablespace on the Direct NFS mount point. In this example, we will create a 
10MB datafile for the nfs_data tablespace on the /oradata Direct NFS mount 
point:
SQL> create tablespace nfs_data datafile '/oradata/DBA11g1/nfs_data_01.dbf' 
size 10m;
Tablespace created.那么我把例子中的路径“/oradata/DBA11g1/”换成“/usr/local/remote/packages” 但是结果是 
ERROR at line 1:
ORA-01119: error in creating database file
'/usr/local/remote/packages/nfs_data2.dbf'
ORA-17502: ksfdcre:4 Failed to create file
/usr/local/remote/packages/nfs_data2.dbf
ORA-17500: ODM err:Read-only file system
只读不能创建
我不知道这样是否代表dnfs配置成功了。谢谢。

解决方案 »

  1.   

    Oracle 不支持Direct NFS吧,兄弟。有此为证:
    Network file system (NFS), which is not supported on AIX Based Systems, Linux on POWER, or on IBM zSeries Based Linux
      

  2.   

    谁说不支持的!Oracle11gR2中已经集成了direct nfs driver,楼主的问题很有可能是NFS服务器中的/etc/exports中写的又问题!
      

  3.   

    而且楼主的DNFS配置有问题吧!对于RAC不应该配置在$ORACLE_HOME/dbs/oranfstab中,而是应该在/etc/oranfstab中配置吧!