Oracle Linux 7.2 und Grid Infrastructure 11.2.0.4 – Eine Ehe mit Hindernissen

21. Juni 2016 Aus Von Markus Flechtner

Es kann Gründe geben, einen Oracle Cluster mit der neuesten Version des Oracle Linux – 7.2 – und mit der schon ein paar Tage älteren, aber sehr stabilen Grid Infrastructure Version 11.2.0.4 zu betreiben. Es ist zertifiziert, es läuft – aber weil Oracle Linux 7 nach der Grid Infrastructure 11.2.0.4 veröffentlicht wurde, gibt es einige Fallstricke bei der Installation.

Ein guter Start für eine derartige Installation ist die Support-Note 1951613.1 („Installation walk-through – Oracle Grid/RAC 11.2.0.4 on Oracle Linux 7“). Aber es gibt trotzdem noch einige beachtenswerte Punkte.

OS-Vorbereitungen

Oracle Linux 7.2 liefert wie alle jüngeren Versionen des Oracle Linux ein rpm-Paket, das die für die Datenbank notwendigen Pakete installiert (indem sie als Abhängigkeiten festgelegt sind) und das die Kernel-Parameter anpasst. Das ist ein großer Vorteil der Oracle Linux-Distribution gegenüber anderen Distributionen und ein guter Start in eine derartige Installation

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

Spätestens wenn man danach das Betriebssystem mit

yum update -y

aktualisiert, dann läuft man in die erste Falle. Nicht, dass der Upgrade fehlschlägt. Das Problem kommt erst viel später mit dem Oracle-Patch-Tool OPatch. Mit dem Update wird Perl auf eine Version >= 5.10 aktualisiert. Ggf. ist mit OL 7.2 die Perl-Version auch schon gleich oder höher als 5.10, aber das habe ich nicht überprüft – sprich: der folgende Schritt kann in jedem Fall sinnvoll sein. Denn mit diesen Perl-Versionen ist das Switch-Modul in Perl abgekündigt und man läuft mit OPatch in den in der Support-Note 1915430.1 („Opatch Auto fails with: Can’t locate Switch.pm in @INC“) beschriebenen Fehler (Bug 18824047). Abhilfe schafft ein

yum install perl-Switch.noarch

Wenn man vor der Installation der Grid Infrastructure das Cluster Verification Utility laufen lässt, dann werden die fehlenden Pakete pdksh und elfutils-libelf-devel angemeckert. Das fehlende pdksh kann ignoriert werden (Support Note 1962046.1 „Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7“), aber elfutils-libelf-devel sollte nachinstalliert werden:

yum install elfutils-libelf-devel

Damit sind wir betriebssystemseitig fertig.

Installation der Grid Infrastructure 11.2.0.4

Die Installation der Grid Infrastructure läuft ganz normal, bis zur Ausführung von root.sh.
VOR root.sh muss nämlich der Patch 18370031 installiert werden. Hintergrund für diesen Patch ist, dass mit Linux 7 von „SysVinit“ (aka „init.d“ auf systemd umgestellt wurde. Dadurch können die Startup-Prozeduren der Grid Infrastructure, die auf SysVinit ausgelegt sind nicht mehr sauber in den Systemstart eingebunden werden.

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

Tipp 1: Den Patch wie oben gezeigt, als Owner der Grid Infrastructure installieren und nicht wie im Patch-Readme angegeben als root via „opatch auto“. Da unmittelbar nach der Installation (und vor root.sh) alle Dateien noch dem Eigentümer der Grid Infrastructure gehören, ist „opatch auto“ nicht erforderlich.
Tipp 2: In My Oracle Support gibt es zu dem „Systemd-Problem“ auch die Note 1959008.1, die einen Workaround beschreibt. Diese Note kann aber ignoriert werden, wenn man den Patch installiert. Und Patches sind meist – und so auch in diesem Fall – gegenüber Workarounds zu bevorzugen.

Nach dieser Patch-Installation (selbstverständlich auf allen Cluster-Knoten!) läuft root.sh problemlos durch.

Installation des PSUs für die Grid Infrastructure

Wenn man das Perl-Switch-Modul installiert hat, läuft die PSU Installation (in meinem Fall der PSU April 2016) problemlos durch.

Installation der Datenbank-Software

Nach der Grid Infrastructure folgt die Datenbank-Software.
Die Installation der RDBMS-Software schlägt mit der Meldung „Error invoking target ‚agent_nmhs‘ for makefile ..“ fehl. Die Support-Note 1965691.1 („Installation of Oracle 11.2.0.4 Database Software on OL7 fails with “undefined reference to symbol ‘B_DestroyKeyObject’” error“) sagt, dass der Fehler ignoriert werden kann. Patch 19692824 schafft Abhilfe:

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

Bei der Patch-Installation fallen Meldungen wie “warning: overriding recipe for target `nmosudo’ auf. Es sind nur Warnungen, aber man wird ja vorsichtig. Lt Support-Note 1448337.1 („Opatch warning: overriding commands for target xxxx”) können diese Meldungen ignoriert werden.

PSU April 2016 für die Datenbank-Software installieren

Auch bei der PSU-Installation kam es zu Warnungen:

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

Aber auch hier gibt My Oracle Support Entwarnung: „These  are harmless warnings and can be safely ignored.“ (Note 2071922.1 „”warning: -z lazyload ignored” and “warning: -z nolazyload ignored” During Install or Patching in 11.2.0.4 Database in OEL7/RHEL7”).

 

Trotz der Anfangsschwierigkeiten verlief die Installation der 11.2.0.4 Grid Infrastructure und der 11.2.0.4 Datenbanksoftware dann doch problemlos und zügig. Leider gibt es in My Oracle Support unter “Certification Details” keinen Hinweis auf die sehr hilfreiche MOS-Note 1951613.1. Dadurch wäre die Installation sicher problemloser und schneller verlaufen.

Relevante 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

Relevante 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:


Werbung (Amazon-Partner-Link)