One of the main issues that existed was the failure of root.sh on RHEL 7. This was due to the fact that startup scripts on RHEL 7 are created as service while root.sh was trying to use the pre-RHEL7 method of inittab entries
# /opt/app/oracle/product/11.2.0/grid/root.sh Creating /etc/oratab file... 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: /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params Creating trace directory LOCAL ADD MODE Creating OCR keys for user 'grid', 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 rhel7 successfully pinned. Adding Clusterware entries to inittab ohasd failed to start Failed to start the Clusterware. Last 20 lines of the alert log follow: 2015-05-27 14:00:52.832: [client(23215)]CRS-2101:The OLR was formatted using version 3. 2015-05-27 14:00:53.700: [client(23242)]CRS-1001:The OCR was formatted using version 3. ohasd failed to start at /opt/app/oracle/product/11.2.0/grid/crs/install/roothas.pl line 377,Workaround was to manually create a service file and later on Oracle also created a MOS on this (1959008.1). This has now been fixed.line 4. /opt/app/oracle/product/11.2.0/grid/perl/bin/perl -I/opt/app/oracle/product/11.2.0/grid/perl/lib -I/opt/app/oracle/product/11.2.0/grid/crs/install /opt/app/oracle/product/11.2.0/grid/crs/install/roothas.pl execution failed
It is assumed that all necessary pre-reqs are completed and users have been created for role separate installation similar to RHEL 6 setup. The software used is the 13390677 patchset (11.2.0.4 software).
1. As grid user unzip the grid infrastructure software (p13390677_112040_Linux-x86-64_3of7.zip). Before the installation begins apply the patch 19404309. This is not a typical patch apply with OPatch, but a copying of files that eliminate the issues associated with installing 11.2.0.4 on RHEL 7.
2. Run cluster verify tool for high availability service option. The failure of pdksh could be ignored (refer 1962046.1). This invalidation is also visible on the OUI and could also be ignored similar to 11.2.0.3 on RHEL 6.
./runcluvfy.sh stage -pre hacfg Performing pre-checks for Oracle Restart configuration Total memory check passed Available memory check passed Swap space check passed Free disk space check passed for "rhel7:/tmp" Check for multiple users with UID value 1002 passed User existence check passed for "grid" Group existence check passed for "oinstall" Group existence check passed for "dba" Membership check for user "grid" in group "oinstall" [as Primary] passed Membership check for user "grid" in group "dba" passed Run level check passed Hard limits check passed for "maximum open file descriptors" Soft limits check passed for "maximum open file descriptors" Hard limits check passed for "maximum user processes" Soft limits check passed for "maximum user processes" System architecture check passed Kernel version check passed Kernel parameter check passed for "semmsl" Kernel parameter check passed for "semmns" Kernel parameter check passed for "semopm" Kernel parameter check passed for "semmni" Kernel parameter check passed for "shmmax" Kernel parameter check passed for "shmmni" Kernel parameter check passed for "shmall" Kernel parameter check passed for "file-max" Kernel parameter check passed for "ip_local_port_range" Kernel parameter check passed for "rmem_default" Kernel parameter check passed for "rmem_max" Kernel parameter check passed for "wmem_default" Kernel parameter check passed for "wmem_max" Kernel parameter check passed for "aio-max-nr" Package existence check passed for "make" Package existence check passed for "binutils" Package existence check passed for "gcc(x86_64)" Package existence check passed for "libaio(x86_64)" Package existence check passed for "glibc(x86_64)" Package existence check passed for "compat-libstdc++-33(x86_64)" Package existence check passed for "elfutils-libelf(x86_64)" Package existence check passed for "elfutils-libelf-devel" Package existence check passed for "glibc-common" Package existence check passed for "glibc-devel(x86_64)" Package existence check passed for "glibc-headers" Package existence check passed for "gcc-c++(x86_64)" Package existence check passed for "libaio-devel(x86_64)" Package existence check passed for "libgcc(x86_64)" Package existence check passed for "libstdc++(x86_64)" Package existence check passed for "libstdc++-devel(x86_64)" Package existence check passed for "sysstat" Package existence check failed for "pdksh" Check failed on nodes: rhel7 Package existence check passed for "expat(x86_64)" Check for multiple users with UID value 0 passed Current group ID check passed Starting check for consistency of primary group of root user Check for consistency of root user's primary group passed Pre-check for Oracle Restart configuration was unsuccessful.3. Run the installer and proceed as before. However do not run the root.sh script when prompted. Patch 18370031 must be applied before root.sh could be run. Refer the patch's readme on how to apply it before GI home is configured
$GI_HOME/OPatch/opatch napply -oh $GI_HOME -local ./18370031Once the patch is applied run the root.sh. With the patch in place the root.sh correctly configures a ohas service on RHEL 7. There's no need to manually create a service file anymore (steps in 1959008.1 not needed).
# /opt/app/oracle/product/11.2.0/grid/root.sh Creating /etc/oratab file... 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: /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params Creating trace directory LOCAL ADD MODE Creating OCR keys for user 'grid', 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 rhel7 successfully pinned. Adding Clusterware entries to oracle-ohasd.service rhel7 2016/01/26 13:49:04 /opt/app/oracle/product/11.2.0/grid/cdata/rhel7/backup_20160126_134904.olr Successfully configured Oracle Grid Infrastructure for a Standalone Server
4. Once root.sh has finished continue with the rest of the installation to completion.
crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE rhel7 ora.FRA.dg ONLINE ONLINE rhel7 ora.LISTENER.lsnr ONLINE ONLINE rhel7 ora.asm ONLINE ONLINE rhel7 Started ora.ons OFFLINE OFFLINE rhel7 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE rhel7 ora.diskmon 1 OFFLINE OFFLINE ora.evmd 1 ONLINE ONLINE rhel75. To install database software extract the relevant zip files (p13390677_112040_Linux-x86-64_1of7.zip and p13390677_112040_Linux-x86-64_2of7.zip). Similar to GI installer, before installation could begin apply the patch 19404309. Once the patch is applied run the installer.
6. During the installation the following error could be observed, which was mentioned in an earlier post. Ignore the error and continue the installation to completion. Once database software is installed apply the patch 19692824 before database is created.
7. As the last step create the database. There are no errors or issues related to RHEL 7 during the database creation using DBCA.
8. If a GI patch is applied using opatch auto option it would fail with the following
$ORACLE_HOME/OPatch/opatch auto ./21523375 -ocmrf ../ocm.rsp Can't locate Switch.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /opt/app/oracle/product/11.2.0/grid/OPatch/crs/auto_patch.pl line 2730.Reason is RHEL 7 has a newer version of perl
perl -v This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi (with 25 registered patches, see perl -V for more detail)where switch module is deprecated. Patch could be applied manually or download and install the switch.pm module from cpan and try opatch auto again. Refer 1915430.1 for more.
cd Switch-2.17 perl Makefile.PL make test make install Manifying blib/man3/Switch.3pm Installing /usr/local/share/perl5/Switch.pm Installing /usr/local/share/man/man3/Switch.3pm Appending installation info to /usr/lib64/perl5/perllocal.podAfterwards the opatch auto continues without any issues.
Useful metalink notes
Opatch Auto fails with: Can't locate Switch.pm in @INC [ID 1915430.1]
Installation walkthrough - Oracle Grid/RAC 11.2.0.4 on Oracle Linux 7 [ID 1951613.1]
Install of Clusterware fails while running root.sh on OL7 - ohasd fails to start [ID 1959008.1]
Requirements for Installing Oracle 11.2.0.4 RDBMS on RHEL7 or OL7 64-bit (x86-64) [ID 1962100.1]
Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7 [ID 1962046.1]
Installation of Oracle 11.2.0.4 on OL7 fails with “undefined reference to symbol ‘B_DestroyKeyObject’” error [ID 1965691.1]
Related Posts
ASM for Standalone Server in 11gR2 with Role Separation (on RHEL 5)
Installing 11gR2 Standalone Server with ASM and Role Separation on RHEL 6
Installing 11gR2 (11.2.0.3) GI with Role Separation on RHEL 6
Installing 11gR2 (11.2.0.3) GI with Role Separation on OEL 6
Installing 11.2.0.3 on RHEL 6
ins_emagent.mk Related Error When Installing 11.2.0.4 Database on RHEL 7
Installing Oracle Database 12.1.0.2 on RHEL 7
Update on 2017-07-10
As per 2282371.1 and 2281492.1 certain RHEL 7 kernel versions (3.10.0-514.21.2.el7.x86_64) cause issues with regard to starting of OHASD in 11.2.0.4. Avoid these kernel versions when installing or upgrading OS when 11.2.0.4 is installed.
Useful metalink notes
OHASD Fails to Start With Kernel Version 3.10.0-514.21.2.el7.x86_64 [ID 2281492.1]
Grid Infrastructure Fails to Start OHASD With RedHat Linux or Oracle Linux with RedHat Compatible Kernel (RHCK) Version 3.10.0-514.21.2.EL7.X86_64 or Higher [ID 2282371.1]