=====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 => [[forms:oracle_reports_12c_r2_windows64|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 => [[:os_windows#windows_virtual_hard_drive_images_for_hyper-v_unter_vmware_workstation_10_starten|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 [[http://docs.oracle.com/cd/E23943_01/doc.1111/e14142.pdf|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:
- Welcome Screen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v01.png?300 |WebLogic Install Screen 1}}
- Choose Middleware Home Directory - Verzeichnis "d:\oracle\fmw" auswählen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v02.png?300 |WebLogic Install Screen 2}}
- Register For Securtiy Updates - Hacken wegnehmen und bestätigen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v03.png?300 |WebLogic Install Screen 3}}
- Register For Securtiy Updates - Hacken setzen, das man nicht informiert werden will - next {{ :forms:WebLogic_10_3_6_0_install_screen_v04.png?300 |WebLogic Install Screen 4}}
- Chosse Install Type - "Typical" auswählen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v05.png?300 |WebLogic Install Screen 5}}
- JDK Selection - Über "Browse" d:\java\jdk-7.72 auswählen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v06.png?300 |WebLogic Install Screen 6}}
- Choose Product Installation Directories - prüfen und next {{ :forms:WebLogic_10_3_6_0_install_screen_v07.png?300 |WebLogic Install Screen 7}}
- Choose Shortcut Location - "ALL Users" - next {{ :forms:WebLogic_10_3_6_0_install_screen_v08.png?300 |WebLogic Install Screen 8}}
- Installation Summary - prüfen - next {{ :forms:WebLogic_10_3_6_0_install_screen_v09.png?300 |WebLogic Install Screen 9}}
- Installation läuft {{ :forms:WebLogic_10_3_6_0_install_screen_v10.png?300 |WebLogic Install Screen 10}}
- Installation der Software abgeschlossen - Run Quickstart abwählen ! und => Done {{ :forms:WebLogic_10_3_6_0_install_screen_v11.png?300 |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:
- Welcome - next {{ :forms:oracle_reports_11g_install_screen_v01.png?300 | Oracle Reports Installation 11g Screen 1}}
- Install Software Updates - "Skip Software Updates" anwählen - next {{ :forms:oracle_reports_11g_install_screen_v02.png?300 | Oracle Reports Installation 11g Screen 2}}
- Select Installation Type - "Install and Configure" anwählen - next {{ :forms:oracle_reports_11g_install_screen_v03.png?300 | Oracle Reports Installation 11g Screen 3}}
- Prerequisite Checks - prüfen - next {{ :forms:oracle_reports_11g_install_screen_v04.png?300 | Oracle Reports Installation 11g Screen 4}}
- 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
- next {{ :forms:oracle_reports_11g_install_screen_v05.png?300 | Oracle Reports Installation 11g Screen 5}}
- Configuration Type - "Configure for Deployment" - next {{ :forms:oracle_reports_11g_install_screen_v06.png?300 | Oracle Reports Installation 11g Screen 6}}
- Select Domain - "Create Domain" anwählen
- User name : WebLogic
- Password : abc12345
- Domain Name: ReportSPA
- Domain Location :
- next {{ :forms:oracle_reports_11g_install_screen_v11.png?300 | Oracle Reports Installation 11g Screen 7}}
- Specify securtiy Updates - Hacken wegnehmen bei "I wish to ..." - next {{ :forms:oracle_reports_11g_install_screen_v12.png?300 | Oracle Reports Installation 11g Screen 8}}
- Configure Components - Forms abwählen und Oracle Reports Builder anwählen - next {{ :forms:oracle_reports_11g_install_screen_v13.png?300 | Oracle Reports Installation 11g Screen 9}}
- Configure Ports - "Auto Port Configure" - default belassen - next {{ :forms:oracle_reports_11g_install_screen_v14.png?300 | Oracle Reports Installation 11g Screen 10}}
- Specify Proxy Details - "Do Not User Proxy Settings" - next {{ :forms:oracle_reports_11g_install_screen_v15.png?300 | Oracle Reports Installation 11g Screen 11}}
- Application Identity Store - Abwählen -next {{ :forms:oracle_reports_11g_install_screen_v16.png?300 | Oracle Reports Installation 11g Screen 12}}
- Installation Summary - Response File sichern, alles prüfen und Install! {{ :forms:oracle_reports_11g_install_screen_v17.png?300 | Oracle Reports Installation 11g Screen 13}}
- Installation Progress - Software wird installiert {{ :forms:oracle_reports_11g_install_screen_v18_02.png?300 | Oracle Reports Installation 11g Screen 14}}
- Configuration Progress - Software wird eingerichtet - wenn alles grün - next {{ :forms:oracle_reports_11g_install_screen_v19_02.png?300 | Oracle Reports Installation 11g Screen 15}}
- Installation Complete - Save Installation Konfiguration - Finish! {{ :forms:oracle_reports_11g_install_screen_v20.png?300 | Oracle Reports Installation 11g Screen 16}}
----
=== Umgebung überprüfen ===
Mit der Installation haben wir nun folgende Oracle Homes auf dem Server angelegt:
{{ :forms:oracle_reports_11g_homes_overview_v01.png | 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 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):
{{ :forms:oracle_reports_11g_em_overview_v01.png | 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:
{{ :forms:oracle_reports_11g_WebLogic_admin_console_overview_v01.png?500 |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 [[ias:opmnctl_status_application|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:
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:
* http://docs.oracle.com/cd/E13222_01/wls/docs81/adminguide/winservice.html#1188201
* http://dirknachbar.blogspot.de/2010/09/creating-windows-service-for-oracle.html
* http://technology.amis.nl/2013/04/11/WebLogic-admin-and-managed-servers-as-a-windows-service/
== 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"
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:
* http://onlineappsdba.com/index.php/2011/03/01/bea-000286-failed-to-invoke-startup-class-jrf-startup-class-oraclejrfwlsjrfstartup/
* http://soafarm.wordpress.com/2011/11/16/oracle-soa-11g-error-failed-to-invoke-startup-class-jrf-startup-class/
* http://dirknachbar.blogspot.de/2011/05/implementing-oracle-WebLogic.html
* http://docs.oracle.com/cd/E17904_01/web.1111/e13708/winservice.htm#START154
----
==== 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!):
== 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
L2
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:
* http://oracle-base.com/articles/11g/oracle-forms-and-reports-11gr2-configuration-notes.php
* [[http://docs.oracle.com/cd/E12839_01/bi.1111/b32121/pbr_conf003.htm#CHDHEBDG|7.3 Oracle Reports Servlet Configuration File]]
===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//applications/reports_/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//applications/reports_/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:
yes
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:
RptSvr_shadb01_rep01
=> 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
*
==== 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
{{ :forms:oracle_reports_11g_converter_gui_v01.png?400 | 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 [[ http://docs.oracle.com/cd/E12839_01/bi.1111/b32121/pbr_bdutil001.htm#RSPUB24020 | Fusion Middleware Publishing Reports to the Web with Oracle Reports Services E.1 Overview of rwdiag - ]]
===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:
* http://oracle-base.com/articles/11g/oracle-forms-and-reports-11gr2-configuration-notes.php#ssl-configuration
* 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.
{{ :forms:oracle_reports_11g_schedule_jobs_v01.png?400 | Oracle Reports 11g Job Scheduler}}
Dokumentation:
[[http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/pbr_run010.htm#RSPUB23553|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)
* http://docs.oracle.com/html/E25460_01/r2_fr_requirements.htm
* Oracle® Forms and Reports Download, Installation, and Configuration ReadMe 11g Release 2 (11.1.2.2)
* http://docs.oracle.com/cd/E23104_01/download_readme_cr2/download_readme_cr2.htm#BABGIBIJ
* Fusion Middleware Installation Guide for Oracle Forms and Reports
* https://docs.oracle.com/cd/E48391_01/doc.11120/e23960/toc.htm
* Fusion Middleware Publishing Reports to the Web with Oracle Reports Services
* http://docs.oracle.com/cd/E23943_01/bi.1111/b32121/toc.htm
----
=== Mehr zu Reports 12c ===
kein Reports Standalone Developer mehr??
* https://abugharbieh.files.wordpress.com/2015/11/forms12c.pdf
* https://oracle-base.com/articles/12c/standalone-forms-builder-12c-installation-on-windows-1221
* https://oracle-base.com/articles/12c/oracle-forms-and-reports-12c-create-new-domain
* http://docs.oracle.com/cd/E23104_01/download_readme.htm
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)