Oracle数据备份过程中遇BUG_ORA-27054 NFS file system


【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 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容