überraschend mehr Möglichkeiten! SOA Suite 12c aus der Infrastruktur-Sicht DOAG Konferenz Borys Neselovskyi November 2017 OPITZ CONSULTING 2017
Agenda 1 2 3 4 5 SOA Architektur und Planung Installation und Konfiguration Monitoring Administration Tuning und Troubleshooting Seite 2
SOA Architektur und Planung Architektur Hochverfügbarkeit Security Anforderungen Shared Storage 1 Seite 3
SOA Suite Komponenten AdminServer Zentrale Konfigurationsinstanz OWSM Security Komponente Management / Anwendung von Policies ESS Scheduler Komponente SOA Integrations-/Automatisierungsplattform Entwicklung zustandsbehafteter Services SB Standalone Enterprise Service Bus Entwicklung zustandsloser Services Source: https://thecattlecrew.net/2016/08/21/soa-suite-12-2-1-1-0-create-configure-and-tune-a-soaosb-domain/
SOA Suite Topologie (EDG) Load Balancer 3 Tier Architektur Web Tier Application Tier Data Tier High Availability Source: https://docs.oracle.com/middleware/12213/lcm/soedg/soedg.pdf
High Availability Managed Server in Cluster AdminServer: Single point of failure Whole Server Migration Für 12c nicht empfohlen: EDG Service Migration: Empfohlene Option für 12c Redundante Loadbalancer Redundante Webserver Redundanz für die Datenbank: RAC Data Guard oder DBVisit Redundante Netzwerkkomponente: Switsches Bonding
Load Balancer Anforderungen Software Load Balancer Oracle Traffic Director OHS Nur Round Robin möglich Hardware Load Balancer Citrix Netscaler: gute Erfahrungen F5 BIG-IP Anforderungen Sticky session routing: route traffic to the same server that processes the first request Ability to configure virtual server names and ports on the load balancer SSL acceleration. Oracle recommends this feature but doesn't require it Client IP Address (Preserving): the load balancer must be able to insert a request's original client IP address in an X- Forwarded-For HTTP header to preserve it.
Shared Storage in der Cluster Architektur $ORACLE_HOME Verzeichnisse: $DOMAIN_HOME/config $DOMAIN_HOME/bin $DOMAIN_HOME/servers/AdminServer Deployments JMS Persistent Store / TLog Logfiles SOA Connectors: Anpassung soaconnectors auf Shared-Storage und kopieren der.rar Files Info: Shared Storage: NAS / SAN NFS Optionen: mount nasfiler:/vol/vol1/u01/oracle /u01/oracle -t nfs -o rw,bg,hard, nointr,tcp,vers=3, timeo=300,rsize=32768, wsize=32768 Tipps: ORACLE_HOME: mount read only ORACLE_HOME: Alle Upgrade/Patch Aktionen auf dem Server durchführen, wo die Installation stattgefunden ist Example Implementation How to Effectively Use the Enterprise Deployment Guide for Oracle SOA Suite Products (SOA, BPM, BAM, OSB) (Doc ID 1536364.2) https://docs.oracle.com/middleware/12213/lcm/soedg/soedg.pdf
Datenbank Voraussetzungen SOA Repository: RDBMS Versionen: 11.2.0.4 12.1 (und höher) Java muss installiert werden Zeichensatz ATL32UTF8 Info: http://docs.oracle.com/html/e82037_01/toc.h tm#guid-85f0eaf9-3ace-421d-bd72- F1A8E6B91116 Fachdaten sollen in einer separaten Datenbank aufbewahrt werden LifeCycle von Fachdaten implementieren Hochverfügbarkeit: RAC Data Guard Data Guard Failover: Datenquelle Definition: jdbc:oracle:thin:@(description_list=(load_bala NCE=OFF)(FAILOVER=ON) (DESCRIPTION=(CONNECT_TIMEOUT=3)(TRANSPORT_CON NECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON) (ADDRESS=(PROTOCOL=TCP)(HOST=<primary db host>)(port=1521))) (CONNECT_DATA=(SERVICE_NAME=myorcl))) (DESCRIPTION=(CONNECT_TIMEOUT=3)(TRANSPORT_CON NECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)( ADDRESS=(PROTOCOL=TCP)(HOST=<standby db host>)(port=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME= myorcl))))
Security OHS Module: mod_ossl: SSL Unterstützung mod_security: Sicherheitsregeln mod_certheaders: Proxy für SSL Terminating mod_ora_audit: Auditing mod_webgate: SSO für WebGate SOA Suite SSL für SOA Domain SAML Konfiguration Configuring SOA Composite Applications for Two-Way SSL Communication Dokumentation: https://docs.oracle.com/middleware/12213/soas uite/administer/soaag.pdf Netzwerk Firewall SSL ACL s Auditing Betriebssystem: Härtung Auditing Datenbank: SSL Konfiguration für Datenbank Listener Datenbank Security: viele Optionen
Planung der Installation Best Practices: OSB / SOA / BAM: Eigene ORACLE_HOME / Eigene Domäne Grund 1: unterschiedliche Patch Anforderungen Grund 2: BAM Performance, OSB Stand-alone für mehrere SOA Domänen Eventuell separate Hosts für BAM und SOA/OSB (wegen Ressourcen Aufteilung) Dokumentation: Supported System Configurations: http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html Enterprise Deployment Guide: https://docs.oracle.com/middleware/12213/lcm/soedg/soedg.pdf Planning Workbook for SOA Suite: http://www.oracle.com/pls/topic/lookup?ctx=fmw122130&id=soa_edg_workbook_12213 System Requirements and Specifications http://docs.oracle.com/html/e82037_01/toc.htm Installation Guides: SOA: https://docs.oracle.com/middleware/12213/lcm/insoa/insoa.pdf OSB: https://docs.oracle.com/middleware/12213/lcm/inosb/inosb.pdf
Installation und Konfiguration 2 Seite 12
Vorbereitung der Installation Vorbereitung des Betriebssystem Installation der notwendigen Paketen Aktivierung Unicode Support Einstellung von Kernel Parameter Einstellung von OS Limits Datenbank vorbereiten Medien runterladen: Oracle Software Delivery Cloud: https://edelivery.oracle.com Oracle Fusion Middleware 12c Infrastructure (WebLogic Server) SOA Suite (beinhaltet SOA, OWSM, ESS, BAM) OSB Service Bus (falls notwendig) OTN (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- 2133151.html) JDK 1.8 OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Installation Installation JDK 1.8 Beispiel: cd /u01/app/oracle/product/java tar xvfz /u01/app/oracle/software/fmw/12.2.1.2.0/jdk/jdk-8u111-linux-x64.tar.gz mv jdk1.8.0_111 jdk ln -s jdk jdk1.8.0_111 Installation WebLogic Server Beispiel: export JAVA_HOME=/u01/app/oracle/product/JAVA/jdk export PATH=$JAVA_HOME/bin:$PATH java -jar./fmw_12.2.1.2.0_infrastructure.jar OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Installation Installation SOA Suite Software Beispiel: export JAVA_HOME=/u01/app/oracle/product/JAVA/jdk export PATH=$JAVA_HOME/bin:$PATH java -jar./fmw_12.2.1.1.0_soa.jar Installation Service Bus Software Beispiel: export JAVA_HOME=/u01/app/oracle/product/JAVA/jdk export PATH=$JAVA_HOME/bin:$PATH java -jar./fmw_12.2.1.1.0_osb.jar OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Konfiguration: Repository Datenbank Voraussetzung: Datenbankbenutzer mit DBA / SYSDBA Berechtigungen Starten RCU (Repository Creation Utility): Beispiel: ${ORACLE_HOME}/oracle_common/bin/rcu Erstellt einige Datenbank Schemas und Tablespaces Wichtig: Sizing: Medium und Large setzen die Partitioning Option voraus!!! Zusätzliche Lizenzkosten OPITZ CONSULTING 2017 Quelle: https://docs.oracle.com/middleware/12213/soasuite/administer/soaag.pdf SOA Suite 12c aus der Infrastruktur-Sicht
Konfiguration: Erstellen SOA Domäne Die Binary config.sh ausführen: Beispiel: ${ORACLE_HOME}/oracle_common/common/bin/co nfig.sh Templates auswählen: Nur notwendige Templates auswählen! Andernfalls: Performance Einbüße Mehr Administration Mehr Wartung OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Konfiguration: Erstellen SOA Domäne Domain Template Referenz: https://docs.oracle.com/middleware/12213/lcm/wldtr/wldtr.pdf OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Cluster Konfiguration OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Cluster Konfiguration Software auf allen Servern im Cluster installieren SOA Domäne nur auf dem ersten Server erstellen Die Domäne Konfiguration auf alle andere Server im Cluster kopieren: Server 1: AdminServer starten Die Domäne Konfiguration in einem Jar-Archiv speichern: cd ${ORACLE_HOME}/oracle_common/common/bin./pack.sh -domain=${domain_home} -template=/home/oracle/soa_domain.jar - template_name=soa_domain managed=true Server 2: Jar-Archiv übertragen Die Domäne auf dem Server erstellen:./unpack.sh -user_name=weblogic -password=welcome1 domain=${domain_home} - overwrite_domain=true -template=/home/oracle/soa_domain.jar - app_dir=/u01/app/oracle/user_projects/applications OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Erweiterte Konfiguration Derby Datenbank deaktivieren: cd ${ORACLE_HOME}/wlserver/common/derby/lib/ mv derby.jar disable_derby.jar Tuning Fusion Middleware Control : MOS Note How to Enable Discovery Cache To Avoid Long Delay During Login To Fusion Middleware Control (Doc ID 1423893.1) EM > > System MBeanBrowser > emoms.properties >set Property ORACLE.SYSMAN.EMAS.DISCOVERY.WLS.FMW_DISCOVERY_USE_CACHED_RESULTS=TRUE ORACLE.SYSMAN.EMAS.DISCOVERY.WLS.FMW_DISCOVERY_MAX_CACHE_AGE=7200000 ORACLE.SYSMAN.EMAS.DISCOVERY.WLS.FMW_DISCOVERY_MAX_WAIT_TIME=100007 OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
JVM Konfiguration: SetUserOverrides.sh $DOMAIN_HOME/bin/setUserOverrides.sh: #!/bin/bash echo "Setting from UserOverrides.sh" # global settinga (for all servers)s export JAVA_OPTIONS="$JAVA_OPTIONS -Dweblogic.MaxMessageSize=300000000" # customer settings for each server if [ "${SERVER_NAME}" = "AdminServer" ] then echo "Customizing USER_MEM_ARGS for SERVER_NAME ${SERVER_NAME}" export USER_MEM_ARGS="-Xms3g -Xmx3g" export JAVA_OPTIONS="$JAVA_OPTIONS -Djava.awt.headless=true" fi if [ "${SERVER_NAME}" = "soa_server1" -o "${SERVER_NAME}" = "soa_server2" -o "${SERVER_NAME}" = "soa_server3" ] then echo "Customizing USER_MEM_ARGS for SERVER_NAME ${SERVER_NAME}" export USER_MEM_ARGS="-Xms3g -Xmx3g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:NewSize=1g" export JAVA_OPTIONS="$JAVA_OPTIONS -Djava.awt.headless=true" fi echo "End setting from UserOverrides.sh" OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Persistence Stores Komponente Speicherung in der Datenbank Speicherung im Filesystem JMS (Java Message Service) JTA (Java Transaction API) OPSS (Oracle Platform Security Services) MDS (Metadata Service) SOA Metadaten (soa-infra) Service Tabelle Migration JTA / JMS: Whole Server Migration: beim Ausfall der MS wird automatisch auf einem anderen Host gestartet Service-level Migration: automatische Migration von Services zu einem anderen Cluster Mitglied (MS)
JVM Tuning Garbage Collection (Auszug aus dem Tuning Guide) Kapitel 4.3.6 Java HotSpot VM Heap Size Options: https://docs.oracle.com/middle ware/1221/wls/perfm.pdf Training - How to Tune G1 Garbage Collector (Doc ID 2103280.1) https://borysneselovskyi.word press.com/2016/07/24/howto-customize-java-virtualmachine-settings-in-oracleweblogic-server-12-on-oslinux-unix/
Coherence Konfiguratrion: 1 Coherence Cluster pro Domain Kommunikation: Tangosol Cluster Management Protocol (TCMP) Unicast/Multicats Infos und Notes: SOA 11g Health Check: Check for Coherence Protocol Conflict (Doc ID 1520616.1) https://coherencedownunder.wordpress.com/2016/05/04/coherence-12-2-1-cluster-discovery-made-easy/ http://www.oracle.com/technetwork/middleware/coherence/learnmore/oracle-coherence-12c-deployment- 3049521.pdf Konfiguration der reinen Unicast-Kommunikation (WKAs): https://docs.oracle.com/middleware/12213/coherence/develop-applications/setting-cluster.htm#guid- EC077736-7187-4186-9E95-38D6107A8294 Troubleshooting Notes: How To Verify that Multicast Communication Works Correctly Between Machines the Coherence Cluster Members Are Running On (Doc ID 1936452.1) How To Verify That Peer-To-Peer UDP Communication Does Work Well Between Machines Coherence Cluster Members Are Supposed To Be Running On (Doc ID 1936575.1) How To Verify That the IPMonitor Feature Works Correctly Between the Machines Coherence Cluster Members Are Running On (Doc ID 1936105.1) General Coherence Network Troubleshooting And Configuration Advice (Doc ID 1389045.1) OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Coherence: Unicast Konfigurationsbeispiel SOA_SERVER1: IP - 11.1.1.1 SOA_SERVER2: IP - 11.1.1.2 SOA_SERVER3: IP - 11.1.1.3 SetUserOverrides.sh: soa_server1) JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localhost=11.1.1.1" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.wka1=11.1.1.1 - Dtangosol.coherence.wka2=11.1.1.2 -Dtangosol.coherence.wka3=11.1.1.3" soa_server2) JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport=8090" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport.adjust=true" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localhost=11.1.1.2" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.wka1=11.1.1.1 - Dtangosol.coherence.wka2=11.1.1.2 -Dtangosol.coherence.wka3=11.1.1.3" soa_server3) JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport=8090" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport.adjust=true" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localhost=11.1.1.3" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.wka1=11.1.1.1 - Dtangosol.coherence.wka2=11.1.1.2 -Dtangosol.coherence.wka3=11.1.1.3" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport=8090" JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport.adjust=true" OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Monitoring 3 Seite 27
Monitoring Tools: Check_MK und Jolokia: Skript-basierte Lösung für Logfile Überwachung Introscope: Logfile Überwachung und SOA Überwachung Dynatrace: Logfile Überwachung Flopstar: SOA Überwachung Cloud Control Metriken für WebLogic Cloud Control und SOA Überwachung: SOA Plug-In BTM: wird dessuported OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Monitoring: Check_MK Check_MK und Jolokia: Plug-In: Java (Tomcat, Weblogic, JBoss, etc.) Metriken: BEA Weblogic: Length of queue BEA Weblogic: Number of JVM sessions BEA Weblogic: Number of JVM threads BEA Weblogic: Requests to JVM instances BEA Weblogic: Requests to JVM sessions JVM ehcache statistics: cache usage JVM ehcache statistics: cache writer JVM ehcache statistics: in-memory cache usage JVM ehcache statistics: off-heap cache usage JVM ehcache statistics: on-disk cache usage Metriken: Java virtual machine garbage collection Memory usage of a JVM Number of JVM sessions Number of JVM threads Number of Requests Perm Space usage of a JVM Signatures of JAR files State of JVM applications Type and version of Java application servers Uptime of JVM Vortrag: Überwachung von Middleware mittels Check_MK https://www.doag.org/formes/servlet/docnavi?a ction=getfile&did=7356999&key= OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Monitoring: Cloud Control: sinnvolle Metriken 1 OPITZ CONSULTING 2017
Monitoring: Cloud Control: sinnvolle Metriken 2 OPITZ CONSULTING 2017
Monitoring: Cloud Control: sinnvolle Metriken 3 OPITZ CONSULTING 2017
SOA Monitoring: Logs und Mbeans OHS Logs Pfad: $DOMAIN_HOME/servers/<component name>/logs Dateien: access.log/error.log SOA Suite: WLDF: Oracle WebLogic Server Mbeans JVM: weblogic.management.runtime.jvmruntimembean Server Status: weblogic.management.runtime.serverruntimembean JDBC: weblogic.management.runtime.jdbcdatasourceruntimembean Diagnostic Oracle SOA Suite MBeans Deployment: oracle.fabric.management.wldf.mbean.deploymentwatchmxbeanimpl Logs: $DOMAIN_HOME/servers/<servername>/logs
Administration 4 Seite 34
Patching Notes: Master Note on WebLogic Server Patch Set Updates (PSUs) (Doc ID 1470197.1) SOA 11g and 12c: Bundle Patch Reference (Doc ID 1485949.1) Service Bus 11g and 12c: Bundle Patch Reference (Doc ID 1499170.1) Strategie: Patch zuerst in der Testumgebung ausprobieren Testen testen testen Probleme beseitigen Installation in der Produktionsumgebung OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Start - Stop Automatisches Starten Stoppen konfigurieren: rebootfest Reihenfolge von Komponenten beim Starten / Stoppen beachten Ablauf: Start: NodeManager AdminServer SOA Managed Server(s) Stop: SOA Managed Server(s) AdminServer NodeManager Webserver und Loadbalancer betrachten Realisierung: Python (WLST) / Shell Skripte NodeManager Start/Stop: Als Dienst konfigurieren Beispiel Skript: #!/bin/bash ## fmw_nodemanager.sh DOMAIN_HOME=/opt/oracle/user_projects/domains/base_domain WORK_DIR=/home/oracle/scripts export DOMAIN_HOME WORK_DIR case "$1" in esac start) nohup ${DOMAIN_HOME}/bin/startNodeManager.sh ;; stop) ${DOMAIN_HOME}/bin/stopNodeManager.sh ;; *) echo "usage: $0 [start stop] exit 2 ;; OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Start - Stop WLST Beispiele: Mit dem NodeManager verbinden: nmconnect(userconfigfile='<pfad zum File>/userConfigFile',userKeyFile='<Pfad zum File>/userKeyFile',host= xxx',port='5556',domainname='soa_domain',do maindir='/u01/domains/soa_domain ) Start/Stop OHS Server: nmstart(servername='ohs1', servertype='ohs ) nmkill(servername='ohs1', servertype='ohs') Start/Stop AdminServer: Start/Stop Managed Server: nmstart( soa_server1') nmkill( soa_server1') Beispiele im Netz: https://jan-peter.me/oracle-wlstsammlung/programm-sammlung-wlst/startund-stop-skript nmstart('adminserver') nmkill( AdminServer ) OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Purging Purging Strategie: SQL Skripte DBMS_SCHEFULER Jobs Anpassung: Parallelität Wie lange sollen Daten aufbewahrt werden Wie häufig soll der Job laufen Tuning auf der DB Ebene Bugs Master Tabellen: SCA_FLOW_INSTANCE CUBE_INSTANCE Daten Wachstum überwachen - Componenten: SQL> CREATE TABLE SOA_FABRIC_HIST (SFH_DATE TIMESTAMP, SFH_COUNT NUMBER); SQL> INSERT INTO SOA_FABRIC_HIST SELECT SYSTIMESTAMP, COUNT(*) FROM SCA_FLOW_INSTANCE GROUP BY SYSTIMESTAMP; SQL> CREATE TABLE SOA_BPEL_HIST (SBH_DATE TIMESTAMP, SBH_COUNT NUMBER); SQL> INSERT INTO SOA_BPEL_HIST SELECT SYSTIMESTAMP, COUNT(*) FROM CUBE_INSTANCE GROUP BY SYSTIMESTAMP; SOA Schema Wachstum: SQL> CREATE TABLE SOA_SIZE_SCHEMA_HIST (SSCH_DATE TIMESTAMP, SSCH_SUM_MB NUMBER); SQL> INSERT INTO SOA_SIZE_SCHEMA_HIST SELECT SYSTIMESTAMP, SUM(BYTES)/1024/1024 FROM DBA_SEGMENTS WHERE OWNER='<SOA_OWNER>' GROUP BY SYSTIMESTAMP;
Purging OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht
Purging Verwaltung von fachlichen Daten: Eigene Datenbank EE + Partitioning Datenverwaltung auf der Partitionsebene Dokumentation: SOA Administration Guide: https://docs.oracle.com/middleware/12213/soasuite/administer/soaag.pdf How to run Serial Purge manually and outline of default values (Doc ID 2215059.1) How to Interpret Serial Purge Debug Output (Doc ID 2171891.1) How to run Parallel Purge manually with outline of default values. (Doc ID 2214284.1) How to Interpret Parallel Purge Debug Output (Doc ID 2214333.1) Relationship of Auto-Purge to Parallel/Single Loop Purge Procedure (Doc ID 2209979.1) Relationship of EM purge (per flow id) to PL/SQL purge procedure (Doc ID 2213788.1)
Tuning und Troubleshooting 5 Seite 41
SOA Tuning und Troubleshooting Konfiguration Callback URL für den Webserver: https://borysneselovskyi.wordpress.com/2015/11/03/configuring-frontenhost-in-weblogic-and-soasuite/ Data Source Konfiguration: Connection Pool Einstellungen (Default: 50) XA Transaction Timeout (Default: 0) SOA Composites mit viel Last: JTA Timeout vergrössern (Default: 30 Sekunden) Große Anzahl (z.b. 200000) von Benachrichtigungen werden gesendet: JTA Timeout erhöhen: min. 1200 Sekunden EJB Timeouterhöhen: min. 1800 Sekundne Datenquelle XA Transaction Timeout erhöhen: min. 1330 Datenbankparameter: distributed_lock_timeout: 1440
SOA Tuning und Troubleshooting Langlaufende synchrone Anfragen zu externen Webservices: JTA Timeout vergrössern (Default: 30 Sekunden) Broken Pipe Fehler: Erhöhen HTTP POST Timeout java.net.socketexception: Broken pipe at java.net.socketoutputstream.socketwrite0(native Method) at java.net.socketoutputstream.socketwrite(socketoutputstream.java:113) Dokumentation und MOS Notes: SOA 11g and SOA 12c: How to configure transaction timeouts for BPEL (Doc ID 880313.1) Configuring Transaction Timeouts in BPM and SOA (Doc ID 2002067.1) STUCK Threads With The OSB Service Because It Is Not Taking The Database Timeout (Doc ID 2291297.1) Tuning Guide: https://docs.oracle.com/middleware/12213/lcm/asper/asper.pdf
Datenbank Tuning Statistiken verwalten: Für SOA Tabellen: automatisches Sammeln deaktivieren Performance prüfen: AWR Reports Statspack Tuning von Datenbank Parameter Falls notwendig: Anlegen von Indexes
Fazit Gute Planung: Grundlage für reibungslosen Betrieb Viel Aufwand bei der Installation, Konfiguration und Tuning Vor dem Rollout: testen testen testen Lasttests sind notwendig! Wenn alles richtig eingestellt und konfiguriert: Stabil im Betrieb
Fragen Seite 46
überraschend mehr Möglichkeiten! Kontaktdaten Borys Neselovskyi Solution Architect OPITZ CONSULTING Deutschland GmbH Lazarettstr. 15, 45127 Essen, Germany Phone: +49 173 7279029 Mail: borys.neselovskyi@opitz-consulting.com @bneselov https://borysneselovskyi.wordpress.com WWW.OPITZ-CONSULTING.COM @OC_WIRE OPITZCONSULTING opitzconsulting OPITZ CONSULTING 2017 SOA Suite 12c aus der Infrastruktur-Sicht