By Mouhamadou Diaw

In this blog I am going to share an issue I had when installing grid infrastructure 12.2 on Redhat 7.3. I was configuring grid infrastructure 12.2 for a standlone server. Below the release and the version of my operating system

root@dbserver /etc $ cat redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)


root@dbserver ~ $ uname -a
Linux dbserver 3.10.0-514.21.2.el7.x86_64 #1 SMP Sun May 28 17:08:21 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
root@dbserver ~ $

In the oracle certification matrix, we can find that clusterware 12.2 is certified on REL 7 with the minimum kernel 3.10.0-54.0.1.el7.x86_64. So we can proceed with the installation as our kernel is higher. After installing all prerequisites and configuring ASM disks, we download the binaries. We then unzip binaries into the GRID_HOME and lunch the gridsetup.sh
[oracle@dbserver 12.2]$ ./gridSetup.sh
Screenshots are not shown.
Later in the installation oracle asks to run famous following scripts:
orainstRoot.sh
root.sh
The orainstRoot.sh went fine.
While executing the root.sh, we get following errors

root@dbserver /dev/oracleasm $ /u00/oracle/grid/12.2/root.sh
Performing root user operation.
..
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u00/oracle/grid/12.2
..
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
..
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u00/oracle/grid/12.2/crs/install/crsconfig_params
The log of current session can be found at:
/u00/oracle/crsdata/dbserver/crsconfig/roothas_2017-07-04_06-40-49PM.log
2017/07/04 18:40:53 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node dbserver successfully pinned.
2017/07/04 18:41:01 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2017/07/04 18:41:06 CLSRSC-214: Failed to start the resource 'ohasd'
Failed to start the Clusterware. Last 20 lines of the alert log follow:
..
2017/07/04 18:41:06 CLSRSC-318: Failed to start Oracle OHASD service
Died at /u00/oracle/grid/12.2/crs/install/crsinstall.pm line 2775.
The command '/u00/oracle/grid/12.2/perl/bin/perl -I/u00/oracle/grid/12.2/perl/lib -I/u00/oracle/grid/12.2/crs/install /u00/oracle/grid/12.2/crs/install/roothas.pl ' execution failed

root@dbserver /dev/oracleasm $

Trying to start manually the has, we got following errors

root@dbserver ~ $ /u00/oracle/grid/12.2/bin/crsctl start has
CLSU-00100: operating system function: waitpid failed with error data: 0
CLSU-00101: operating system error message: Error 0
CLSU-00103: error location: usrgetgrp12
CLSU-00104: additional error information: child returned 232

Having a look in oracle support, I find these documents
OHASD fails to start with kernel version 3.10.0-514.21.2.el7.x86_64 (Doc ID 2281492.1)
ALERT: Grid Infrastructure Fails to Start OHASD With Linux Kernel Version 3.10.0-514.21.2.EL7.X86_64 or Higher (Doc ID 2282371.1)
Then we change the kernel to the following

root@dbserver /etc/systemd/system $ uname -a
Linux dbserver 3.10.0-514.2.2.el7.x86_64 #1 SMP Wed Nov 16 13:15:13 EST 2016 x86_64 x86_64 x86_64 GNU/Linux

And then restart the install after cleaning the first installation
When asked to execute root.sh we do and the script went fine.

So if you are planning to use Redhat/OEL 7 to install Grid Infrastructure, please have a look in these two oracle documents to be sure that your kernel is OK