Die tägliche Arbeit mit Dokumentationen hat so seine Tücken und wer täglich mit Oracle-Dokumentation sich herumschlagen muss, hat schon viele Gemeinheiten kennengelernt. Kürzlich war es bei mir mal wieder soweit.

Himmel noch eins, wieder einmal hat mich die Oracle Dokumentation voll veräppelt. Was denkt ihr, wenn ihr sowas lest aber auf RedHat/Linux installiert?

waitforcompletion

 

-waitforcompletion For windows. setup.exe will wait for completion instead of spawning the java engine and exiting.

In einer 2. Dokumentation dasselbe nochmal etwas ausführlicher:

 

WaitForCompletion2
-waitforcompletionWindows only – the installer will wait for completion instead of spawning the Java engine and exiting.

For windows only. Aha. Schön für Windows, und wie vermeide ich das „spawning the java engine and exiting“ mit Linux?

Ich suchte bis zu zwei Stunden nach einer Lösung, da ich von genau diesem Problem betroffen war. Ich konnte meine Silent-Installation nicht ohne Abbruch in Ansible durchrennen lassen.

Nach meiner erfolglosen Suche einer Linux-Option tippte ich -waitforcompletion einfach mal auf Linux (RedHat) als Option ein – und siehe da, es funktioniert genau so wie „for Windows“ beschrieben! Übrigens nicht nur mit dem ./runInstaller sondern auch mit dem ./config.sh.

Silent Installation & Configure am Beispiel OHS OFM 11.1.1.9

Leidensgenossen habe ich hier den Schnipsel für eine Silent-Installation am Beispiel OFM Webtier 11.1.1.9.

Silent Installation der Binaries:

./Disk1/runInstaller -waitforcompletion -ignoreSysPrereqs -silent -responseFile /tmp/ohs222InstallResponse.rsp

Silent Configure der Binaries:

$ORACLE_HOME/bin/config.sh -waitforcompletion -silent -response /tmp/ohs222ConfigureResponse.rsp

Warum? Automatisierung!

Diese Option ist extrem wichtig für die Automatisierung (was bei Oracle noch heute ein Fremdwort ist), also die automatische Installation der Oracle Produkte mittels selbst gewählten Deployment-Tool.

Ich bin dabei mit Ansible OHS 11.1.1.9 zu verteilen, die Installation wird ohne -waitforcompletion bei diesem Schritt abbrechen weil ./runInstaller nach dem System PreCheck den Status 0 zurückgibt. Damit beendet Ansible den Task (wie jedes andere schlaue Deployment Tool auch), obwohl der ./runInstaller jetzt einen neuen (Java) Prozess im Hintergrund startet – der von Ansible gekillt wird, weil ja gerade der Status 0 zurückgekommen ist. Määh!

Mit -waitforcompletion läuft die komplette Silent Installation- und Konfiguration in nur einem Prozess durch. Erst ganz am Schluss beendet sich der Task korrekt mit  $?=0.

Lange Rede kurzer Sinn: Nutzt lieber einen echten Apache anstatt OHS (Oracle HTTP Server) und an Stelle eines Weblogics als J2EE-Server einen leichten Tomcat, insofern euer Arbeitsumfeld das zulässt. Ich kenne keinen einzigen Entwickler der Oracles Middleware gegenüber Open Source Lösungen (Apache/Tomcat) bevorzugt. Meine derzeitige Arbeitsumgebung lässt leider fast nur Oracle Middleware-Produkte zu, schade schade.

PS: Ich habe widerwillig ein SR bei Oracle eröffnet mit der Bitte, diese Dokumentation zu korrigieren. Mal schauen, ob das gemacht wird.


Schroeffu

Der Autor ist Schweizer, verheiratet, Vater von bisher einem Kind und seit November 2015 zu seiner liebevollen Frau nach Braunschweig, Deutschland, ausgewandert. Mit im Gepäck: Die Familienplanung, jede Menge Plüsch-Pinguine und die Tastatur zum bloggen.

3 Kommentare

Axel Birndt · 18. April 2016 um 09:59

Hallo David,
kennst Du den Websphere Liberty Application Server? Der ist noch mächtiger als der Tomcat, aber genauso leichtgewichtig.

    Schroeffu · 18. April 2016 um 13:19

    Hallo Axel,

    Der J2EE Server von IBM ist einer der letzten, den ich noch genauer kennengelernt habe 🙂 Mein neues Arbeitsumfeld hat den Websphere von IBM als Strategie, aber selbst habe ich noch nicht damit gearbeitet. Ist der Liberty Application Server mit oder ohne Lizenz? Ich hatte viel mit dem Tomcat von VMWare zu tun (TCServer), die Vorteile gegenüber einem Vanilla Tomcat sind aber nicht erwähnenswert :- ))

Axel Birndt · 19. April 2016 um 14:02

Hallo David,

für Entwickler ist der Liberty frei verfügbar.

Siehe https://developer.ibm.com/wasdev/

Im Unternehmenseinsatz muss der Liberty ApplicationServer jedoch lizensiert werden. Bei dem großen „Autohersteller in NDS“ ist dieser jedoch ohnehin im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.