Thursday, April 6, 2023

Oracle 19c - Precheck Failure: [FATAL] PRVG-1901 : failed to setup CVU remote execution framework directory "/tmp/InstallActions2023-04-06_03-40-35PM/CVU_19.0.0.0.0_oracle/" on nodes "vcentos79-oracle-ha1"

 Dears,

I wrote a playbook to quickly spin up oracle 19c database. The playbook was working all fine for last 3 or 4 years. Suddenly it broke (after started using a new lab setup); I had some changes in the OS build routine (started using VGs).

Issue:

[oracle@vcentos79-oracle-ha1 ~]$ /u01/app/oracle/product/19.0.0/db_1/runInstaller -silent -executePrereqs
Launching Oracle Database Setup Wizard...
[FATAL] PRVG-1901 : failed to setup CVU remote execution framework directory "/tmp/InstallActions2023-04-06_03-40-35PM/CVU_19.0.0.0.0_oracle/" on nodes "vcentos79-oracle-ha1"
Please select a different work area for the framework
vcentos79-oracle-ha1 : /bin/sh: /tmp/InstallActions2023-04-06_03-40-35PM/CVU_19.0.0.0.0_oracle//exectask.sh: Permission denied
vcentos79-oracle-ha1 : /bin/sh: /tmp/InstallActions2023-04-06_03-40-35PM/CVU_19.0.0.0.0_oracle//exectask.sh: Permission denied
Version of exectask could not be retrieved from node "vcentos79-oracle-ha1"
[oracle@vcentos79-oracle-ha1 ~]$

On further diagnosis using strace and autonmous run of exectask.sh I found below as the error....

(I dont have MOS access at the moment :), so went on to troubleshoot for lab setup)

]0;oracle@vcentos79-oracle-ha1:~[oracle@vcentos79-oracle-ha1 ~]$ /tmp/InstallActions2023-04-06_02-47-44PM/CVU_19.0.0.0.0_oracle/exectask -getver
-bash: /tmp/InstallActions2023-04-06_02-47-44PM/CVU_19.0.0.0.0_oracle/exectask: Permission denied
]0;oracle@vcentos79-oracle-ha1:~[oracle@vcentos79-oracle-ha1 ~]$



Root Cause:

The recent vms I build are having /tmp mounted with noexec option. This caused the issue.

[oracle@vcentos79-oracle-ha1 ~]$ mount | grep -i /tmp
/dev/mapper/ostmpswp--vg-ostmp--lv on /tmp type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,noquota)
[oracle@vcentos79-oracle-ha1 ~]$

Looks like the noexec option must be added to the /tmp partition (https://www.stigviewer.com/stig/red_hat_enterprise_linux_6/2016-12-16/finding/V-57569)

So the workaround is to export TMPDIR to an oracle user home path and run the install commands.

When I exported TMPDIR to a local homedirectory like below...
The command just worked fine!!!

[oracle@vcentos79-oracle-ha1 tmp]$ export TMPDIR=/home/oracle/dba/tmp
[oracle@vcentos79-oracle-ha1 tmp]$ cd
[oracle@vcentos79-oracle-ha1 ~]$ /u01/app/oracle/product/19.0.0/db_1/runInstaller -silent -executePrereqs
Launching Oracle Database Setup Wizard...

Prerequisite checks executed successfully.
[oracle@vcentos79-oracle-ha1 ~]$

Thank you!

No comments:

Post a Comment

Flashback data archive steps

 Objective: Ways to track DML changes in a table Detailed objective: We should be able to track the changes in the table at any point in tim...