Sunday, December 5, 2021

Oracle 19c Installation on Red Had Enterprise Linux 8 / Oracle Linux 8 – [INS-08101] Unexpected error while executing the action at state: ‘supportedOSCheck’

When installing Oracle 19c Grid Infrastructure (GI) or 19c Database (runInstaller), got following error,
[INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'
Error details,
Cause - No additional information available.

Action - Cantact Oracle Spport Services or refer to the software manual.

Summary
 - java.lang.NullPointerException
The reason is that Oracle 19c is certified with Red Hat Enterprise Linux 8 / Oracle Linux 8 from 19.7, the base installation 19.3 is not certified.

The error can be fixed by downloading Release Update (RU) 19.7 or higher and starting installation with applyRU option as following,
./gridSetup.sh -applyRU <GI_RU_UNZIP_DIR>    - Install Grid Infrastructure
./runInstaller -applyRU <GI_RU_UNZIP_DIR>    - Insall Database
Note: Use Grid Infrastructure RU insted of Database RU to install database (runInstaller), it will apply both Database Release Update and OCW Release Update, and OCW RU includes the fix of the insallation errors.

If you cannot download required RU, as a workaround, you can export the variable
export CV_ASSUME_DISTID=OEL8
Then restart installation gridSetup.sh (for GI) or runInstaller (for Database).

You may ask why I am using OEL8 as the value of the variable CV_ASSUME_DISTID. No reason, I just randomly pick it. No matter what the value is, even the value is null (empty), the installation will be fixed.

The root cause of the installation error is that the installation utility (gridSetup.sh, runInstaller) is java program. When the OS is not supported by the installation, it will try to read value of variable CV_ASSUME_DISTID. The variable can be OS environment variable, just as I did before with export command, or variable and value pair in file $ORACLE_HOME/cv/admin/cvu_config. By default, the variable line is commented out in the file and OS variable is not set, and java program cannot find the variable and raise exeption java.lang.NullPointerException. It should be considered a bug.

No comments: