【oracle故障】ora-27054 nfs file system where the file is created or resides is not mounted with correct options在数据备
【oracle故障】ora-27054 nfs file system where the file is created or resides is not mounted with correct options
在数据备份过程中,由于目标是使用nfs文件系统,因此在导入的时候遇到了bug,报错如下:
ora-39001: invalid argument value
ora-39000: bad dump file specification
ora-31641: unable to create dump file /exp/bak/expdp_01.dmp
ora-27054: nfs file system where the file is created or resides is not mounted with correct options
additional information: 6
通过查询metalink id :387700.1
文档上说可能的问题有以下几种:
a) the mount table (eg; /etc/mnttab) can be read to check the mount options
b) the nfs mount is mounted with the hard option
c) the mount options include rsize>=32768 and wsize>=32768
d) for rac environments, where nfs disks are supported, the noac mount option is used.
文档上指出通过设置event 10298事件可以避免,不过设置event 10298需要重启数据库生效,目前为生产环境,这方法不能用。
通过调整上述的参数,hard,rsize,wsize都不能解决。
最后检查nfs的配置,,发现客户端的/etc/filesystems中未加入mount nfs文件系统的条目
增加以下条目后,重新mount,解决。
#vi /etc/filesystems
/exp:
dev = /exp
vfs = nfs
nodename = 192.168.1.20
mount = true
options = rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600
account = false
#umount /oraexp
#mount /oraexp
建议大家以后遇到类似问题,先检查/etc/filesystems文件,这个问题都是由于大家都喜欢使用以下方式mount nfs导致。
mount -o rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600 192.168.1.20:/exp /exp
//相关metalink 文档如下:
ora-19504 ora-27054 errors mounting nfs file system [id 370513.1]
rman backup fails with rman-03009 ora-19504 ora-27054 nfs file system where the file is created or resides is not mounted with correct options [id 1472448.1]
ora-27054: nfs file system where the file is created or resides is not mounted with correct options [id 781349.1]
//另外设置10298的过程如下:
1) set the event 10298 in the init file
event=10298 trace name context forever, level 32
if you are using the spfile then the following can be done
sql> alter system set event='10298 trace name context forever, level 32'scope= spfile ;
once you set the above parameter restart the instance check as follows
sql> select name, value from v$parameter where name = 'event';
name value
---------- ------------------------------------------------------------
event 10298 trace name context forever, level 32
1 row selected.
更多oracle相关信息见oracle 专题页面 ?tid=12