Inhaltsverzeichnis
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 ⇒ 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 ⇒ Eine Oracle Datenbank 12c Datenbank Umgebung unter Windows 2012 R2 installieren
Kann natürlich auch alternativ ein Cluster sein .-) ⇒ 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 ⇒ 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 ⇒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 ⇒ 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 "<Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>" 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:
- installServiceSPAReport.cmd
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:
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)" .... <Nov 10, 2017 12:33:54 AM PST> <SEVERE> <Fatal error in NodeManager server> 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" <Dec 28, 2014 10:58:40 AM PST> <Critical> <WebLogicServer> <BEA-000286> <Failed to invoke startup class "JRF Startup Class", java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup
Problem: Der Classpath ist, falsch!
Lösung:
- Scripts anpassen nach http://dirknachbar.blogspot.de/2011/05/implementing-oracle-WebLogic.html
- D:\oracle\fmw\wlserver\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:
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: <anonymous>] [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.<init>][reports]] [APP: reports] [partition-name: DOMAIN] [tenant-name: GLOBAL] incident 8 created with problem key "DFW-99998 [java.lang.UnsatisfiedLinkError][oracle.reports.util.EnvironmentGlobal.<init>][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\<reports_tools_name>\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\<reports_tools_name>\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/<reports_server_name>/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!):
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" maxEngine="1" minEngine="1" engLife="50"> <property name="sourceDir" value="d:\app\reports" /> <property name="tempDir" value="D:\temp"/> <property name="keepConnection" value="yes"/> </engine> <!-- Folder Access gleich mit konfigurieren --> <folderAccess> <read>D:\app\reports</read> <write>D:\app\output</write> </folderAccess>
Performance Einstellung können hier auch hier getätigt werden wie “<engine id=„rwEng“ class=„oracle.reports.engine.EngineImpl“ maxEngine=„50“ minEngine=„1“ engLife=„50“ jvmOptions=„-Xms1024m -Xmx2048m“>„
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/<password> 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 <job JobTyle=„report“ …> entfernden und in rwservlet.properties wieder für den Zugriff auf die Admin Oberfläche “<webcommandaccess>L2</webcommandaccess>„ 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:
<folderAccess> <read>D:\app\reports</read> <write>D:\app\output</write> </folderAccess>
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/<WLS_SERVER_NAME>/applications/reports_<version>/configuration“ in unseren Fall unter „D:\oracle\fmw\user_projects\domains\ReportSPA\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration“.
URL:
http://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/<WLS_SERVER_NAME>/applications/reports_<version>/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:
<reloadkeymap>yes</reloadkeymap>
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
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 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 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 <serverInfo name="rep_wls_reports_12cwin2016rep01" version="12.2.1.3.0"> <host>12cWIN2016REP01</host> <startTime>1510925427808</startTime> <queue maxQueueSize="1000"/> <engine id="rwEng" activeEngine="1" runningEngine="0" totalBusyEngines="0" totalIdleEngines="1"> <engineInstance name="rwEng-0" processId="3508" status="1" runJobId="-1" curJobExecTime="-1" idleTime="2033" numJobsRun="3" lifeLeft="47" nls="AMERICAN_AMERICA.WE8MSWIN1252" totalRunTime="2" totalIdleTime="43"/> </engine> <engine id="rwURLEng" activeEngine="0" runningEngine="0" totalBusyEngines="0" totalIdleEngines="1"/> <performance> <property name="successfulJobs" value="33"/> <property name="currentJobs" value="0"/> <property name="futureJobs" value="0"/> <property name="transferredJobs" value="0"/> <property name="failedJobs" value="15"/> <property name="longRunningJobs" value="0"/> <property name="potentialRunawayJobs" value="0"/> <property name="averageResponseTime" value="1512.24"/> <property name="averageElapsedTime" value="0.0"/> <property name="avgQueuingTime" value="91.94"/> </performance> <connection connectionsUsed="1" connectionsAvailable="49"/> <isSecure>1</isSecure> <engineInfo maxEnginesUsed="1" avgEnginesUsed="1.0"/> <avgAuthTime>5.14</avgAuthTime> </serverInfo>
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
<pluginParam name="mailServer" value="%MAILSERVER_NAME%"> <!--property name="enableSSL" value="yes"/--> <!--UserName and Password that can be used to connect to the mail server--> <!--property name="mailUserName" value="%MAIL_USERID%" /--> <!--property name="mailPassword" value="%MAIL_PASSWORD%"/--> </pluginParam>
Werte entsprechend eintragen, siehe auch ⇒ https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_conf002.htm#g1024234
SSL Konfiguration
Siehe dazu im Detail ⇒ ⇒ 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:
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.
Dokumentation: 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://<server_name>: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 ….
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
<?xml version="1.0" encoding="UTF-8"?> <domain-registry xmlns="http://xmlns.oracle.com/weblogic/domain-registry"> <domain location="D:\oracle\fmw\user_projects\domains\gpi"/> </domain-registry>
- 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