=====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)