Donnerstag, 22. Dezember 2016

Beheben von REP-52003 unter Linux mit Reports 12c

Des öfteren habe ich schon nach einer erfolgreichen Forms und Reports Installation unter Linux folgenden Fehler zu Gesicht bekommen:  REP-52003: Lesen von Reports-Vorlage /u01/app/oracle/product/12.1.0.2/db_1/reports/templates\showenv.htm nicht erfolgreich


Dabei ist Reports natürlich korrekt installiert, aber leider in einem anderen Verzeichnis. Auf der Maschine ist noch eine lokale Datenbank-Instanz vorhanden, die natürlich das ORACLE_HOME vorgibt und anders setzt als das MIDDLEWARE_HOME.

Als Lösung dafür erachten sich meiner Meinung nach 2 Ansätze.
  1. Setzen des richtigen ORACLE_HOME z.B. in einem Shell-Skript zum Starten der Umgebung
    export ORACLE_HOME=/home/oracle/Oracle/Middleware/Oracle_Home
  2. im angegebenen Verzeichnis /u01/app/oracle/product/12.1.0.2/db_1 einen symbolischen Link auf das korrekte Verzeichnis von Reports setzen (als root)

    ln -s /home/oracle/Oracle/Middleware/Oracle_Home/reports /u01/app/oracle/product/12.1.0.2/db_1/reports




Damit ist wieder ein kleineres Problemchen rund um die Oracle Software recht leicht zu beheben, vielleicht bekommen ja auch andere Anwender diesen Fehler. So weit für dieses Jahr alles geschrieben auf diesem Wege und bis nächstes Jahr.

Der Holger

Donnerstag, 8. Dezember 2016

Forms 12c Installation unter Oracle Linux 7.2 uhi uhi

Nachdem ich im letzten Projekt mit einem kompletten Team bei einer Forms 12c Installation unterwegs war, durfte ich nun das erste mal selbst eine Installation eines Systems vornehmen. Im Juni hatten wir mit dem Kunden einen Workshop durchgeführt und besprochen, wie wir denn das Upgrade planen und mit welchem System wir das machen wollen.

Vor knapp 2 Monaten kam dann die Beauftragung und in dieser Woche sollte die Einrichtung des Systems dann passieren. Mein Kollege Borys, der im Januar mit dabei war, ist jetzt woanders eingesetzt und so kam der Ball zu mir und ich durfte das System installieren.

Die Hardwarekonfiguration sieht so aus:
Betriebssystem: Oracle Linux 7.2
RAM: 16 GB
CPU: eine 4 Core CPU
Platte: 120 GB
Software: Weblogic Server 12.2.1.2 und Forms/Reports 12.2.1.2

Im Workshop waren wir noch bei der Empfehlung Forms/Reports 12.2.1.1, aber in der Zwischenzeit ist ja der neue Patch erschienen, den wir dann auch direkt installieren wollten. Zum Zeitlichen: es waren 5 Tage für die Installation eingeplant mit ordentlich Puffer. Ich selbst wollte eigentlich in 2 Tagen durch sein, aber es zeigte sich: das System hatte seine Eigenheiten und wir haben viel recherchiert und dabei auch ordentlich Puffer verbraucht. Und dank der Hilfe von Borys haben wir auch alle kritischen Stellen in den Griff bekommen. Dazu kommen noch viele Überlegungen des Kunden und auch ein noch nicht fertiges System beim Beginn der Installation.

Zumindest über die aufgetretenen Issues will ich mal heute berichten.

Nach dem 2. Tag war der Server auf folgendem Stand: Weblogic Server und Forms/Reports installiert, aber der Server war unendlich langsam. Der Start des Weblogic Servers (Admin Server) hat ca. 25 Minuten gedauert, ebenso wie das Speichern der Credentials des Nodemanagers in einer verschlüsselten Datei. Zum Verzweifeln, aber eine der Lösungen kam von Borys. Es war eine Linux-seitige Verschlüsselung aktiviert, die alles verlangsamt hat. Also eine schlechte Basis-Konfiguration des Linux, also diese deaktiviert:

    Configure SELINUX=disabled in the /etc/selinux/config

Die zweite Problemecke kam in der Installation von Java im JDK, das sogenannte urandom-Problem.

Avoiding JVM Delays Caused by Random Number Generation mit der Abhilfe:

1.     Open the $JAVA_HOME/jre/lib/security/java.security file in a text editor.

1.     Change the line:
securerandom.source=file:/dev/random
to urandom:
securerandom.source=file:/dev/urandom

Und schon waren die Laufzeitprobleme weg, und das System war auf einmal sehr schnell. 

Die nächste Besonderheit lag in der Freigabe der nötigen Ports in der Firewall, denn nach der Installation ließ sich die Administrationskonsole nicht auf dem Host-Rechner anzeigen, denn die Ports waren geblockt und mußten freigegeben werden:

·        4443 -> HTTP Server (ohs1) with HTTPS Protocol
·        5556 -> for NodeManager
·        7001-> for Admin Console and Enterprise Manager
·        7777 -> for HTTP Server (ohs1)
·        7779  optional -> Admin Port for HTTP Server
·        9001 -> for Forms Services
·        9002 -> for Reports Services
·        80 optional -> for HTTP Server (alternate port) if port 7777 shoud be forwarded to port 80
·        14021 -> für den Reports Server


Für den Forms Builder und Compiler mußte ein symbolischer Link unter cd /usr/lib64 gesetzt werden, damit diese beiden Tools funktionieren:
ln -s libXm.so.4 libXm.so.3

Damit der Reports Server auch laufen konnte, mußte noch im Verzeichnis $ORACLE_BASE ein symbolischer Link auf $ORACLE_HOME/reports gesetzt werden, denn sonst hat Reports seine Templates in $ORACLE_BASE gesucht, diese liegen aber in $ORACLE_HOME/reports.

Eine der größten Herausforderungen war die Darstellung von kyrillischen Zeichen in den Reports. In der vorigen Installation wurde das durch verschiedenen Mechanismen gelöst, diesmal sollte das eigentlich out-of-the-box gelingen so die Hoffnung. Aber nichts da, es musste auch wieder so gelöst werden.

1. in der rwserver.conf steht ein Eintrag mit der richtigen NLS_LANG:
<envVariable name="NLS_LANG" value ="GERMAN_GERMANY.al32utf8"/>

2. man muß verschieden Schriften in das Verzeichnis $DOMAIN_HOME/reports/fonts kopieren. Diese haben wir vom Ursprungs-System Windows genommen und auf Linux kopiert.

3. muß die Datei uifont.ali mit einem Schriften-Mapping versehen werden:
helvetica..Italic.Bold.. = "arialbi.ttf"
helvetica...Bold..       = "arialbd.ttf"
helvetica..Italic...     = "ariali.ttf"
helvetica.....           = "arial.ttf"
courier..Italic.Bold.. = "courbi.ttf"
courier...Bold..       = "courbd.ttf"
courier..Italic...     = "couri.ttf"
courier.....           = "cour.ttf"
times..Italic.Bold.. = "timesbi.ttf"
times...Bold..       = "timesbd.ttf"
times..Italic...     = "timesi.ttf"
times.....           = "times.ttf"
 

Danach kann der Report auch ordentlich aufgerufen werden. Es gab also ordentlich Stolpersteine bei der Installation, denn Oracle Linux war in seiner Begebenheit ganz anders als das SuSE Linux, wo wir zuletzt die Systeme installiert haben. Damit ist jetzt erstmal das System einsatzbereit, es fehlt noch die Forms-Konfiguration, aber das probiert der Kunde erstmal alleine.

Hier noch das bekannte Forms-Test-Module:
 


Ja ja eine spannende Woche für mich, aber gut verlaufen.

Gruß vom
Holger