=====Oracle Reports Server 12.2.1.3.0 "The last and final_release" mit Oracle WebLogic auf einem Windows 2016 Server installieren und betreiben===== **November 2017** Aufgabe: Die letzte und finale Version des Oracle Report Server unter Windows 2016 in Betrieb nehmen und betreiben. Für die Vorgänger Version siehe hier => [[forms:oracle_reports_11g_r2_windows64|Oracle Reports Server 11g R2 unter Windows 2008 installieren und betreiben]]. Zertifizierung überprüfen: - Oracle Reports 12.2.1.3.0 is certified on Microsoft Windows x64 (64-bit) 2016 Service Pack 0+ - WLS - Datenbank 12.2.0.1 - Oracle Reports 12.2.1.3.0 has certifications with Oracle WebLogic Server 12.2.1.3.0 - Oracle Java JDK 1.8.0 152 - Visual Studio 2012 (VC++ 11.0) Runtime Siehe auch https://docs.oracle.com/html/E82037_01/toc.htm#GUID-CB8C7C04-C8BD-4F9F-8ACF-F735FB6BD871 Genereller Ablauf: * Windows 2016 Standard Installation * Windows Umgebung konfigurieren * Java 1.8 152 64bit installieren * Visual Studio 2012 (VC++ 11.0) Runtime installieren, prüfen ob Visual Studio 2010 Runtime vorhanden ist, falls nein ebenfalls installieren! * Oracle WebLogic Software (Oracle Fusion Middleware 12c Infrastructure) installieren (noch keine Domänen konfigurieren, nur Softwareinstallation!) * Datenbank für das Repository bereitstellen * RCU Repositorie anlegen (Comman Infrastructure Service Repository) * Oracle Reports Server Software (Oracle Fusion Middleware 12c (12.2.1.3.0) Forms and Reports for Microsoft Windows) Installation * Konfiguration der WebLogic Domain * Erster Start der WebLogic Domain * Anlegen der eigentlichen Reports App in der WebLogic Domain * Autostart des WebLogic Server einrichten * Report Engine parametrisieren um die ersten Test Berichte aufzurufen Zeitlicher Ablauf: Im Prinzip kann einen Installation in ca. 8h durchgeführt werden, eine der aufwendigen Parts der Installation ist das Einrichten des AutoStarts unter Windows als Dienst, hier treten immer noch recht viele Fehler auf. ---- ====Vorbereitung==== Download von Oracle edelivery => http://edelivery.oracle.com/ * Oracle Reports 12.2.1.3.0 for Microsoft Windows x64 (64-bit) * V886455-01_1of2.zip - Oracle Fusion Middleware 12c (12.2.1.3.0) Forms and Reports for Microsoft Windows x64(64-bit), 1.6 GB * V886455-01_2of2.zip - Oracle Fusion Middleware 12c (12.2.1.3.0) Forms and Reports for Microsoft Windows x64(64-bit), 248.4 MB * Oracle Fusion Middleware 12c Infrastructure 12.2.1.3.0 for Microsoft Windows x64 (64-bit) * V886426-01.zip - Oracle Fusion Middleware 12c (12.2.1.3.0) Infrastructure, 1.5 GB Download Java => http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html * jdk-8u152-windows-x64.exe Download Visual Studio 2012 (VC++ 11.0) Runtime 32/64 bit => https://www.microsoft.com/en-us/download/details.aspx?id=30679 ---- ==== Das Betriebssystem Windows 2016 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 2016, oft lässt sich im Support Fall mit deutschen Fehlermeldungen nicht viel anfangen! * Standard Installation Windows 2016 R2 + letzten MS Update Stand * Produktiven Namen vergeben und in die Domäne aufnehmen * 8 GB Ram Minimum vorsehen * C: - 50GB besser 75GB * D: - ~40GB - 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! Windows System optimieren * 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 * Notepad++ https://notepad-plus-plus.org/download/ installieren * Java JDK 64bit installieren - jdk-8u152-windows-x64 nach d:\java\jdk-8.152\ * JAVA_HOME Umgebungsvariable setzen (JAVA_HOME auf D:\Java\jdk1.8.0_152 als New System Variable) * JAVA Home im PATH mit aufnehmen (D:\Java\jdk1.8.0_152\bin bei PATH unter System Variables hinzufügen) * Runtime Visual Studio 2012 (VC++ 11.0) 32/64bit installieren => https://www.microsoft.com/en-us/download/details.aspx?id=30679 * vcredist_x64.exe und vcredist_x86.exe herunterladen und installieren * Runtime Visual Studio 2010 prüfen ob installiert, falls nicht nachinstallieren, sonst Fehlermeldung von Reportsbuilder das "MSVCP100.dll" nicht gefunden * Enabling User Account Control (UAC) * secpol.msc aus der PowerShell (adminstrative) starten * Security Settings > Local Policies > Security Options. * "User Account Control:Run all Administrator in Admin Approval Mode" auf "enabled" stellen * Server neu starten Es ist zu empfehlen einen PostScript Drucker wie eine HP 5000 als "Dummy" auf dem Server einzurichten um Problem beim Erstellen von Dokumenten mit Oracle Reports aus dem Weg zu gehen, allerdings kann diese Empfehlung aus den alten Release inzwischen veraltet sein, schaden kann es jedenfalls nicht .-). ---- ====Datenbank für das Repository bereitstellen ==== Für die Metadaten der Fusion Middleware Umgebung wird eine Datenbank benötigt, am besten eine einfache 12c Umgebung. Falls der Server genug Reserven besitzt nun eine normale 12c Datenbank ohne große Besonderheiten installieren, wie zum Beispiel hier auch beschrieben => [[dba:upgrade_11g_windows_2012_to_12c#oracle_12c_datenbank_software_installieren|Eine Oracle Datenbank 12c Datenbank Umgebung unter Windows 2012 R2 installieren]] Kann natürlich auch alternativ ein Cluster sein .-) => [[dba:install_rac_linux_12c|Anmerkungen zu Installation des Oracle Real Application Cluster 12c R1 auf einem Oracle Linux 7]] ---- ==== Oracle Fusion Middleware 12c Infrastructure (Oracle WebLogic) 12.2.1.3 installieren ==== **Problem bei der späteren Installation von Reports! ** Unable to find dependent featuresets for the selected installation type "Forms and Reports Deployment". Please select a valid installation type. => Weblogic muss als Oracle Fusion Middleware 12c Infrastructure installiert werden, der Generic Weblogic ist nicht mehr ausreichend! Bei der Vorgänger Version von Report hat das aber noch geklappt .-( ! D.h. die Oracle Fusion Middleware 12c Infrastructure 12.2.1.3.0 for Microsoft Windows x64 (64-bit) => Datei V886426-01.zip - Oracle Fusion Middleware 12c (12.2.1.3.0) Infrastructure, rund 1.5 GB groß, muss als FWM installiert werden! 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\jdk1.8.0_152 * Oracle Base : d:\oracle * Middle Ware Home : d:\oracle\fmw * (Fusion Middle Ware = fmw ) Ablauf: - Software auf dem Server kopieren und V886426-01.zip entpacken - Installation aufrufen "java -jar fmw_12.2.1.3.0_infrastructure.jar" d: mkdir d:\oracle\fmw rem in das Verzeichnis mit dem "fmw_12.2.1.3.0_infrastructure.jar" wechseln cd D:\install\forms #Java aus dem JDK aufrufen!! D:\Java\jdk1.8.0_152\bin\java -jar .\fmw_12.2.1.3.0_infrastructure Alle 8 Screen durcharbeiten, wichtigste Einstellung: Wahl der Oracle Homes "d:\oracle\fwm" und Fusion Middleware Infrastucture! Die Konfiguration einer Domain im WebLogic wird später nach der Reports Installation durchgeführt! ---- ==== Oracle Reports Server (Oracle Fusion Middleware 12c (12.2.1.3.0) ) 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 setup_fmw_12.2.1.3.0_fr_win64.exe aufrufen (in der Powershell z.B.): # Dateien auspacken cd D:\install expand-archive .\V886455-01_1of2.zip expand-archive .\V886455-01_2of2.zip cp .\V886455-01_2of2\setup_fmw_12.2.1.3.0_fr_win64-2.zip .\V886455-01_1of2\ cd D:\install\V886455-01_1of2 .\setup_fmw_12.2.1.3.0_fr_win64.exe Alle 9 Screens durcharbeiten => Screen Flow siehe => {{ :forms:oraclereportsserver12.2.1.3.0-oracle_12c_reports_installation_screenshots_11_2017.pdf | Screen Flow Install oraclereportsserver12.2.1.3.0 }} Nach der Installation der reinen Software müssen die nächsten Schritte ausgeführt werden: - RCU Repository anlegen - Domain mit dem Configuration Wizard erzuegen - Start Node Manager and Domain Server -Konfiguration der Reports App ---- ==== Oracle Comman Infrastructure Service Repository anlegen==== Als Repostitory Datenbank kann eine Oracle 12c dienen, allerdings kann meiner Erfahrung nach pro DB nur ein Repository für eine FWM Umgebung angelegt werden. Siehe => https://docs.oracle.com/middleware/1212/core/ASINS/preparing.htm#ASINS355 * Eintrag der gewählten Datenbank in die tnsnames.ora, Test das vom Server eine Verbindung zur Repository Datenbank möglich ist * Aufruf des RCU Utiltitis D:\oracle\fmw\oracle_common\bin>rcu.bat - Welcome => Next - Create Repository => "Create Repostitory" "System Load and Product Load" => Next - Database Connection Details => Oracle Database, "Connection Parameters" Werte ausfüllen => Next => OK - Select Components => "Create new prefix:" SPA - Oberste Ebene anwählen "STB,OPSS,IAU,IAU_APPEND,IAU_VIEWR,MDS,WLS,UMS" => Next => OK - Schema Passwords => "Specify different passwords for all schemas" => PWD ausfüllen und aufschreiben! => Next - Map Tablespaces => Alles Default, oder je nach Bedarf individuell konfigurieren => Next => OK => OK - Summary => Create - Completion Summary => Close Screenshots der Installation =>{{ :forms:oraclereportsserver12.2.1.3.0-oraclercu_step.pdf |Screenshots der Installation Oracle Infrastructure Repository 12c Fusion Middleware}} ---- ====WebLogic Domain anlegen==== Aufruf von: D:\oracle\fmw\oracle_common\common\bin> .\config.cmd Screens: - Step 1 - Create a new Domain - Domain Location => D:\oracle\fmw\user_projects\domains\SPAReport => next - Step 2 - Create Domain Using Product Templates - Include all selected templates und "Oracle Reports Application/Report Server / Report Bridge" anwählen => next - Step 3 - Application Location "D:\oracle\fmw\user_projects\applications\SPAReport " => next - Step 4 - Weblogic Passwort "admin1234" => next - Step 5 - Domain Mode - Production - JDK default => next - Step 6 - Database Configuration Type - "RCU Data", Vendor Oracle, Connection Details ausfüllen, Schema Owner "SPA_STB" => Get RCU Configuration => Next - Step 7 - Component Datasources => alle anwählen und Passwort setzen - Step 8 - JDBC Test => Next - Step 9 - Advanced Configuration => Administration Server, Node Manager, Topology => Next - Step 10 - Administration Server => Server Groups "REPORTS-APP-SERVERS" => Next - Step 11 - Node Manager Type "Per Domain Default Location" , weblogic Credentials => Next - Step 12 - Managed Servers => Einstellung belassen => Next - Step 13 - Clusters => Einstellungen belassen (cluster_reports) => Next - Step 14 - Server templates => Next - Step 15 - Dynamic Servers => Next - Step 16 - Assign Servers to Clusters => Next - Step 17 - Coherence Clusters => Next - Step 18 - Machines => Next - Step 19 - Assign Servers to Machines => Next - Step 20 - Virtual Targets => Next - Step 21 - Partitions => Next - Step 22 - Configuration Summary => Create - Step 23 - Configuration Progress => Next - Step 24 - End of Configuration - URL Merken! => Finish Siehe auch => {{ :forms:oraclereportsserver12.2.1.3.0-oracle-fusionmiddlewareconfigurationwizardsteps.pdf | Oracle Report 12.2.1.3.0 Domain Wizard to setup a Weblogic Domain for Reports}} Nun wurde unter D:\oracle\fmw\user_projects\domains\SPAReport die Domain angelegt, über http://12cwin2016rep01:7001/console kann NACH dem Start der Domain auf die Admin Oberfläche zugegriffen werden. Siehe auch => https://docs.oracle.com/middleware/1213/wls/WLDCW/newdom.htm#i1073602 und => https://docs.oracle.com/middleware/1213/wls/WLDCW/fmw_config.htm#WLDCW407 === Domain das erste Mal starten === Wichtig! Nur mit einer gestarteten Domain kann das Setup zu Ende geführt werden, die eigentliche Report Server Instance wird nicht von dem Domain Setup angelegt. Ins Verzeichnis (Domain Home ) D:\oracle\fmw\user_projects\domains\SPAReport\bin die WebLogic Umgebung starten: cd D:\oracle\fmw\user_projects\domains\SPAReport\bin rem start Admin Server start startWebLogic.cmd rem warten bis der Server auch gestartet ist! rem User und Password eingeben! rem Letzte Zeile im Log " " rem start Mananged Server rem User und Password eingeben! start startManagedWebLogic.cmd WLS_REPORTS t3://12cwin2016rep01:7001 rem start NodeManager start startNodeManager.cmd Jeweils beim Start den den Usernamen und das Passwort des Weblogic Administrators angeben (Weblogic/admin1234 in meinem Beispiel). Später wird dann das Passwort noch hinterlegt um diese Eingabe zu vermeiden. === Umgebung überprüfen und Reports fertig einrichten === In älteren Umgebungen kann über die Datei $ORACLE_HOME\install\portlist.ini genau geprüft werden, welche Ports bei der Installation vergeben wurde, in dieser Version ist die Datei leider leer, ärgerlich, evtl. ein Bug? == Die URLS:== ^Produkt oder Komponente^URL Schema^Beispiel^ |Administration Server Console|http://host:port/console|http://12cwin2016rep01:7001/console| |Enterprise Manager Console|http://host:port/em|http://12cwin2016rep01:7001/em| |Oracle Forms|http://host:port/forms/frmservlet| nicht installiert| |Oracle Reports|http://host:port/reports/rwservlet|http://12cwin2016rep01:9002/reports/rwservlet| == Enterprise Manager Console aufrufen und prüfen == Über die EM Console http://12cwin2016rep01: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://12cwin2016rep01:7001/console prüfen ob die Domain erreichbar und konfigurierbar ist: == Reports zu Ende konfigurieren== Leider legt der Domain Wizard dann zum Schluss doch nicht alle benötigten Komponenten für Oracle Reports an, sehr ärgerlich. siehe auch => Oracle Reports 12c: First Step to Complete After a New Forms/Reports 12c Install and Configuration Environment (Doc ID 2072671.1) Nacharbeiten: cd D:\oracle\fmw\oracle_common\common\bin wlst.cmd connect('weblogic','admin1234','localhost:7001') createReportsToolsInstance(instanceName='reptools1',machine='AdminServerMachine') exit() In Produktion muss dann nochmals getestet werden ob die Tools Instance eingespart werden kann "createReportsServerInstance(instanceName='rep_server1',machine='AdminServerMachine'", bei Problemen dann doch anlegen! === Weblogic wieder stoppen === Ins Verzeichnis (Domain Home ) D:\oracle\fmw\user_projects\domains\SPAReport\bin wechseln und von dort die WebLogic Server stoppen (erste den Managend Server und dann den Admin Server): cd D:\oracle\fmw\user_projects\domains\SPAReport\bin REM Managed Server stopManagedWebLogic.cmd WLS_REPORTS t3://12cwin2016rep01:7001 REM AdminServer stopWebLogic.cmd REM NodeManager stopNodeManager.cmd ---- ==== Auto Start einrichten ==== Leider lässt sich ein WebLogic Service unter MS Windows nicht so einfach aufsetzen, etwas Scripting und Fehlersuche ist dazu notwendig. Vorbereitung: Sicherheitshalber in der Umgebung für den aktuellen USER (nur hier!!) die Enviroment Variable "ORACLE_HOME=d:\oracle\fwm" hinterlegen Ablauf: * WebLogic Admin Server , Managed Server Dienst und Node Manage einrichten Im Folgenden die Details (zur Zeit in der Reihenfolge bei der Fehlersuche .-)) ==WebLogic Admin und Managed Server + Node Manager== Der WebLogic Server muss allerdings noch als Dienst eingerichtet werden. * Datei "boot.properties" für die Password Abfrage 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\SPAReport\servers\AdminServer\security und D:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\security: cd D:\oracle\fmw\user_projects\domains\ReportSPA\servers\AdminServer mkdir security cd security REM Passwörter und User in Klarschrift eingeben, wird beim nächsten Start verschlüsselt notepad boot.properties username=WebLogic password=admin1234 cd D:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\ mkdir security cd security notepad boot.properties username=WebLogic password=admin1234 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 "$FMW_HOME/wlserver\server\bin" Verzeichnis das das Script installSvc.cmd und installNodeMgrSvc.cmd zur Verfügung gestellt. Allerdings muss das Script **D:\oracle\fmw\wlserver\server\bin\installSvc.cmd** noch um einige Punkte angepasst werden: * Sicherungskopie erstellen * Damit auch alle Oracle Relevanten Dienste untereinanderstehen, in der letzen Zeile des Scripts " installSvc.cmd" den Text "-svcname:"beasvc " in "-svcname:"Oracle WebLogic " anpassen rem *** Install the service "%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"Oracle Weblogic %DOMAIN_NAME%_%SERVER_NAME%" .... * Klassenpfad aus dem Domain Home verwenden REM Line 91 REM Aufruf der commEnv.cmd auskommentieren REM Umgebung Variablen der Domain einarbeiten call D:\oracle\fmw\user_projects\domains\SPAReport\bin\setDomainEnv.cmd * Klassenpfad in eine Datei schreiben und Dateipfad als neue Klassenpfad verwenden, dazu die beiden folgenden Zeilen hinzufügen set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH% REM um Line 134 herum 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\SPAReport\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt set CLASSPATH=@D:\oracle\fmw\user_projects\domains\SPAReport\%DOMAIN_NAME%_%SERVER_NAME%.classpath.txt * Produktion Mode auf True setzen REM Line 28 Rem Zeile mit PRODUCTION_MODE= auskommentieren und hardcodiert auf true setzen set PRODUCTION_MODE=true Auch das Script **D:\oracle\fmw\wlserver\server\bin\installNodeMgrSvc.cmd** kann noch um einige Punkte optimiert werden: * Damit die Dienstbenennung gleich wie oben ist in der Zeile 134 statt PROD_NAME gleich -svcname:"Oracle Weblogic NodeManager (%BAR_WL_HOME%)" eintragen. * Klassenpfad aus einer Datei einlesen um keine Limits zu überschreiben REM Line 66 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\SPAReport\%DOMAIN_NAME%_%SERVER_NAME%_nodemanager.classpath.txt set CLASSPATH=@D:\oracle\fmw\user_projects\domains\SPAReport\%DOMAIN_NAME%_%SERVER_NAME%_nodemanager.classpath.txt **Skript 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=SPAReport set USERDOMAIN_HOME=D:\oracle\fmw\user_projects\domains\SPAReport set PRODUCTION_MODE=true set JAVA_VENDOR=Sun set JAVA_HOME=D:\Java\jdk1.8.0_152 set WLS_HOME=D:\oracle\fmw\wlserver 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://12cwin2016rep01:7001 call "%WLS_HOME%\server\bin\installSvc.cmd" set WL_HOME=D:\oracle\fmw\wlserver set MW_HOME=D:\oracle\fmw set MEM_ARGS=-Xms256m -Xmx512m set NODEMGR_HOME=D:\oracle\fmw\user_projects\domains\SPAReport\nodemanager call "%WLS_HOME%\server\bin\installNodeMgrSvc.cmd" ENDLOCAL Nodemanager Datei Datei DemoIdentity.jks an die gewünschte Stelle für den Dienst kopieren mkdir D:\oracle\fmw\user_projects\domains\SPAReport\nodemanager\security cp D:\oracle\fmw\user_projects\domains\SPAReport\security\DemoIdentity.jks D:\oracle\fmw\user_projects\domains\SPAReport\nodemanager\security\DemoIdentity.jks Aufrufen in einer administrativen DOS Session: cd D:\oracle\fmw\user_projects\domains\SPAReport\bin installServiceSPAReport.cmd Erzeugt einen Dienst mit Namen: * Oracle WebLogic ReportSPA_AdminServer * Oracle WebLogic ReportSPA_WLS_REPORTS * Oracle WebLogic NodeManager (D_oracle_fmw_wlserver) Nun die Abhängigkeiten der beiden Dienste anlegen (DOS Shell!): sc config "Oracle WebLogic SPAReport_WLS_REPORTS" depend= "Oracle WebLogic NodeManager (D_oracle_fmw_wlserver)/Oracle WebLogic SPAReport_AdminServer" [SC] ChangeServiceConfig SUCCESS (auf das Leerzeichen nach dem "=" achten!) **Pfad überprüfen!** Pfad Angabe unter „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleWebLogic SPAReport_WLS_REPORTS“ prüfen und **"D:\oracle\fmw\bin" mit in den Pfad aufnehmen** falls fehlt! Um die Dienst wieder zu löschen (DOS Shell!): sc delete "Oracle WebLogic ReportSPA_AdminServer" sc delete "Oracle WebLogic ReportSPA_WLS_REPORTS" sc delete "Oracle WebLogic NodeManager (D_oracle_fmw_wlserver)" 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 " wlsvcX64.exe" (D:\oracle\fmw\wlserver\server\bin) der Dienst getestet werden. Fehler **weblogic.nodemanager.common.ConfigException: Identity key store file not found:** cd D:\oracle\fmw\wlserver\server\bin> .\wlsvcX64.exe -debug "Oracle WebLogic NodeManager (D_oracle_fmw_wlserver)" .... weblogic.nodemanager.common.ConfigException: Identity key store file not found: D:\oracle\fmw\user_projects\domains\SPAR eport\nodemanager\security\DemoIdentity.jks at weblogic.nodemanager.server.SSLConfig.loadKeyStoreConfig(SSLConfig.java:225) .. Lösung: Datei DemoIdentity.jks an die gewünschte Stelle kopieren cp D:\oracle\fmw\user_projects\domains\SPAReport\security\DemoIdentity.jks D:\oracle\fmw\user_projects\domains\SPAReport\nodemanager\security\DemoIdentity.jks Fehler **WebLogic.management.ManagementException: Booting as admin server, but servername does not match**: wlsvcX64.exe -debug "Oracle WebLogic SPAReport_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**: wlsvcX64.exe -debug "Oracle WebLogic SPAReport_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\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\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\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 **Fehler "java.lang.UnsatisfiedLinkError: no rwu in java.library.path"** Wird der WLS_REPORT über den Dienst gestartet, startet später die Report Tool Instance nicht! Fehler: # check Log # d:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\logs\WLS_REPORTS-diagnostic.log ... 2017-11-17T10:14:36.518+01:00] [WLS_REPORTS] [INCIDENT_ERROR] [DFW-40104] [oracle.dfw.incident] [tid: Thread-70] [userId: ] [ecid: 0000Lz9GWmC7m3yTw6CCwW1Q3eXp000001,0:1:3] [errid: 8] [detailLoc: D:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\adr\diag\ofm\reportpisa\wls_reports\incident\incdir_8] [probKey: DFW-99998 [java.lang.UnsatisfiedLinkError][oracle.reports.util.EnvironmentGlobal.][reports]] [APP: reports] [partition-name: DOMAIN] [tenant-name: GLOBAL] incident 8 created with problem key "DFW-99998 [java.lang.UnsatisfiedLinkError][oracle.reports.util.EnvironmentGlobal.][reports]" ... # D:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\adr\diag\ofm\reportpisa\wls_reports\incident\incdir_8\readme.txt ... java.lang.UnsatisfiedLinkError: no rwu in java.library.path ... **Lösung:** Pfad Angabe unter "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleWebLogic SPAReport_WLS_REPORTS" prüfen und "D:\oracle\fmw\bin" mit in den Pfad aufnehmen! ---- ==== Wichtige Config Datei Speicher Orte ==== Die gesamte Installation ist dann doch teilweise etwas unübersichtlich. In meine Falls sind folgende Homes entstanden: - ORACLE_HOME = D:\oracle\fmw - MW_HOME = D:\oracle - WL_HOME = D:\oracle\fmw\wlserver - DOMAIN_HOME = D:\oracle\fmw\user_projects\domains\SPAReport ===Node Manager=== Konfigurationsdatei: ($DOMAIN_HOME\nodemanager\nodemanager.properties) Wie => D:\oracle\fmw\user_projects\domains\SPAReport\nodemanager\nodemanager.properties ===Reports Conf === Konfigurationsdatei: $DOMAIN_HOME\nodemanager\rwserver.conf Wie => D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwserver.conf === RW Servlet Properties== Konfigurationsdatei: $DOMAIN_HOME\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwservlet.properties Wie => D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwservlet.properties === CGI CMD === Parameter Datei für Reportaufrufe Konfigurationsdatei: $DOMAIN_HOME\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\cgicmd.dat Wie => D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\cgicmd.dat === Vergleich mit älteren Versionen=== siehe diese Support Node => New 12c Directory Paths for Reports Configuration Files (Doc ID 2071812.1) ---- ---- ==== 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 unter Windows $DOMAIN_HOME\config\fmwconfig\components\ReportsToolsComponent\\tools\common => "D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\components\ReportsToolsComponent\reptools1\tools\COMMON" Siehe auch => https://docs.oracle.com/middleware/12211/formsandreports/use-reports/pbr_font003.htm#i1009745 Die Datei kann auch über dem EM administriert werden, siehe in der Doku => https://docs.oracle.com/middleware/12211/formsandreports/use-reports/pbr_adminem004.htm#RSPUB0511 Ablauf: - Fonts in das Betriebssystem installieren (rechte Mouse Taste auf der *.PFM Datei, Installieren, funktioniert auch mit Mehrfach Auswahl) - Fonts müssen im Reports Path liegen, wie D:\oracle\fmw\reports\printers - uifont.ali anpassen und in den Suchpfad kopieren - Ein Suchpfad für die "uifont.ali" dazu ist unter Windows $DOMAIN_HOME\config\fmwconfig\components\ReportsToolsComponent\\tools\common UND $ORACLE_HOME\tools\common **Problem: Font wird nicht angezeigt bzw. verwendet - keine Fehlermeldung** uifont.ali an diesen Stellen abgelegt: * D:\oracle\fmw\frcommon\templates\tk\config * D:\oracle\fmw\tools\common * D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\components\ReportsToolsComponent\reptools1\guicommon\tk\admin\ * D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\components\ReportsToolsComponent\reptools1\tools\COMMON Keine Besserung nach dem Neustart des WLS_REPORTS, ABER nach dem Neustart des ganzen Servers hat es funktioniert! Evlt. treten hier Cache Effekte auf, es kann daher sein das eine der obigen Locations unnötig ist. **Problem: REP-1924: Font file GPISymbol.pfm cannot be found.** Lösung => Fonts müssen im Reports Path liegen, wie D:\oracle\fmw\reports\printers **Problem: Font wird nicht gefunden** **BUG!** => On Windows Platform, the In-Process Reports Server Reads Uifont.ali From Incorrect Directory in Version 11g/12c (Doc ID 965582.1) Die uifont.ali muss auch im Verzeichnis $ORACLE_HOME\tools\common wie => D:\oracle\fmw\tools\common liegen Bei Problemen Test Report über rwclient auf rufen und Log File unter "$DOMAIN_HOME/servers//logs/reports/rwEng-id_diagnostics.log" prüfen, und über http://12cwin2016rep01:9002/reports/rwservlet/showenv prüfen auf was die REPORTS_PATH Variable zeigt! Tracing einschalten über D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\logging.xml =>NOTIFICATION:1 auf TRACE:32 im Abschnitt "logger name='oracle.reports.engine'" Siehe auch => https://blogs.oracle.com/proactivesupportdevtools/tracing-in-oracle-reports-12c ---- ==== 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 "%DOMAIN_HOME%\config\fmwconfig" anlegt wird. Der Pfad wird in der Datei "D:\oracle\fmw\user_projects\domains\SPAReport\reports\bin\reports.bat" über die Umgebungsvariable TNS_ADMIN gesetzt, diese zeigt über "%DOMAIN_HOME%\config\fmwconfig" in unseren Fall auf D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig. === Report Bilder aufrufen === cd D:\oracle\fmw\user_projects\domains\SPAReport\reports\bin D:\oracle\fmw\user_projects\domains\SPAReport\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\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwserver.conf Da unser Bericht unter d:\app\reports liegt, in der Datei das Attribute "sourceDir" anpassen (zuvor Sicherungskopie anlegen!): D:\app\reports D:\app\output Performance Einstellung können hier auch hier getätigt werden wie "" WLS_REPORT über EM neu starten === Reports Servlet Admin Oberfläche erlauben === Um die Report Jobs besser überwachen zu können für die Reports Job Oberfläche den User Weblogic die Reports Rolle RW_ADMINISTRATOR und RW_MONITOR zuweisen. Evlt. WLS_REPORTS neu starten! Über http://12cwin2016rep01:9002/reports/rwservlet/getserverinfo kann dann zum Beispiel die Umgebung abgefragt werden. Ablauf: * Aufruf EM über http://12cwin2016rep01:7001/em * Menü Punkt "Weblogic Domain\Security\Application Roles" aufrufen * In "Application Stripe" "Reports" auswählen und suchen lassen * Rolle RW_ADMINISTRATOR anwählen und auf "Edit" klicken * Über den Bereich "Members" den User Weblogic hinzufügen "Add klicken, Type=User auswählen, suchen, zuordnen" Siehe auch für mehr Details => REP-56071 When Attempt to Access In-Process Reports Server in Reports 12c (Doc ID 2072876.1) ---- ===Test 1 : Bericht über "rwclient" aufrufen:=== Zuvor am besten mit http://12cwin2016rep01:9002/reports/rwservlet/startserver den Reportserver auch starten, damit nach einem Neustart und einem ersten Aufruf keine Fehler auftreten. **rwclient.bat** aus Domain Home aufrufen! mkdir d:\app\output cd D:\oracle\fmw\user_projects\domains\SPAReport\reports\bin .\rwclient.bat server=rep_wls_reports_12cwin2016rep01 report=emp_rep01.rdf userid=scott/tiger@gpi desformat=pdf DESTYPE=file DESNAME=D:\app\output\emp_rep01.pdf authid=weblogic/admin1234 REM Bei Fehlern Logfile prüfen: cd D:\oracle\fmw\user_projects\domains\SPAReport\servers\WLS_REPORTS\logs\reports\ notepad rwserver_diagnostic.log == Fehler Rep-0238: Authentication failed == hmm, rwclient kann sich nicht am Report Server anmelden, hier fehlt noch etwas in der Konfig ... siehe => Rwclient.sh Fails With REP-0238: Authentication Failed in Oracle Report 12c (Doc ID 2162851.1) Lösung: authid=weblogic/ Parameter mit übergeben! Oder Securtiy ausschalten => How to Disable Security For The Reports Server 12C and Execute Webcommands (Doc ID 2108256.1) Bzw. in der rwserver.conf die SecurityID auf entfernden und in rwservlet.properties wieder für den Zugriff auf die Admin Oberfläche "L2" einfügen. UNSICHER! Nur für Training oder wenn man weiß was man tut!! == Fehler Rep-0177 - REP-56133: Access is denied to write to the specific location == siehe => Reports 12c: FolderAccess Wildcard Does Not Work -- REP-177 & REP-56133 (Doc ID 2107541.1) rwserver.conf anpassen: D:\app\reports D:\app\output WS_REPORT neu über den EM starten == 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://12cwin2016rep01:9002/reports/rwservlet?server=rep_wls_reports_12cwin2016rep01+report=emp_rep01.rdf+userid=scott/tiger@gpi+desformat=pdf+DESTYPE=cache OK! Dokumentation: * Fusion Middleware Publishing Reports to the Web with Oracle Reports Services => https://docs.oracle.com/middleware/1221/formsandreports/use-reports/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 unserem Beispiel unter D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration 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 %* Auf das **%*** am Ende achten! URL:http://12cwin2016rep01:9002/reports/rwservlet?emp_user&server=rep_wls_reports_12cwin2016rep01&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 Entwicklung System ist das aber wohl die bessere Einstellung. Datei rwservlet.properties: yes Dokumentation: * Kaptiel 18.13 Using a Key Map File => https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_run014.htm#RSPUB23557 **Problem REP-50004: No report is specified on the command line.** Auf das **%*** am Ende in der Zeile in der cgicmd.dat achten! ==== 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\user_projects\domains\SPAReport\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\user_projects\domains\SPAReport\reports\bin\rwconverter.bat userid=scott/tiger@gpi 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\user_projects\domains\SPAReport\reports\bin> .\rwdiag.bat -findAll Reading the rwnetwork.conf from :D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\components\ReportsToolsC omponent\reptools1\rwnetwork.conf Broadcast mechanism used to locate servers ------------------------------------------ Channel address = 228.5.6.7 Channel port = 14021 (1) Name = rep_wls_reports_12cwin2016rep01 : Type = server : Host = 12cWIN2016REP01 siehe auch [[ https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_bdutil001.htm#RSPUB24019| 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 => https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_arch003.htm#RSPUB23212 * => Eine komplette Übersicht => https://docs.oracle.com/middleware/1221/formsandreports/use-reports/img/reports_arch_edited_v1.gif Programmierung mit Oracle Reports: * Oracle Reports Tutorial - Fusion Middleware Oracle Reports Tutorial - https://docs.oracle.com/middleware/12213/formsandreports/tutorial-reports/title.htm ---- ==== Betrieb überwachen==== Über ein Monitor Tool wie [[https://www.de.paessler.com/prtg|PRTG Network Monitor]] Status info des Servers über ein XML Format aufrufen. Besser dafür natürlich einen Überwachtungs User anlegen und die Monitor Rolle granten. (Über WebLogic Server Administration Console, expand Security —> Realms / auf das Realm / User ) http://12cwin2016rep01:9002/reports/rwservlet/getserverinfo?authid=weblogic/admin1234&statusformat=XML 12cWIN2016REP01 1510925427808 1 5.14 Und entsprechend die Metriken abfragen. ---- ==== Wartungs und Verwaltungsaufgaben ==== === Umgebung analysieren === Unter E:\oracle\fmw\user_projects\domains\ReportPisa\reports\bin\ mit rwdiag.bat -findAll die Umgebung analysieren === 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 - https://docs.oracle.com/middleware/1221/core/ASADM/ports.htm#ASADM255 === Mail Server einbinden === Über die rwserver.conf kann der Mail Server für den Versandt von Reports eingebunden werden. Pfad: $DOMAIN_HOME\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwserver.conf wie => D:\oracle\fmw\user_projects\domains\SPAReport\config\fmwconfig\servers\WLS_REPORTS\applications\reports_12.2.1\configuration\rwserver.conf Werte entsprechend eintragen, siehe auch => https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_conf002.htm#g1024234 === SSL Konfiguration === Siehe dazu im Detail => => [[forms:oracle_reports_12_ssl|Oracle Reports Server 12g R1 mit SSL über Port 443 betreiben]] Dokumentation: * Fusion Middleware Administrator's Guide- Configuring SSL in Oracle Fusion Middleware => https://docs.oracle.com/middleware/1221/core/ASADM/sslconfig.htm#ASADM1800 Web: * https://oracle-base.com/articles/12c/oracle-forms-and-reports-12c-configuration-notes#ssl-configuration === 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| siehe auch https://docs.oracle.com/middleware/12211/formsandreports/use-reports/pbr_cla008.htm#RSPUB23888 Beispiel (alles später in einer Zeile aufrufen!): cd D:\oracle\fmw\user_projects\domains\SPAReport\reports\bin> rwclient.bat server=rep_wls_reports_12cwin2016rep01 report=emp_rep01.rdf userid=scott/tiger@gpi desformat=pdf DESTYPE=file DESNAME=D:\app\output\emp_rep01.pdf SCHEDULE="last weekday before 15 from 12:00 DEC 31, 2017 retry after 1 hour expires after 2" Über http://12cwin2016rep01:9002/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: [[https://docs.oracle.com/middleware/12211/formsandreports/use-reports/pbr_run011.htm#RSPUB23553|Fusion Middleware Publishing Reports to the Web with Oracle Reports Services 18.10 Scheduling Reports to Run Automatically]] ---- ---- ==== BUG - Berichtsaufruf nicht möglich REP-3301 / REP-56093 ==== **Problem** Nach der Umstellung aus der alten Umgebung (Report 11g) lässt sich ein Bericht nicht mehr ausführen, im Logfile ist außer einem nichtssagenden "REP-3301 - Error occurred in Error Checking " zu finden. Ein Aufruf in "rwbuilder" führt zum gleichen Ergebnis. Ein Trace brachte gar nichts, es wird nichts geloggt, die Ausführung wird anscheinend schon sehr früh in der Verarbeitungskette abgebrochen. **LÖSUNG** Bei Vergleich der alten und der neuen Umgebung zeigt sich das die NLS_LANG Setting unterschiedlich ist! Mit "http://:9002/reports/rwservlet/getserverinfo abfragen: * Prod Alt: GERMAN_GERMANY.WE8MSWIN1252 * Prod Neu: AMERICAN_AMERICA.WE8MSWIN1252 In der Registry den Key **NLS_LANG** unter **"HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OracleHome1"** auf den Wert der alten Produktion gesetzt, WLS_REPORTS neu gestartet => GERMAN_GERMANY.WE8MSWIN1252 und der Bricht funktioniert wieder! :-) ---- ---- ==== Report Builder für den Entwicklerarbeitsplatz aufsetzen ==== Leider kann nur it der Version 12 der 12c Forms Builder auch Standalone aufgesetzt werden. Sehr ärgerlich ... Für einen Developer Arbeitsplatz heißt das um umkehrschluss das für Reports eine komplette Umgebung aufgesetzt werden muss. **... Rports Builder can only be obtained as part of 'Forms and Reports Deployment' option ....** 8-O === Forms Builder installieren === Vorbereitung - Installation Java 8 152 Setzen **JAVA_HOME** als Umgebungsvariable (sonst startet der Wizard später nicht!!) Ablauf einer Installation auf einen Windows 10 Client: # Dateien auspacken cd D:\install expand-archive .\V886455-01_1of2.zip expand-archive .\V886455-01_2of2.zip cp .\V886455-01_2of2\setup_fmw_12.2.1.3.0_fr_win64-2.zip .\V886455-01_1of2\ cd D:\install\V886455-01_1of2 .\setup_fmw_12.2.1.3.0_fr_win64.exe * Step 1 - Welcome => next * Step 2 - Auto Update - Skip Auto Update => Next * Step 3 - Installation Location - d:\oracle\products\fwm => Next * Step 4 - Installation Type - "Standalone Froms Builder" => Next * Step 5 - JDK Home auswählen * Step 6 - Prerequsit Check => Next * Step 7 - Installation Summary => Install * Step 8 - Installation Progress => Next * Danach unter C:\oracle\product\fmw\forms\common\bin den config_builder.cmd aufrufen , siehe auch dazu Anleitung dazu => https://docs.oracle.com/middleware/1221/formsandreports/install-fnr/install.htm#CIHGBBEH siehe => https://blogs.oracle.com/proactivesupportdevtools/oracle-forms-and-reports-builders-in-12c **... Rports Builder can only be obtained as part of 'Forms and Reports Deployment' option ....** ---- ==== Probleme ==== **Oracle Reports Server Installation - Problem Self extraction to ... failed. beim Aufruf von setup_fmw_12.2.1.3.0_fr_win64.exe ** Launcher log file is D:\temp\Temp\2\OraInstall2017-10-25_11-48-04PM\launcher2017-10-25_11-48-04PM.log. Extracting the installer . . . . Done Self extraction to D:\temp\Temp\2\sfxAD3.tmp failed. The log is located here: D:\temp\Temp\2\OraInstall2017-10-25_11-48-04PM\launcher2017-10-25_11-48-04PM.log. Press Enter to exit # Logfile prüfen:=> 2017-10-25 23:48:04,798 SEVERE [1] com.oracle.cie.nextgen.launcher.Launcher - The jar file D:\install\forms\setup_fmw_12.2.1.3.0_fr_win64-2.zip needed for this installer is missing. => Darauf achten das der Inhalt des zweiten Archives zum ersten kopiert wird!! **sqlplus und tnsping starten nicht** => Fehlermeldung "The program can’t start because MSVCR100.dll is missing from your computer." Microsoft Visual C++ 2010 Redistributable Package für x86 und x64 installieren, download über https://www.microsoft.com/en-us/download/details.aspx?id=5555 und https://www.microsoft.com/en-us/download/details.aspx?id=14632 **Domain wieder entfernen** Um eine Domain wieder zu entfernen: * Prüfen das wirklich alle Weblogics die zur Domain gehören gestopt sind * Einträge bzgl. der Domain im "$W_HOME/domain-registry.xml" file entfernen * prüfe ob ein globaler Noder Manager im Einsatz ist, falls ja den "nodemanager.domains" file entfernen #Domains and directories created by Configuration Wizard #Fri Nov 03 23:03:32 PDT 2017 gpi=D\:\\oracle\\fmw\\user_projects\\domains\\gpi * Domain Dateien aus dem Filesystem löschen rm -Rf D:\oracle\fmw\user_projects\applications\gpi rm -Rf D:\oracle\fmw\user_projects\domains\gpi siehe auch https://oracle-base.com/articles/12c/weblogic-12c-create-extend-and-remove-domains Error **REP-52266: The in-process Reports Server rep_wls_reports_12cwin2016rep01 failed to start.oracle.reports.RWException: IDL:oracle/reports/RWException:1.0** Beim Aufruf von http://12cwin2016rep01:9002/reports/rwservlet/showenv Lösung: Nach dem Durchlauf der Konfiguration mit dem Domain Wizard fehlt aber noch der notwendige Reports Config Teil, es müssen noch weitere manuelle Schritte durchgeführt werden, siehe oben die manuelle Configuratoin ---- ====Quellen==== Oracle Support: * Information Center: Oracle Fusion Middleware 12c (Doc ID 2274249.2) * Quick Reference to Upgrade Forms and Reports From 12.2.1.2.0 To 12.2.1.3.0 (Doc ID 2311784.1) * Reports 12c Relevant Notes and Links Index (Doc ID 2073820.1) Web * https://www.youtube.com/watch?v=bnYXuB7NbEw - Oracle Fusion Middleware 12.2.1.3 Installation on Windows * https://oracle-base.com/articles/12c/oracle-forms-and-reports-12c-configuration-notes * http://dirknachbar.blogspot.de/2016/08/oracle-reports-12c-missing.html * https://www.doag.org/formes/pubfiles/7522352/2015-K-MW-Jan-Peter_Timmermann-Neues_in_der_Administration_von_Forms_12x-Manuskript.pdf