Oracle Linux 7.2 and Grid Infrastructure 11.2.0.4 – A marriage with obstacles

2016-06-21 Off By Markus Flechtner

There may be reasons to run an Oracle cluster with the new version of Oracle Linux – version 7.2 – and the „old“ but stable release of the Grid Infrastructure, 11.2.0.4. It‘s certified, it works – but there are some obstacles during the installation..

The support note 1951613.1 („Installation walk-through – Oracle Grid/RAC 11.2.0.4 on Oracle Linux 7“) is a good starting point for such an installation. But there are some more small issues:

OS preparations

Oracle Linux 7.2 contains an rpm package which installed all required packages (because they are registered as dependencies) and which sets the kernel parameter. This package is an advantage of Oracle Linux compared to other Linux distributions. Let‘s start with the installation of this package:

yum install oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpm

A good idea is to update the operating system with the command

yum update -y

However, this may lead to trouble later on. There‘s no immediate error, but when you run „opatch auto“ for an upgrade of the clusterware, you‘ll hit bug 18824047. Plesase see support note 1915430.1 („Opatch Auto fails with: Can’t locate Switch.pm in @INC“) for more information. The reason for this issue is, that the switch module in Perl is deprecated in versions equal or higher than Perl 5.10. And the OS upgrade lifts Perl to version 5.16. The base release of OL 7.2 may include a perl version 5.10 or higher – so you would run into the bug even without upgrading the OS – but I haven‘t checked that. Let‘s install the switch module for perl:

yum install perl-Switch.noarch

When running the cluster verification utility (cluvfy) before installing the Grid Infrastructure, it complains that the rpms „pdksh“ and „lfutils-libelf-devel“. According to MOS Note 1962046.1 („Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7“) pdksh can be ignored, but the other package should be installed:

yum install elfutils-libelf-devel

Assuming all other OS requirements for the installation of the Grid Infrastructure are fulfilled, we can start the installation:

Installation of the Grid Infrastructure 11.2.0.4

The installation of the Grid Infrastructure is a „normal installation“ until you have to run root.sh.

Before running root.sh you have to install patch 18370031. This patch is required, because in Linux 7 the init system was changed from „SysVinit“ to „systemd“. And the patch delivers the necessary changes so that the start procedure of the Grid Infrastructure, which was originally prepared for SysVinit, can be integrated in the new init system.

cd /tmp/oracle-patches/18370031
$ORACLE_HOME/OPatch/opatch apply

Hint 1: Install the patch as the owner of the Grid Infrastructure. The patch README tells you to install the patch using „opatch auto“ as root, but that‘s not necessary at this point of time because there are no clusterware components running and all files belong to the GI owner.
Hint 2: There‘s a support note 195008.1 on this „systemd-issue“ which provides a workaround. However, you can ignore this workaround when you install the patch (unfortunately there‘s no information on the patch in the support note).

After you‘ve install the patch on all cluster nodes you can run „root.sh“.

Installation of the latest PSU for the Grid Infrastructure

When you‘ve installed the Perl-switch-module (see above), there are no issues when installing a PSU (in my case PSU April 2016).

Installation of the database software

After the installation of the Grid Infrastructure software we can install the database software.

The installation of the RDBMS software fails with the message „Error invoking target ‚agent_nmhs‘ for makefile ..“ fehl. According to MOS note 1965691.1 („Installation of Oracle 11.2.0.4 Database Software on OL7 fails with “undefined reference to symbol ‘B_DestroyKeyObject’” error“) we can ignore this message, but we should install patch 19692824:

cd /tmp/oracle-patches/19692824
$ORACLE_HOME/OPatch/opatch apply

There are some warnings during the installation of the patch (“warning: overriding recipe for target `nmosudo’ etc.) Warnings only, but let’s check My Oracle Support: Support note 1448337.1 („Opatch warning: overriding commands for target xxxx”) tells us that we can ignore these warnings.

Installation of the PSU April 2016 for the database software

There were some more warnings during the installation of the PSU:

/usr/bin/ld: warning: -z lazyload ignored.
/usr/bin/ld: warning: -z nolazyload ignored.

And – again – we can ignore these messages says note 2071922.1: „These  are harmless warnings and can be safely ignored.“

So, finally, despite all the initial issues with the clusterware (and I reinstalled the GI several times), the installation went smooth and fast. Unfortunately, there is no information in the “Certification Details” for RAC 11.2.04 and OL 7.2 in My Oracle Support on the extremely helpful MOS note 1951613.1. This would have saved a lot of time for us.

Helpful MOS-Notes:

  • 1951613.1: Installation walk-through – Oracle Grid/RAC 11.2.0.4 on Oracle Linux 7
  • 1915430.1: Opatch Auto fails with: Can’t locate Switch.pm in @INC
  • 1962046.1: Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7
  • 1965691.1: Installation of Oracle 11.2.0.4 Database Software on OL7 fails with “undefined reference to symbol ‘B_DestroyKeyObject’” error
  • 1448337.1: Opatch warning: overriding commands for target xxxx
  • 2071922.1: warning: -z lazyload ignored” and “warning: -z nolazyload ignored” During Install or Patching in 11.2.0.4 Database in OEL7/RHEL7

Helpful Patches

  • GI: 18370031 – RC SCRIPTS (/ETC/RC.D/RC.* , /ETC/INIT.D/* ) ON OL7 FOR CLUSTERWARE
  • DB: 19692824: Patch 19692824: DBCONTROL is not coming up on OEL 7

Links:

  • RHEL7: How to get started with Systemd: https://www.certdepot.net/rhel7-get-started-systemd/