Skip to main content
Delphix

Oracle VDB Provision Failures Of Type "exception.oracle.targetscripts.environment.validate" (KBA9771)

 

 

KBA

KBA# 9771

 

Issue

When provisioning, refreshing, or enabling an Oracle Virtual Database (VDB), Delphix validates a number of required Environment conditions are met, including the ability to mount a temporary filesystem mounted from the Delphix Appliance, as well as subsequent permissions to navigate the given filesystem.

If the configured Delphix OS user is unable to successfully list the named file in the temporary mount point, and the environment user is not the oracle installation user, the following Environment validation error may be reported.

Example:

Error
Environment validation failed for environment "myTargetHost" host "myTargetHost". Cause: Validation of user environment failed.

Error Code
exception.oracle.vdb.environment.validate

Suggested Action
Correct the user environment error, or provide a privileged user, and try again.

Command Output
 exception.oracle.targetscripts.environment.validate {command: $DLPX_SHELL -x '/work/toolkit/Delphix_COMMON_c950e23f8227_a821e43288fc_36_host/scripts/provision/oracle/common/validate_provision_reqs' '/work/toolkit/Delphix_COMMON_c950e23f8227_a821e43288fc_36_host' '/mnt/provision' 'VDBS_7NJ' '10.1.1.217' '/public/ORACLE_VIRTUAL_SOURCE-55-iL3Ts' 'VDBS_7NJ' '_NOT_PDB_' 'true' '4' '1001' 'VDBS_7NJ_2400266547161004133_VALIDATE'
output:Enter the password for user "delphix_os" (Hit return if no password is needed) :
stty: standard input: Inappropriate ioctl for device
stty: standard input: Inappropriate ioctl for device
Checking if 10.1.1.217:/public/ORACLE_VIRTUAL_SOURCE-55-iL3Ts is mounted to /mnt/provision/VDBS_7NJ
Trying "umount" using dlpx_pfexec -
umount: /mnt/provision/VDBS_7NJ: mountpoint not found
Trying "mkdir" without dlpx_pfexec -
mkdir: cannot create directory ‘/mnt/provision/VDBS_7NJ’: Permission denied
Trying "mkdir" using dlpx_pfexec -

Trying "mount" using dlpx_mount -

ls: cannot access /mnt/provision/VDBS_7NJ/VDBS_7NJ_2400266547161004133_VALIDATE: Permission denied
Trying "umount" using dlpx_pfexec -

#####DELPHIX_START_DATA#####
REQUIRED.BACKDOOR_USED=no
REQUIRED.CURRENT_USER=delphix_os
REQUIRED.USER_CAN_MOUNT=no
REQUIRED.USER_CAN_UNMOUNT=yes
REQUIRED.USER_CAN_CD_MOUNT_BASE=yes
REQUIRED.SID_IN_USE=no
SYSTEM.ULIMITS_VAL=65536
#####DELPHIX_END_DATA#####
#####DELPHIX_START_ERROR#####
ERROR_CODE=5
ERROR : Could not verify file ownership under mount for user  "delphix_os"
ERROR : Details : ls: cannot access /mnt/provision/VDBS_7NJ/VDBS_7NJ_2400266547161004133_VALIDATE: Permission denied
#####DELPHIX_END_ERROR#####
} 

Applicable Delphix Versions

Click here to view the versions of the Delphix engine to which this article applies
Date Release
Mar 13, 2023 9.0.0.0, 9.0.0.1
Feb 13, 2023 8.0.0.0
Jan 12, 2023 7.0.0.0
Releases Prior to 2023
Major Release All Sub Releases
6.0

6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0, 6.0.13.1, 6.0.14.0, 6.0.15.0, 6.0.16.0, 6.0.17.0, 6.0.17.1, 6.0.17.2

Troubleshooting

Reviewing the message block between the DELPHIX_START_ERROR header and DELPHIX_END_ERROR footer will provide the specific Environment Validation failure, which explicitly states the OS user cannot access the *_VALIDATE file in the NFS mount.

#####DELPHIX_START_ERROR#####
ERROR_CODE=5
ERROR : Could not verify file ownership under mount for user  "delphix_os"
ERROR : Details : ls: cannot access /mnt/provision/VDBS_7NJ/VDBS_7NJ_2400266547161004133_VALIDATE: Permission denied
#####DELPHIX_END_ERROR#####

This event also confirms the issue is not related to NFS mount permissions, but rather the permissions within the filesystem.

Examples are provided below, with command output from both an example Delphix OS user (delphix_os)and the oracle install user:

[oracle@myTargetHost}$ ls -l $ORACLE_HOME/bin/oracle
-rwsr-s--x. 1 oracle asmadmin 323613264 Aug 30 12:53 /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle
[oracle@myTargetHost]$ id 
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(asmdba),1003(asmoper),1005(dba),1006(oper),1007(backupdba),1008(dgdba),1009(kmdba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[oracle@myTargetHost]$ groups 
oinstall asmdba asmoper dba oper backupdba dgdba kmdba
[delphix_os@myTargetHost]$ id 
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(asmdba),1003(asmoper),1005(dba),1006(oper),1007(backupdba),1008(dgdba),1009(kmdba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[delphix_os@myTargetHost]$ groups 
oinstall asmdba asmoper dba oper backupdba dgdba kmdba

 

Resolution

To resolve this behavior, an admin must confirm the Delphix OS user matches the initial login group and supplementary groups as the oracle user and if not present, a secondary group membership of the oracle binary found at $ORACLE_HOME/bin/oracle.  As this often requires elevated privileges to add or modify OS user group membership, this issue can not be resolved by the Delphix OS user, but rather some other admin user (root, etc).

[root@myTargetHost]# usermod -a -G asmadmin delphix_os

Following this change, confirm the supplemental group addition with the same OS commands (id, groups, etc):

[delphix_os@myTargetHost]$ id
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(asmdba),1003(asmoper),1004(asmadmin),1005(dba),1006(oper),1007(backupdba),1008(dgdba),1009(kmdba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[delphix_os@myTargetHost]$ groups
oinstall asmdba asmoper asmadmin dba oper backupdba dgdba kmdba

Once the change is applied, a subsequent dataset provision/refresh/enable should be successful.

 

 


Related Articles

The following articles may provide more information or related information to this article: