soa suite 12c aus der infrastruktur-sicht · high availability managed server in cluster...
TRANSCRIPT
© OPITZ CONSULTING 2017
überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2017
DOAG Konferenz
Borys Neselovskyi | November 2017
SOA Suite 12c aus der
Infrastruktur-Sicht
© OPITZ CONSULTING 2017 Seite 2
überzählige blaue Zahlenboxen löschen!
Agenda
1
2
3
4
SOA Architektur und Planung
Installation und Konfiguration
Monitoring
Administration
SOA Suite 12c aus der Infrastruktur-Sicht
Tuning und Troubleshooting5
© OPITZ CONSULTING 2017 Seite 3
SOA Architektur und Planung
Architektur
Hochverfügbarkeit
Security
Anforderungen
Shared Storage
1
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
SOA Suite Komponenten
AdminServer – Zentrale Konfigurations-
instanz
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/
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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.
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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 soa-
connectors auf Shared-Storage und
kopieren der .rar Files
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
Info: 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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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))))
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017 Seite 12
Installation und Konfiguration
2
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
Quelle:
https://docs.oracle.com/middleware/12213/soasuite/administer/SOAAG.pdf
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
Konfiguration: Erstellen SOA Domäne
SOA Suite 12c aus der Infrastruktur-Sicht
Domain Template Referenz: https://docs.oracle.com/middleware/12213/lcm/WLDTR/WLDTR.pdf
© OPITZ CONSULTING 2017
möglich
Cluster Konfiguration
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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"
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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)
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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/how-
to-customize-java-virtual-
machine-settings-in-oracle-
weblogic-server-12-on-os-
linux-unix/
© OPITZ CONSULTING 2017
möglich
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)
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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"
JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport=8090"
JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport.adjust=true"
soa_server2)
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"
JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport=8090"
JAVA_OPTIONS="$JAVA_OPTIONS -Dtangosol.coherence.localport.adjust=true"
soa_server3)
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"
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017 Seite 27
Monitoring
3
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
Monitoring
Tools: 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
Check_MK und Jolokia:
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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=
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
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
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017 Seite 34
Administration
4
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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
SOA Suite 12c aus der Infrastruktur-Sicht
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
start) nohup ${DOMAIN_HOME}/bin/startNodeManager.sh ;;
stop) ${DOMAIN_HOME}/bin/stopNodeManager.sh ;;
*) echo "usage: $0 [start|stop]„
exit 2 ;;
esac
© OPITZ CONSULTING 2017
möglich
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:
nmStart('AdminServer')
nmKill(‘AdminServer’)
SOA Suite 12c aus der Infrastruktur-Sicht
Start/Stop Managed Server:
nmStart(‘soa_server1')
nmKill(‘soa_server1')
Beispiele im Netz:
https://jan-peter.me/oracle-wlst-
sammlung/programm-sammlung-wlst/start-
und-stop-skript
© OPITZ CONSULTING 2017
möglich
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;
© OPITZ CONSULTING 2017
möglich
Purging
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
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)
© OPITZ CONSULTING 2017 Seite 41
Tuning und Troubleshooting
5
SOA Suite 12c aus der Infrastruktur-Sicht
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
SOA Tuning und Troubleshooting
Konfiguration Callback URL für den Webserver:
https://borysneselovskyi.wordpress.com/2015/11/03/configuring-frontenhost-in-weblogic-and-soa-
suite/
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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
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
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017
möglich
SOA Suite 12c aus der Infrastruktur-Sicht
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
© OPITZ CONSULTING 2017 Seite 46SOA Suite 12c aus der Infrastruktur-Sicht
Fragen
© OPITZ CONSULTING 2017
überraschend mehr Möglichkeiten!
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
SOA Suite 12c aus der Infrastruktur-Sicht
Kontaktdaten
Borys Neselovskyi
Solution Architect
OPITZ CONSULTING Deutschland GmbHLazarettstr. 15, 45127 Essen, Germany
Phone: +49 173 7279029Mail: [email protected]
@bneselov
https://borysneselovskyi.wordpress.com