Inhaltsverzeichnis
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:
- Oracle Forms and Reports 11g Release 2 (11.1.2.2) für Windows x86-64 von http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html
- ofm_frmrpts_win_11.1.2.2.0_64_disk1_1of2.zip
- ofm_frmrpts_win_11.1.2.2.0_64_disk1_2of2.zip
WebLogic:
- Oracle WebLogic Server 11g (10.3.6) Generic and Coherence von http://www.oracle.com/technetwork/middleware/WebLogic/downloads/wls-main-097127.html
- wls1036_generic.jar
Zertifizierung bzgl. der richtigen Java Version überprüfen: 1.7.0_72 auf Windows 2008 R2 x64
Java:
- Java JDK 64bit von http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
- jdk-7u76-windows-x64.exe (neueste Version - im Dokument wird noch die 72 verwendet)
Windows:
- Installation eines Standard Windows 2008 Servers
- Für Testzwecke siehe auch ⇒ Virtual Hard Drive Image unter VMware Workstation 10 starten
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:
- Software wls1036_generic.jar auf dem Server kopieren
- 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:
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:
- Installation Location - Middleware Home von zuvor kontrollieren D:\oracle\fmw
- Oracle Instance Location anpassen auf D:\oracle\fmw\rep01
- Oracle Instance Name anpassen auf rep01
- Select Domain - „Create Domain“ anwählen
- User name : WebLogic
- Password : abc12345 <je nach Bedaf>
- Domain Name: ReportSPA <je nach Bedarf>
- Domain Location : <auf Default belassen>
Umgebung überprüfen
Mit der Installation haben wir nun folgende Oracle Homes auf dem Server angelegt:
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 Komponente | URL Schema | Beispiel |
---|---|---|
Administration Server Console | http://host:port/console | http://shadb01:7001/console |
Enterprise Manager Console | http://host:port/em | http://shadb01:7001/em |
EMAgent | http://host:port/emd/main | http://shadb01:5155/emd/main |
Oracle Forms | http://host:port/forms/frmservlet | nicht installiert |
Oracle Reports | http://host:port/reports/rwservlet | http://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):
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:
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:
- Scripts anpassen nach http://dirknachbar.blogspot.de/2011/05/implementing-oracle-WebLogic.html
- 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
Ü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:
- Fusion Middleware Publishing Reports to the Web with Oracle Reports Services http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/toc.htm
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:
- Kaptiel 18.13 Using a Key Map File ⇒ http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/pbr_run013.htm#RSPUB23557
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
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
Die Architektur der Report Services
- ⇒ Fusion Middleware Publishing Reports to the Web with Oracle Reports Services ⇒ http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/pbr_arch003.htm#RSPUB23212
- ⇒ Eine komplette Übersicht ⇒ http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/img/reports_arch.gif
Programmierung mit Oracle Reports:
- Oracle Reports Tutorial 11g Release 1 - http://docs.oracle.com/cd/E12839_01/bi.1111/b32123.pdf
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:
- ⇒ Fusion Middleware Administrator's Guide - 5 Managing Ports - http://docs.oracle.com/cd/E12839_01/core.1111/e10105/ports.htm#ASADM257
SSL Konfiguration
Dokumentation:
Web:
- Fusion Middleware Administrator's Guide- SSL Configuration in Oracle Fusion Middleware http://docs.oracle.com/cd/E12839_01/core.1111/e10105/sslconfig.htm#ASADM1800
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.
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:
- Oracle® Fusion Middleware System Requirements and Specifications for Oracle Forms and Reports 11g Release 2 (11.1.2)
- Oracle® Forms and Reports Download, Installation, and Configuration ReadMe 11g Release 2 (11.1.2.2)
- Fusion Middleware Installation Guide for Oracle Forms and Reports
- Fusion Middleware Publishing Reports to the Web with Oracle Reports Services
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)