Cannot run OUI from NFS

From: Yong Huang <>
Date: Thu, 9 Aug 2012 15:10:51 -0700 (PDT)
Message-ID: <>

We use 64-bit RHEL 5.8, kernel 2.6.18-308.11.1.el5. We want to put Oracle installation files on a shared NFS server. But runInstaller always fails with "Error in writing to directory /tmp/OraInstall..." message, even though /tmp has space and the said subdirectory can be written to. We *can* run OUI successfully if we copy the installation files to a local filesystem.

The message is catch-all (according to one Oracle note). So we suspect some mount options are not up to Oracle's standard. We tried different ones, mainly "rw,bg,nointr,hard,timeo=600,wsize=32768,rsize=32768,nfsvers=3,tcp" and that plus "noac" (based on Note:553283.1). The error does not change. An strace is done as follows:

  • BEGIN ----------- $ strace -o /tmp/abcd -f ./runInstaller -ignoreSysPrereqs

Please run the script as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area. Once you have run the script, please type Y to proceed

Answer 'y' if root has run '' so you can proceed with Oracle Clusterware installation. Answer 'n' to abort installation and then ask root to run ''.

Has '' been run by root? [y/n] (n) y

[ Process PID=5544 runs in 32 bit mode. ] Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

                                      Failed <<<<

>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-08-09_04-44-18PM. Please wait ...[ Process PID=5545 runs in 64 bit mode. ] [ Process PID=5545 runs in 32 bit mode. ]

Error in writing to directory /tmp/OraInstall2012-08-09_04-44-18PM. Please ensure that this directory is writable and has atleast 60 MB of disk space. Installation cannot continue. : Invalid argument
----------- END ----------- The strace output near the error has these lines:

25078 dup(2)                            = 5
25078 fcntl64(5, F_GETFL)               = 0x8002 (flags O_RDWR|O_LARGEFILE)
25078 fstat64(5, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 25078 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7f70000 25078 _llseek(5, 0, 0xff8f0ac0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ...
25078 write(5, "\n", 1)                 = 1
25078 write(5, "Error in writing to directory /t"..., 181) = 181 25078 write(5, ": Invalid argument\n", 19) = 19

Apparently, stderr (file descriptor 2), duplicated to descriptor 5, goes through a seek. It's not even seekable as far as I know.

Any input is appreciated. It's not a big issue. Just something nice to have.

Yong Huang

Received on Thu Aug 09 2012 - 17:10:51 CDT

Original text of this message