Views expressed here are solely that of my own. Please make sure that you test the code/queries that appear on my blog before applying them to the production environment.

Friday, June 17, 2011

ORA-27054: NFS file system where the file is created or resides is not mounted with correct options

Today, we faced an error in some of our daily Oracle database export jobs as below.

;;;
Export: Release 10.2.0.3.0 - 64bit Production on Friday, 17 June, 2011 0:30:00

Copyright (c) 2003, 2005, Oracle.  All rights reserved.
;;;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39000: bad dump file specification
ORA-31641: unable to create dump file "/export/SRVDB01_DEV_DEV_201106170030_01.dmp"
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
IBM AIX RISC System/6000 Error: 13: Permission denied
Additional information: 4

Working together with our Unix team, we tried to solve the problem.
First we checked the "/export" NFS file system mount options on AIX server.

[oracle@srvdb01]:/oracle > mount -p
node       mounted        mounted over    vfs       date        options
-------- ---------------  ---------------  ------ ------------ ---------------
srvnfs01 /export          /export          nfs3   Jun 17 14:02 bg,hard,intr,rsize=32768,wsize=32768,proto=udp,sec=sys,rw

We saw that the mount options are correct on the database server where the "/export" filesystem is mounted.

Then, one of our Unix team members realized that file access permissions on "/etc/filesystems" file does not have a read permission for the Unix user "oracle" and he gave this permission so that "oracle" Unix user can read this file.

--Before
[oracle@srvdb01]:/oracle > ls -ld /etc/filesystems
-rw-rw----    1 root     system         3107 Jun 17 14:38 /etc/filesystems

--After
[oracle@srvdb01]:/oracle > ls -ld /etc/filesystems
-rw-r--r--    1 root     system         3107 Jun 17 14:38 /etc/filesystems

And the Oracle export can not write to "/export" NFS filesystem problem is solved.

What I think Oracle Export Datapump Utility does is, it reads "/etc/filesystems" file when exporting to an NFS file system. This file contains an entry about the mounted "/export" NFS filesystem in it.

[oracle@srvdb01]:/oracle > more /etc/filesystems
...
/export:
dev             = "/export"
vfs             = nfs
nodename        = srvnfs01
mount           = true
options         = bg,hard,intr,rsize=32768,wsize=32768,proto=udp,sec=sys,rw
account         = false
...

3 comments:

Chanda said...

This was the first solution to my problem that actually worked. I couldn't bounce the production instance to add the event parameter, and no matter what combination of mount parameters I tried I was still getting the ORA-27054 errors. As soon as I added the filesystem to /etc/filesystems my backup took off! Thank you very much!

Ravisun said...

Good solution.Any other way to fix this as non root usersshould not have read permission to /etc/filesystems

Ural Ural said...

You're all welcome.
Thank you for your comments.
Cheers,
Ural