Runcluvfy failed with “line 99: /tmp/bootstrap/ouibootstrap.log: Permission denied”

On a 2-node RAC installation process, After the User Equivalence Configuration(of course you can chose either manual method or sshUserSetup.sh method of Oracle) performed pre-checks for cluster services setup check using runcluvfy.sh.

[oracle@CKPT-RAC1 softwares]$ /home/oracle/softwares/runcluvfy.sh stage -pre crsinst -n CKPT-RAC1,CKPT-RAC2 -verbose
/bin/rm: cannot remove directory `/tmp/bootstrap': Operation not permitted
/home/oracle/softwares/runcluvfy.sh: line 99: /tmp/bootstrap/ouibootstrap.log: Permission denied
[oracle@CKPT-RAC1 softwares]$ /home/oracle/softwares/runcluvfy.sh stage -pre crsinst -n CKPT-RAC1,CKPT-RAC2 -fixup -verbose
/bin/rm: cannot remove directory `/tmp/bootstrap': Operation not permitted
/home/oracle/softwares/runcluvfy.sh: line 99: /tmp/bootstrap/ouibootstrap.log: Permission denied
[oracle@CKPT-RAC1 softwares]$

After launching runcluvfy, it is failed with the above error and even used fixup attribute, still no luck. We can see above the log file “ouibootstramp.log” having permission issues, So we will check directory structure and its permissions.

-bash-3.2$ ls -ltr
total 60
drwx------ 2 root   root      4096 Oct 22 22:48 keyring-bZP6tV
drwx------ 2 root   root      4096 Oct 22 22:48 virtual-root.bGoDXQ
-rw-r--r-- 1 root   root     20216 Oct 22 23:00 vboxguest-Module.symvers
drwx------ 2 root   root      4096 Oct 28 12:10 ssh-dtitQc3206
drwx------ 2 root   root      4096 Oct 28 12:10 keyring-QvRMf3
drwx------ 3 root   root      4096 Oct 28 12:10 gconfd-root
drwx------ 2 root   root      4096 Oct 28 12:11 virtual-root.1HuTeB
srwxr-xr-x 1 root   root         0 Oct 28 12:11 mapping-root
drwx------ 2 root   root      4096 Oct 28 12:12 orbit-root
drwxrwxrwx 2 oracle oinstall  4096 Oct 28 12:52 hsperfdata_oracle
drwxr-xr-x 2 root   root      4096 Oct 28 12:54 bootstrap
-bash-3.2$ pwd
/tmp
-bash-3.2$ ls -ltr /tmp/bootstrap
total 0
-bash-3.2$ cd /tmp
-bash-3.2$ ls -ltr bootstrap/
total 0
-bash-3.2$

So the bootstrap directory where it tries to write the log files from “oracle” user, so change directory permissions to Oracle user. Now chang permissions of bootstrap director to Oracle, so that it can write the log into those files.

[root@CKPT-RAC1 tmp]# chown oracle:oinstall bootstrap/
[root@CKPT-RAC1 tmp]# ls -ltr
total 60
drwx------ 2 root   root      4096 Oct 22 22:48 keyring-bZP6tV
drwx------ 2 root   root      4096 Oct 22 22:48 virtual-root.bGoDXQ
-rw-r--r-- 1 root   root     20216 Oct 22 23:00 vboxguest-Module.symvers
drwx------ 2 root   root      4096 Oct 28 12:10 ssh-dtitQc3206
drwx------ 2 root   root      4096 Oct 28 12:10 keyring-QvRMf3
drwx------ 3 root   root      4096 Oct 28 12:10 gconfd-root
drwx------ 2 root   root      4096 Oct 28 12:11 virtual-root.1HuTeB
srwxr-xr-x 1 root   root         0 Oct 28 12:11 mapping-root
drwx------ 2 root   root      4096 Oct 28 12:12 orbit-root
drwxrwxrwx 2 oracle oinstall  4096 Oct 28 12:52 hsperfdata_oracle
drwxr-xr-x 2 oracle oinstall  4096 Oct 28 12:54 bootstrap
[root@CKPT-RAC1 tmp]#

Again its time to launch runcluvfy to verify and will see whether will it overcome permissions issues.

-bash-3.2$ /home/oracle/softwares/runcluvfy.sh stage -pre crsinst -n CKPT-RAC1,CKPT-RAC2 -verbose
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node "CKPT-RAC1"
  Destination Node                      Reachable?
  ------------------------------------  ------------------------
  CKPT-RAC1                             yes
  CKPT-RAC2                             yes
Result: Node reachability check passed from node "CKPT-RAC1"
Checking user equivalence...  
Check: User equivalence for user "oracle"
  Node Name                             Comment
  ------------------------------------  ------------------------
  CKPT-RAC2                             passed
  CKPT-RAC1                             passed
Result: User equivalence check passed for user "oracle"
Checking node connectivity...
Checking hosts config file...
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  CKPT-RAC2     passed
  CKPT-RAC1     passed

Well now, After changing the permissions on the directory now runcluvfy able to run this check. Of course this article is small but worth to have in repository for beginners.. 🙂

— Happy Reading–