Benutzer-Werkzeuge

Webseiten-Werkzeuge


forms:oracle_reports_11g_r2_windows64

Oracle Reports Server 11g R2 unter Windows 2008 installieren und betreiben

Januar 2015 erstellt Leider wird zurzeit (12.2014) nur Windows 2008 R2 offiziell unterstützt.

Erfreulicherweise dies aber schon mit der Java Version Oracle JDK 1.7.0_40+, das ist im Jahr 2014 und dem Oracle Java 8 bereits sehr fortschrittlich (Im Vergleich zu anderen Oracle Produkten .-)).

Genereller Ablauf:

  • Windows Standard Installation
  • Java 1.7 64bit installieren
  • Oracle WebLogic Software installieren (noch keine Domainen konfigurieren, nur Softwareinstallation!)
  • Oracle Reports Server Installation inkl. der Konfiguration der WebLogic Domain
  • Autostart des WebLogic Server einrichten
  • Report Engine parametrisieren um die ersten Test Berichte aufzurufen

Im nächsten Release hat sich doch nun einiges geändert, siehe dazu ⇒ Oracle Reports Server 12.2.1.3.0 "The last and final_release" mit Oracle WebLogic auf einem Windows 2016 Server installieren und betreiben

Zukunft

Stand 11.2016

Terminal Release : 12.2.1.3.0 , aktuell letzte Version zum herunterladen 12.2.1.2 (11.2016)

siehe http://www.oracle.com/technetwork/middleware/reports/downloads/oracle-reports-sod-3236098.pdf und http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf

Vorbereitung:

Software bereitstellen:

Reports:

WebLogic:

Zertifizierung bzgl. der richtigen Java Version überprüfen: 1.7.0_72 auf Windows 2008 R2 x64

Java:

Windows:

Betriebssystem Windows 2008 R2 vorbereiten

Die Installation muss unter dem User stattfinden, unter dem später auch der Service betrieben werden soll. Falls der Administrative Account dazu NICHT verwendet werden kann, entsprechenden User zuvor mit lokalen Admin Rechten anlegen!

Empfohlen ist die Verwendung der englischen Variante von Windows 2008 R2, oft läßt sich im Suppot Fall mit deutschen Fehlermeldungen nicht viel anfangen!

  • Standard Installation Windows 2008 R2 + letzten MS Update Stand
    • Produktiven Namen vergeben und in die Domäne aufnehmen
    • C: - 50GB
    • D: - ~20GB - Der Reportserver belegt nach der Installation ca. 4GB Plattenplatz
    • Verzeichnis „D:\temp“ anlegen
  • Die IP Adresse und vor allen der Name des Servers sollte sich nach der Reports Installation NIE wieder ändern! Dies vorab verbindlich mit der IT vereinbaren und viel Ärger und Mühen einzusparen!
  • IP V6 komplett deaktivieren! (auch an den „%systemroot%\system32\drivers\etc\hosts“ Eintrag denken!)
    • Ein Ping auf „localhost“ muss die IP V4 Adresse anzeigen!
    • Ein Ping auf den Namen des Hoss muss die IP V4 Adresse anzeigen!
    • Key:
      \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters
      • Right click on Parameters um mit „New“ einen neuen anzulegen
      • Dazu ein DWORD (32-bit) Value auswählen
      • Namen „DisabledComponents“ vergeben
      • Mit doppel Klick auf „DisabledComponents“ Wert auf ffffffff setzen
      • Mit OK button bestätigen
  • Aufruf „Advanced System Settings“ ( Control Panel\System and Security\System\Advanced System Settings ) „Advanced“
    • Performance Options :: Visual Effects :: „Best performance“ aktivieren
    • Performance Options :: Advanced :: „Background services“ aktivieren
    • Data Execution Prevention :: „Turn on DEP for essential Windows programs and services only“
    • Enviroment Variables :: TEMP und TMP auf d:\temp für „System variables“ und „User variables“
  • Bildschirmschoner auf „Blank“ stellen bzw. deaktivieren (Control Panel\Appearance\Display)
  • Internet Explorer Security ausschalten, falls lokal getestet werden soll
    • Control Panel\Programs\Programs and Features\ „Turn Windows features of or off“ ⇒ „Internet Explorer Securtiy Configuration“
    • Alternativ Firefox oder Chrome installieren
  • Java JDK 64bit installieren - jdk-7u72-windows-x64 nach d:\java\jdk-7.72\

WebLogic Software installieren

siehe auch Installation Guide for Oracle WebLogic Server 11g Release 1 (10.3.6)

Im ersten Schritt wird aber NUR die Software installiert, erst mit der Reports/Forms Installation erfolgt das Aufsetzen der WebLogic Domain.

Um die Pfadangaben zu vereinfachen, werden die folgenden Pfade verwandt:

  • Java Home : d:\java\jdk-7.72\
  • Oracle Base : d:\oracle
  • Middle Ware Home : d:\oracle\fmw
    • (Fusion Middle Ware = fmw )
  • Product Installation Home WebLogic Server : d:\oracle\fmw\wlserver_10_3

Ablauf:

  1. Software wls1036_generic.jar auf dem Server kopieren
  2. Installation aufrufen „java -jar wls1036_generic.jar“
    d:
     
    mkdir d:\oracle\fmw
     
    rem in das Verzeichnis mit dem "wls1036_generic.jar" wechseln
     
    cd D:\install\forms
     
    java -jar wls1036_generic.jar
     
    Extracting ......................100%

Screen flow:

  1. Welcome Screen - next WebLogic Install Screen 1
  2. Choose Middleware Home Directory - Verzeichnis „d:\oracle\fmw“ auswählen - next WebLogic Install Screen 2
  3. Register For Securtiy Updates - Hacken wegnehmen und bestätigen - next WebLogic Install Screen 3
  4. Register For Securtiy Updates - Hacken setzen, das man nicht informiert werden will - next WebLogic Install Screen 4
  5. Chosse Install Type - „Typical“ auswählen - next WebLogic Install Screen 5
  6. JDK Selection - Über „Browse“ d:\java\jdk-7.72 auswählen - next WebLogic Install Screen 6
  7. Choose Product Installation Directories - prüfen und next WebLogic Install Screen 7
  8. Choose Shortcut Location - „ALL Users“ - next WebLogic Install Screen 8
  9. Installation Summary - prüfen - next WebLogic Install Screen 9
  10. Installation läuft WebLogic Install Screen 10
  11. Installation der Software abgeschlossen - Run Quickstart abwählen ! und ⇒ Done WebLogic Install Screen 11

Die Konfiguration einer Domain im WebLogic wird später mit der Reports Installation durchgeführt!


Oracle Reports Server Installation

Der Installationspfad darf unter Windows nicht zu lang werden, da sonst die Reports Patch Variable zu lang wird!

Der Reports Server wird gleich bei der Installation in der Option „Deployment“ aufgesetzt und konfiguriert ( Option Install and Configure ) .

Software entpacken und aus Disk1 setup.exe aufrufen:

# Dateien auspacken
cd D:\install\forms
 
unzip ofm_frmrpts_win_11.1.2.2.0_64_disk1_1of2.zip
unzip ofm_frmrpts_win_11.1.2.2.0_64_disk1_2of2.zip
 
 
cd D:\install\forms\forms\Disk1
 
setup.exe

Screen Flow:

  1. Welcome - next  Oracle Reports Installation 11g Screen 1
  2. Install Software Updates - „Skip Software Updates“ anwählen - next  Oracle Reports Installation 11g Screen 2
  3. Select Installation Type - „Install and Configure“ anwählen - next  Oracle Reports Installation 11g Screen 3
  4. Prerequisite Checks - prüfen - next  Oracle Reports Installation 11g Screen 4
  5. Installation Location - Middleware Home von zuvor kontrollieren D:\oracle\fmw
    1. Oracle Instance Location anpassen auf D:\oracle\fmw\rep01
    2. Oracle Instance Name anpassen auf rep01
    3. next  Oracle Reports Installation 11g Screen 5
  6. Configuration Type - „Configure for Deployment“ - next  Oracle Reports Installation 11g Screen 6
  7. Select Domain - „Create Domain“ anwählen
    1. User name : WebLogic
    2. Password : abc12345 <je nach Bedaf>
    3. Domain Name: ReportSPA <je nach Bedarf>
    4. Domain Location : <auf Default belassen>
    5. next  Oracle Reports Installation 11g Screen 7
  8. Specify securtiy Updates - Hacken wegnehmen bei „I wish to …“ - next  Oracle Reports Installation 11g Screen 8
  9. Configure Components - Forms abwählen und Oracle Reports Builder anwählen - next  Oracle Reports Installation 11g Screen 9
  10. Configure Ports - „Auto Port Configure“ - default belassen - next  Oracle Reports Installation 11g Screen 10
  11. Specify Proxy Details - „Do Not User Proxy Settings“ - next  Oracle Reports Installation 11g Screen 11
  12. Application Identity Store - Abwählen -next  Oracle Reports Installation 11g Screen 12
  13. Installation Summary - Response File sichern, alles prüfen und Install!  Oracle Reports Installation 11g Screen 13
  14. Installation Progress - Software wird installiert  Oracle Reports Installation 11g Screen 14
  15. Configuration Progress - Software wird eingerichtet - wenn alles grün - next  Oracle Reports Installation 11g Screen 15
  16. Installation Complete - Save Installation Konfiguration - Finish!  Oracle Reports Installation 11g Screen 16

Umgebung überprüfen

Mit der Installation haben wir nun folgende Oracle Homes auf dem Server angelegt:

 Oracle Reports 11g Home Overview

Die Ports können damit über das „Oracle Home“ „D:\oracle\fmw\Oracle_FRHome1\install\portlist.ini“ ermittelt werden:

OPMN_LOCAL_PORT=6700
OHS_LISTEN_PORT=8888
OHS_SSL_PORT=8890
OHS_PROXY_PORT=8889
WLS_REPORTS_PORT=9001
OPMN_REQUEST_PORT=6702
OPMN_REMOTE_PORT=6701
DOMAIN_PORT=7001
NODE_MANAGER_PORT=-1
EMAGENT_PORT=5155
Die URLS:
Produkt oder KomponenteURL SchemaBeispiel
Administration Server Consolehttp://host:port/consolehttp://shadb01:7001/console
Enterprise Manager Consolehttp://host:port/emhttp://shadb01:7001/em
EMAgenthttp://host:port/emd/mainhttp://shadb01:5155/emd/main
Oracle Formshttp://host:port/forms/frmservlet nicht installiert
Oracle Reportshttp://host:port/reports/rwservlethttp://shadb01:9001/reports/rwservlet
Oralce OHS Webserver http://host:port http://shadb01:8888
Enterprise Manager Console aufrufen und prüfen

Über die EM Console http://shadb01:7001/em kann der Status der gesamten „Farm“ ReportSPA überprüft werden (Anmelden mit WebLogic und dem bei der Installation verwendeten Passwort):

 Overview over our Reports Farm "ReportSPA" with the EM

Oracle WebLogic Administration Server Console aufrufen und prüfen

Über die Oracle WebLogic Administration Server Console http://shadb01:7001/console prüfen ob die Domain erreichbar und konfigurierbar ist:

Oracle WebLogic Administration Server Console

Die Report Engine aus dem Instance Home kontrollieren/abfragen

Mit dem Werkzeug „opmnctl“ aus dem „Oracle Home“ kann die Reports Engine aus dem „Instance Home“ abgefragt werden:

set ORACLE_HOME=D:\oracle\fmw\Oracle_FRHome1
set ORACLE_INSTANCE=D:\oracle\fmw\rep01
 
cd %ORACLE_HOME%\opmn\bin
 
opmnctl status all
 
Processes in Instance: rep01
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
emagent_rep01                    | EMAGENT            |    4252 | Alive
RptSvr_shadb01_rep01             | ReportsServerComp~ |    2448 | Alive
ohs1                             | OHS                |    3708 | Alive
 
opmnctl status -l
 
 
Processes in Instance: rep01
---------------------------------+--------------------+---------+----------+------------+----------+-----------+------
ias-component                    | process-type       |     pid | status   |        uid |  memused |    uptime | ports
---------------------------------+--------------------+---------+----------+------------+----------+-----------+------
emagent_rep01                    | EMAGENT            |    4252 | Alive    |  337710563 |    18028 |   1:46:28 | N/A
RptSvr_shadb01_rep01             | ReportsServerComp~ |    2448 | Alive    |  337710562 |   185616 |   1:46:48 | N/A
ohs1                             | OHS                |    3708 | Alive    |  337710561 |    22048 |   1:48:23 | https:8889,https:8890,http:8888

siehe auch WebForms Server 11g - Status einer Applikation in einen Container erkennen und neu starten

EM Agent des Instance Homes abfragen
 
set ORACLE_HOME=D:\oracle\fmw\Oracle_FRHome1
set ORACLE_INSTANCE=D:\oracle\fmw\rep01
 
cd %ORACLE_INSTANCE%\EMAGENT\emagent_rep01\bin
 
emctl status agent
 
...
Agent Version     : 10.2.0.5.0
OMS Version       : 11.1.1.7.0
Protocol Version  : 11.1.0.0.0
Agent Home        : D:\oracle\fmw\rep01\EMAGENT\emagent_rep01
Agent binaries    : D:\oracle\fmw\Oracle_FRHome1
Agent Process ID  : 3128
Agent URL         : http://shadb01:5155/emd/main
Repository URL    : http://shadb01:7001/em/upload/
...

Umgebung stoppen/starten und AutoStart einrichten

Per Script stoppen

1) Ins Verzeichnis (Instance Home ) D:\oracle\fmw\rep01\bin wechseln und die OPMNCTL Prozesse stoppen:

rem in das Instance Home wechseln
 
cd D:\oracle\fmw\rep01\bin
 
opmnctl.bat stopall

2) Ins Verzeichnis ( Domain Home ) D:\oracle\fmw\user_projects\domains\ReportSPA\bin und die WebLogic Server stoppen (erste den Managend Server und dann den Admin Server):

cd D:\oracle\fmw\user_projects\domains\ReportSPA\bin
 
REM Managed Server
 
stopManagedWebLogic.cmd WLS_REPORTS t3://shadb01:7001 WebLogic abc12345
 
 
REM AdminServer
 
 
stopWebLogic.cmd WebLogic abc12345
 
Stopping WebLogic Server...
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Please enter your username :WebLogic
Please enter your password :
 
Connecting to t3://shadb01:7001 with userid WebLogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'ReportSPA'.
 
Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
 
Shutting down the server AdminServer with force=false while connected to AdminServer ...
Disconnected from WebLogic server: AdminServer
 
 
Exiting WebLogic Scripting Tool.
 
Done
Stopping Derby Server...

Per Script starten

1) Ins Verzeichnis ( Domain Home ) D:\oracle\fmw\user_projects\domains\ReportSPA\bin und den WebLogic Server starten:

cd D:\oracle\fmw\user_projects\domains\ReportSPA\bin
 
rem start Admin Server
start startWebLogic.cmd
 
 
rem start Mananged Server
 
start startManagedWebLogic.cmd WLS_REPORTS t3://shadb01:7001 WebLogic abc12345

2) Ins Verzeichnis (Instance Home ) D:\oracle\fmw\rep01\bin wechseln und die OPMNCTL Prozesse starten:

cd D:\oracle\fmw\rep01\bin
 
opmnctl startall

Auto Start einrichten

Leider lässt sich ein WebLogic Service unter MS Windows nicht so einfach aufsetzen, etwas Scripting und Fehlersuche ist dazu notwendig.

Ablauf:

  • Prüfen ob Oracle Process Manager bereits eingerichtet ist
  • WebLogic Admin Server und Managed Server Dienste einrichten

Im folgenden die Details (zur Zeit in der Reihenfolge bei der Fehlersuche .-))

Oracle Process Manager

Prüfen ob bereits vom Installer die entsprechenden Services eingerichtet wurden:

  • Oracle Process Manager (rep01) sollte auf automatisch stehen

D.h. die OPMN Prozess aus dem Instance Home werden automatisch gestartet.

WebLogic Admin und Managed Server

Der WebLogic Server muss allerdings noch als Dienst eingerichtet werden.

  • Datei „boot.properties“ für die Passwordabfrage anlegen
  • Ein eigenes Script für das Anlegen des Service vorbereiten
  • Die Oracle WebLogic Scripts patchen
    • installSvc.cmd für den Service Namen und den Classpath als TXT Datei
    • commEnv.cmd für den Produktion Mode

Passwort hinterlegen

In einer produktiven Umgebung fragt WebLogic beim Start nach dem Passwort.

Passwort Nachfrage beim Start abschalten:

Mit der Datei boot.properties können User und Password hinterlegt werden.

Pfad in unseren Fall unter D:\oracle\fmw\user_projects\domains\ReportSPA\servers\AdminServer\security und D:\oracle\fmw\user_projects\domains\ReportSPA\servers\WLS_REPORTS\security:

cd D:\oracle\fmw\user_projects\domains\ReportSPA\servers\AdminServer\security

REM Passwörter und User in Klarschrift eingeben, wird beim nächsten Start verschlüsselt
 
notepad  boot.properties
 
username=WebLogic
password=abc12345
 
cd D:\oracle\fmw\user_projects\domains\ReportSPA\servers\WLS_REPORTS\security
 
 
notepad  boot.properties
 
username=WebLogic
password=abc12345

Nach dem Start wird das Passwort verschlüsselt und die Datei neu geschrieben.

Script installSvc.cmd und commEnv.cmd patchen

Für das Anlegen des Service unter Windows hat Oracle dem WebLogic Server Home im „sever\bin“ Verzeichnis das das Script installSvc.cmd zur Verfügung gestellt.

Allerdings muss das Script D:\oracle\fmw\wlserver_10.3\server\bin\installSvc.cmd noch um einige Punkte angepasst werden:

  • Sicherungskopie erstellen
  • Damit auch alle Oracle Relevanten Dienste untereinander stehen, in der letzen Zeile des Scripts „ installSvc.cmd“ den Text „-svcname:„beasvc “ in “-svcname:„Oracle WebLogic “ anpassen
  • Klassenpfad aus dem Domain Home verwenden
    REM Line 58
    REM Aufruf der commEnv.cmd auskommentieren
    REM Umgebungvariablen der Domain einarbeiten
    call D:\oracle\fmw\user_projects\domains\ReportSPA\bin\setDomainEnv.cmd
  • Klassenpfad in eine Datei schreiben und Dateipfad als neue Klassenpfad vewenden, dazu die beiden folgenden Zeilen hinzufügen
    REM Line  104
    REM Classpath in eine Datei schreiben und diesen Pfad in die Classpath  Variable kopieren
    rem *** save the Classpath
    echo %CLASSPATH% > D:\oracle\fmw\user_projects\domains\ReportSPA\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt
    set CLASSPATH=@D:\oracle\fmw\user_projects\domains\ReportSPA\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt

Datei D:\oracle\fmw\wlserver_10.3\common\bin\commEnv.cmd anpassen:

  • D:\oracle\fmw\wlserver_10.3\common\bin\commEnv.cmd
    REM Line 111
    Rem Zeile mit PRODUCTION_MODE= auskommentieren und hardcodiert auf true setzen
    set  PRODUCTION_MODE=true

Script zum Anlegen des Dienstes erstellen

Für die eigene Domain unter dem „Oracle Domain Home“ wie „D:\oracle\fmw\user_projects\domains\ReportSPA“ für das Anlegen des Services folgende cmd Datei anlegen und aufrufen:

installServiceReportSPA.cmd
SETLOCAL
set DOMAIN_NAME=ReportSPA
set USERDOMAIN_HOME=D:\oracle\fmw\user_projects\domains\ReportSPA
set PRODUCTION_MODE=true
set JAVA_VENDOR=Sun
set JAVA_HOME=D:\java\jdk-7.72
set WLS_HOME=D:\oracle\fmw\wlserver_10.3
 
set SERVER_NAME=AdminServer
set MEM_ARGS=-Xms256m -Xmx512m
call "%WLS_HOME%\server\bin\installSvc.cmd"
 
set SERVER_NAME=WLS_REPORTS
set MEM_ARGS=-Xms256m -Xmx1024m
set ADMIN_URL=http://shadb01:7001
call "%WLS_HOME%\server\bin\installSvc.cmd"
 
ENDLOCAL

Aufrufen in einer administrativen DOS Session:

cd D:\oracle\fmw\user_projects\domains\ReportSPA
 
installServiceReportSPA.cmd

Erzeugt einen Dienst mit Namen:

  • Oracle WebLogic ReportSPA_AdminServer
  • Oracle WebLogic ReportSPA_WLS_REPORTS

Nun die Abhängigkeiten der beiden Dienste anlegen:

sc config "Oracle WebLogic ReportSPA_WLS_REPORTS" depend= "Oracle WebLogic ReportSPA_AdminServer"
[SC] ChangeServiceConfig SUCCESS

(auf das Leerzeichen nach dem „=“ achten!)

Um die Dienst wieder zu löschen:

sc delete "Oracle WebLogic ReportSPA_AdminServer"
sc delete "Oracle WebLogic ReportSPA_WLS_REPORTS"

Beispiel dazu im Netz:

Fehler beim Start eines WebLogic Service debuggen

Kann ein eingerichtet Dienst nicht gestartet werden, kann mit „beasvcX64.exe“ (D:\oracle\fmw\wlserver_10.3\server\bin) der Dienst getestet werden.

Fehler WebLogic.management.ManagementException: Booting as admin server, but servername does not match:

beasvcX64.exe -debug "Oracle WebLogic ReportSPA_WLS_REPORTS"
..
There are 1 nested errors:
 
WebLogic.management.ManagementException: Booting as admin server, but servername, WLS_REPORTS, does not match the admin server name, AdminServer
..

Lösung: Parameter ADMIN_URL beim Anlegen des Service hat gefehlt!

Nächster Fehler „JRF Startup Class“, java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup:

beasvcX64.exe -debug "Oracle WebLogic ReportSPA_WLS_REPORTS"
 
 
<Dec 28, 2014 10:58:40 AM PST> <Critical> <WebLogicServer> <BEA-000286> <Failed to invoke startup class 
"JRF Startup Class", java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup
java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup

Problem: Der Classpath ist, falsch!

Lösung:

    • D:\oracle\fmw\wlserver_10.3\server\bin\installSvc.cmd anpassen
      REM Line 58
      REM Aufruf der commEnv.cmd auskommentieren
      REM Umgebungvariablen der Domain einarbeiten
      call D:\oracle\fmw\user_projects\domains\ReportSPA\bin\setDomainEnv.cmd
    • D:\oracle\fmw\wlserver_10.3\common\bin\commEnv.cmd
      REM Line 112
      Rem Zeile mit PRODUCTION_MODE= auskommentieren und hardcodiert auf true setzen
      set  PRODUCTION_MODE=true
  • Nun ist aber der Java Classpath viel zu lang um als Variable übergeben werden zu können!
    • Classpath als Text datei speichern dazu
    • D:\oracle\fmw\wlserver_10.3\server\bin\installSvc.cmd anpassen
      REM Line  104
      REM Classpath in eine Datei schreiben und diesen Pfad in die Classpath  Variable kopieren
      rem *** save the Classpath
      echo %CLASSPATH% > D:\oracle\fmw\user_projects\domains\ReportSPA\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt
      set CLASSPATH=@D:\oracle\fmw\user_projects\domains\ReportSPA\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt
  • Service wieder entfernen und über das Script anlegen

siehe auch die folgenden Quellen:


Testreport erstellen und aufrufen

Nach der Installation kann nun der erste Testbericht erstellt und aufgerufen werden

DB Connect konfigurieren für den Report Builder

Den Datenbank Connect für den Report Builder wird konfigurieren indem die sqlnet.ora und entsprechende tnsnames.ora unter „%ORACLE_INSTANCE%\config“ anlegt wird.

Der Pfad wird in der Datei „D:\oracle\fmw\rep01\config\reports\bin\reports.bat“ über die Umgebungsvariable TNS_ADMIN gesetzt, diese zeigt über „%ORACLE_INSTANCE%\config“ in unseren Fall auf D:\oracle\fmw\rep01\config.

Report Bilder aufrufen

cd D:\oracle\fmw\rep01\config\reports\bin
 
D:\oracle\fmw\rep01\config\reports\bin\rwbuilder.bat

Über das „Stecker Symbol“ an der Datenbank anmelden und über den Report Wizard einen einfachen Bericht wie „select * from scott.emp“ anlegen und speichern unter zum Beispiel D:\app\reports.

Reports Engine für den Aufruf des Berichts konfigurieren

Bei einer Single Server Oracle Reports Installation liegt die Konfigurationsdatei rwserver.conf unter „ORACLE_INSTANCE_Home\config\ReportsServerComponent\server_name“.

In unseren Fall D:\oracle\fmw\rep01\config\ReportsServerComponent\RptSvr_shadb01_rep01\rwserver.conf

Da unser Bericht unter d:\app\reports liegt, in der Datei das Attribute „sourceDir“ anpassen (zuvor Sicherungskopie anlegen!):

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" maxEngine="1" minEngine="1" engLife="50">
      <property name="sourceDir" value="d:\app\reports" />
      <property name="tempDir" value="D:\temp"/>
      <property name="keepConnection" value="yes"/>
</engine>
Reports Engine neu starten
set ORACLE_HOME=D:\oracle\fmw\Oracle_FRHome1
set ORACLE_INSTANCE=D:\oracle\fmw\rep01
 
cd %ORACLE_HOME%\opmn\bin
 
opmnctl status
 
Processes in Instance: rep01
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
...
RptSvr_shadb01_rep01             | ReportsServerComp~ |    2780 | Alive
...

REM Reports Server Namen merken!
 
 
opmnctl restartproc ias-component=RptSvr_shadb01_rep01
opmnctl restartproc: restarting opmn managed processes...

Ebenfalls den WLS_REPORT Server neu über den Admin Console des WebLogic starten!

Reports Servlet Admin Oberfläche erlauben

Um die Report Jobs besser überwachen zu können für den lokalen Server die Reports Job Oberfläche aktivieren:

cd %DOMAIN_HOME%\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration

rem Anweisung webcommandaccess hinzufügen:
 
notepad rwservlet.properties
 
<webcommandaccess>L2</webcommandaccess>
  
 
REM Restart the servlet via WebLogic Admin
Für den Produktiven Betrieb wieder zurücksetzen! Sicherheitsrisiko!

Über http://shadb01:9001/reports/rwservlet/showjobs?server=RptSvr_shadb01_rep01

Konfigurationshinweise:

Test 1 : Bericht über rwclient über den Report Server im "IAS Report Home" aufrufen:

mkdir d:\app\output
 
 
cd D:\oracle\fmw\rep01\config\reports\bin>
 
 
rwclient.bat server=RptSvr_shadb01_rep01 report=emp_rep01.rdf userid=scott/tiger@vds desformat=pdf DESTYPE=file DESNAME=D:\app\output\emp_rep01.pdf

 
REM Bei Fehlern Logfile prüfen: 
 
cd D:\oracle\fmw\rep01\diagnostics\logs\ReportsServerComponent\RptSvr_shadb01_rep01
 
notepad rwserver_diagnostic.log
 
rwserver_diagnostic.log
Fehler REP-50127 : File output cannot be written to.

Bei Fehlern Logfile prüfen:

cd D:\oracle\fmw\rep01\diagnostics\logs\ReportsServerComponent\RptSvr_shadb01_rep01

notepad rwserver_diagnostic.log

rwserver_diagnostic.log

Mein Fehler ⇒ Bei obigen Befehlt den Dateinamen vergessen .-)

Test 2 - Report über rwservlet aufrufen

Die Konfigurationsdateien des Reports Servlets finden sich unter „DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration“ in unseren Fall unter „D:\oracle\fmw\user_projects\domains\ReportSPA\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration“.

URL:http://shadb01:9001/reports/rwservlet?server=RptSvr_shadb01_rep01+report=emp_rep01.rdf+userid=scott/tiger@vds+desformat=pdf+DESTYPE=cache

OK!

Dokumentation:

Test 3 - KeyMap Datei einrichten

Mit der KeyMap Datei kann zum Beispiel der User Login in der URL zum Aufruf eines Reports „verborgen“ werden.

Dazu liegt unter „%DOMAIN_HOME%/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/“ die Datei cgicmd.dat. In unseren Beispiel unter

Um unser Beispiel nun ohne den User und das Password angeben zu können, folgenden Eintrag in der Datei hinzufügen:

emp_user:  userid=scott/tiger@vds desformat=pdf DESTYPE=cache

URL:http://shadb01:9001/reports/rwservlet?emp_user&server=RptSvr_shadb01_rep01&report=emp_rep01.rdf

Problem *REP-52005: The specified key emp_user does not exist in the key map file.

Seht in der rwservlet.properties für die Eigenschaft reloadkeymap ein „no“ oder ist dort nicht im Detail definiert (Default ist „no“), wird die Keymap Datei nur beim Start neu ausgelesen, d.h. der Managed Server WLS_REPORTS muss neu über die Admin Console gestartet werden.

Soll das vermieden werden, in der rwservlet.properties die Eigenschaft reloadkeymap auf „yes“ setzen, das geht allerdings ein wenig zu lasten der Performance, da nun bei jedem Aufruf die Keymap Datei ausgelesen wird. Bei Entwicklungsystem ist das aber wohl die bessere Einstellung.

Datei rwservlet.properties:

<reloadkeymap>yes</reloadkeymap>

Dokumentation:

Test 4 - Aufruf ohne Angabe des Report Server Namens

Wird nun aber der Reportserver Name weggelassen, wird der Bericht nicht mehr gefunden.

URL:http://shadb01:9001/reports/rwservlet?emp_user&report=emp_rep01.rdf

Problem:

REP-0110: File emp_rep01.rdf cannot be opened.

Vermutlich stimmt einfach der verwendete Pfad vom Default Report Server ( ermitteln mit http://10.10.10.160:9001/reports/rwservlet/getserverinfo ) nicht.

Lösungen:

  • Paramter server=RptSvr_shadb01_rep01 in der cgicmd.dat auch hinterlegen
  • Server RptSvr_shadb01_rep01 (Reports Engine aus dem Instance Home) in der als default Server hinterlegen in der Datei rwservlet.properties:
    <server>RptSvr_shadb01_rep01</server>

    ⇒ Der In-Process default Reports Server „rep_wls_reports_shadb01_rep01“ wird damit nicht mehr verwandt

  • In-Process Reports Server so konfigurieren, das auch dieser Server den Report findet
    • Datei D:\oracle\fmw\user_projects\domains\ReportSPA\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration\rwserver.conf anpassen
    • <engine id="rwEng" class="oracle.reports.engine.EngineImpl" maxEngine="1" minEngine="1" engLife="50">
            <property name="sourceDir" value="d:\app\reports" />
            <property name="tempDir" value="D:\temp"/>
            <property name="keepConnection" value="yes"/>
      </engine>

Bestehende Reports neu übersetzen

Sollen Bericht zum Beispiel vom *rdf Format in das *.rep Format über die Kommandozeile neu übersetze werden, hilft dabei das Programm „rwconverter.exe“.

Die dazu notwendigen Parameter können über die GUI eingegeben oder die Kommando Zeile aufgerufen werden.

GUI:

D:\oracle\fmw\rep01\config\reports\bin\rwconverter.bat

 Oracle Reports Converter GUI

Batch Aufruf (alles dann in einer Zeile!):

D:\oracle\fmw\rep01\config\reports\bin\rwconverter.bat 
userid=scott/tiger@vds 
batch=yes 
source=D:\app\old_reports\emp_rep01.rdf 
dest=D:\app\reports\emp_rep03.rep
stype=rdffile 
dtype=repfile 
overwrite=yes 
compile_all=yes
logfile=d:\temp\converter.txt   

Mehr über Reports

Tool rwdiag

Wie finden sich die Reports Server untereinander?

D:\oracle\fmw\rep01\config\reports\bin\rwdiag.bat -findAll
 
Reading the rwnetwork.conf from :D:\oracle\fmw\rep01\config\ReportsToolsComponent\ReportsTools\rwnetwork.conf
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port  = 14021
 
(1) Name = rptsvr_shadb01_rep01          : Type = server : Host = shadb01
(2) Name = rep_wls_reports_shadb01_rep01 : Type = server : Host = shadb01

siehe auch Fusion Middleware Publishing Reports to the Web with Oracle Reports Services E.1 Overview of rwdiag -

Die Architektur der Report Services

Programmierung mit Oracle Reports:

Wartungs und Verwaltungsaufgaben

Port des Report Servlets anpassen

Nach der Installation stellte sich heraus, dass ein anderer Port für das Report rwservlet verwendet werden soll.

Über die Administrative Console der Domain den Listen Port über die Oberflächen anpassen:

  • „Lock & Edit“ aktivieren
  • Managed Server über „enviroment\servers\“ Link „WLS_REPORTS“ auswählen
  • Listen Port anpassen, zum Beispiel von zuvor 9001 auf Port 80
  • Save
  • Mit „Activate Changes“ Änderung übernehmen
  • Manged Server stoppen und neu starten
  • Testen

Doku:

SSL Konfiguration

Report automatisch per Zeitplan erstellen

Mit „rwclient“ und „rwservlet“ können Reports so in die Queue gestellt werden, da ein Schedule damit umgesetzt werden kann. Dabei wird mit dem Keyword „SCHEDULE=string“ das Schedulling gesteuert.

Wert: [FREQ from] TIME [retry {n} after LEN expires {on|after} time|n]

FREQ hourly | daily | weekly | monthly | {every {LEN | DAYREPEAT}} | {last {WEEKDAYS | weekday | weekend} before {n}+}
LEN {n}+ {minute[s] | hour[s] | day[s] | week[s] | month[s]}
DAYREPEAT {first | second | third | fourth | fifth} WEEKDAYS of month
WEEKDAYS mon | tue | wed | thu | fri | sat | sun
TIME now | CLOCK [DATE]
CLOCK h:m | h:mm | hh:m | hh:mm
DATE today | tomorrow | {MONTHS {d | dd} [,year]}
MONTHS jan | feb | mar | apr | may | jun | jul | aug | sep | oct | nov | dec
EXPIRES on {today | tomorrow | {MONTHS {d | dd} [,year]}}|after n

Beispiel (alles später in einer Zeile aufrufen!):

cd D:\oracle\fmw\rep01\config\reports\bin>
 
 
rwclient.bat 
server=RptSvr_shadb01_rep01 
report=emp_rep01.rdf 
userid=scott/tiger@vds 
desformat=pdf 
DESTYPE=file 
DESNAME=D:\app\output\emp_rep01.pdf
SCHEDULE="last weekday before 15 from 12:00 DEC 31, 2014 retry after 1 hour expires after 2"
 

Über http://shadb01/reports/rwservlet/showjobs können dann die erzeugen Jobs angezeigt werden.  Oracle Reports 11g Job Scheduler

Dokumentation: Fusion Middleware Publishing Reports to the Web with Oracle Reports Services 18.10 Scheduling Reports to Run Automatically

Eigene Fonts einbinden

Unter Windows sollten die Fonts auf dem System oder vom Drucker zwar automatisch gefunden werden, das Font Mapping muss aber in der Datei „uifont.ali“ hinterlegt werden.

Ein Suchpfad für die „uifont.ali“ dazu ist das „d:\oracle\fwm\Oracle_FRHome1\tools\common“ Verzeichnis im Oracle Common Home.

Fonts müssen im Reports Path liegen

Fonts in das Betriebssystem installieren

Quellen

Support Portal:

  • Announcing Oracle Forms & Reports 11g Release 2 (11.1.2) (Doc ID 1503701.1)
  • Install and Configure Advisor: Oracle Fusion Middleware (FMW) Forms and Reports 11.1.2 (Doc ID 346.1)
  • Steps to Maintain Oracle Forms & Reports 11g Release 2 (11.1.2) (Doc ID 1373061.1)

Patches:

  • Patch 17882900: ORACLE FORMS AND REPORTS 11G R2 PS2 11.1.2.2
  • Fixed Bugs List - Patch Set 2 (11.1.2.2.0) for Oracle Forms & Reports 11g (Doc ID 1612530.1)

Oracle:


Mehr zu Reports 12c

kein Reports Standalone Developer mehr??

Support:

  • Reports 12c (12.2.1.0) Relevant Notes and Links Index (Doc ID 2073820.1)
  • Oracle Reports 12c: First Step to Complete After a New Forms/Reports 12c Install and Configuration Environment (Doc ID 2072671.1)
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
forms/oracle_reports_11g_r2_windows64.txt · Zuletzt geändert: 2018/01/19 12:37 von Gunther Pippèrr