SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
APEX 5.1 - Architektur,
Installation & Betrieb
Niels de Bruijn
Ratingen, 18.01.2018
Facts & Figures
Technologie-orientiert
Branchen-unabhängig
Hauptsitz
Ratingen
260
Beschäftigte
Gründung
1994
Niederlassungen in
Frankfurt & Köln
Ausbildungs-
betrieb
Inhabergeführt
Oracle
Platinum
Partner
28 Mio. Euro
Umsatz
2
3
Über mich
§ Niels de Bruijn, Fachbereichsleiter APEX
§ Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen
§ seit 12.2003 bei der MT AG in Ratingen
§ zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt
§ Beschäftigt sich seit 2004 mit APEX
§ Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten
§ https://apex.mt-ag.com
§ Themenverantwortlicher für APEX bei der DOAG & Organisator von APEX Connect
§ Hält Vorträge u.A. auf der DOAG Konferenz, APEX World, DOAG APEX Connect & ODTUG
Kscope
§ Architektur
§ Installation
§ Ablauf bei einer HTTP Request/Response mit ORDS
§ Betrieb
4
Agenda
§ Architektur
§ Installation
§ Ablauf bei einer HTTP Request/Response mit ORDS
§ Betrieb
5
Agenda
6
Architektur
Browser
Optional:
Apache (Linux)
oder
IIS (Windows)
Oracle REST Data
Services 17.4
auf
Tomcat, Weblogic
oder standalone
Oracle RDBMS
(ab 11.2.0.4.0 oder XE11gR2)
mit
APEX 5.1.x
JDBC Connection Pool
(UCP)
Linux / Windows
HTTPS AJP
Admin-Zugriff
Admin-Zugriff
EPG
7
§ Apache/IIS als Reverse Proxy empfehlenswert
§ SSO einfacher zu implementieren
§ Wartungsarbeiten Tomcat führen nicht zu 404
§ Features wie Caching/Kompression/Limits sind erprobt
§ Auslagerung auf einem anderen Server möglich
§ IIS/Apache unten? Die APEX-Umgebung ist weiterhin für den Admin erreichbar
§ ORDS kann mehrere Datenbanken bedienen (z.B. Entw/Test/Patch)
§ java -jar ords.war setup --database pdb2apex
§ java -jar ords.war map-url --type base-path /pdb2apex pdb2apex
§ Die Session & Last einer APEX App liegt in der Datenbank (ORDS dient als Proxy)
§ Embedded PL/SQL Gateway (EPG) kann parallel mit ORDS betrieben werden
§ Unterstützung für RAC/Data Guard gegeben
§ Connection Pool proaktiv mit verbleibenden Knoten neu aufbauen
https://docs.oracle.com/cd/E56351_01/doc.30/e87809/configuring-REST-data-
services.htm#AELIG-GUID-18B9ED9F-23EE-4608-AD9F-7CCC05187CE4
Architektur - Anmerkungen
§ Architektur
§ Installation
§ Ablauf bei einer HTTP Request/Response mit ORDS
§ Betrieb
8
Agenda
9
Installation für den Betrieb mit ORDS (zusammengefasst)
Dokumentation:
https://docs.oracle.com/database/apex-5.1 & https://docs.oracle.com/database/ords-17
Voraussetzungen APEX:
§ Oracle 11.2.0.4.0 oder höher (inkl. XE)
§ MEMORY_TARGET zumindest 300MB
§ Browser: Edge, Safari, Firefox, Chrome oder IE (ab 11)
§ Speicherplatz:
§ 630 MB für die Software im Filesystem
§ APEX Tablespace: 220 MB
§ SYSTEM Tablespace: 100 MB
§ Zusätzliche APEX Sprachen: 60 MB / Sprache
§ Es wird empfohlen APEX in einer PDB zu installieren und nicht in der CDB
10
Installation für den Betrieb mit ORDS (zusammengefasst)
§ APEX als sys in der Datenbank installieren:
@apexins.sql apex apex_files temp /i/ (Tablespaces zuvor anlegen)
§ Passwort für den APEX Administrator setzen (Workspace INTERNAL):
@apxchpwd.sql
§ Schema für ORDS freischalten:
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY xxx;
Achtung: Umgang mit automatisch abgelaufenen Passwörtern klären! (PASSWORD_LIFE_TIME im DB Profil)
11
Installation für den Betrieb mit ORDS (zusammengefasst)
§ Schemata apex_listener und apex_rest_public_user anlegen:
@apex_rest_config.sql
Primär notwendig um Dateien zu laden, die durch den Entwickler in der Anwendung hinterlegt wurden
§ Inhalte vom Ordner images mit den APEX Abbildungen, CSS & JS Dateien in den Ordner
/<mytomcat>/webapps/i kopieren
§ ORDS konfigurieren: java –jar ords.war install advanced
§ ORDS auf Tomcat deployen: ords.war in den Ordner /<mytomcat>/webapps kopieren
§ /<my_ords_config>/defaults.xml anpassen, Tomcat neu starten und fertig!
<entry key="jdbc.InitialLimit">30</entry>
<entry key="jdbc.MinLimit">30</entry>
<entry key="jdbc.MaxLimit">60</entry>
12
Installation - Anmerkungen
§ Das Produkt samt Anwendungsdefinitionen liegt im Schema apex_050100
§ 5.1.x Patchsets werden in diesem Schema installiert (Backup!)
§ Hauptreleases wie 5.2 (oder 18.1?) werden in einem neuen Schema installiert und bei der Installation
werden die bestehenden Anwendungen migriert
§ Die Daten liegen im separaten Schema (oder außerhalb der Datenbank)
§ Der Zugriff erfolgt über das Schema apex_public_user (ORDS) oder anonymous (EPG)
§ Verhältnis APEX Instanz : Workspaces : Schemata = 1 : N : N (immer „Cloud Ready“)
apex_public_user (ORDS)
oder
anonymous (EPG) flows_files
apex_050100 mein_schema
(daten)
optional:
mein_schema
(APEX views)
Client
13
Installation - Anmerkungen
APEX: was ist eigentlich drin? (Stand 01.2018)
§ ~ 2000 APEX Seiten
§ ~ 2.950 Datenbankobjekte
§ ~ 450 Tabellen
§ 4 Jobs
§ APEX + 35 Packaged Apps
§ Auswertung über 150 Repository Views (z.B. apex_applications)
§ APEX kann in der Produktion auch ohne Oberfläche installiert werden
§ APEX selbst verursacht keine nennenswerte Auslastung
§ Wenn es ein Problem mit der Auslastung gibt
§ dann liegt dies meist am Datenmodell oder am PL/SQL Code (also am Entwickler :)
§ Aktuell ist eine APEX Installation pro Datenbankinstanz möglich
§ Installation immer in der PDB vornehmen!
§ Session_User ist im Standard apex_public_user, aber falls erwunscht kann es auch den
Workspace Schema werden:
14
Installation - Anmerkungen
§ Architektur
§ Installation
§ Ablauf bei einer HTTP Request/Response mit ORDS
§ Betrieb
15
Agenda
16
Ablauf bei einer HTTP Request/Response mit ORDS
1. Im Browser erfolgt eine Abfrage: https://apex.mt-ag.com/ords/f?p=100:1
> ords : bestimmt die Datenbank
> f : öffentliche PL/SQL Prozedur im Schema apex_050100
> p : PL/SQL Input Parameter
> 100:1 : varchar2 String mit Anwendungs ID und Seiten ID
2. IIS/Apache leitet die Anfrage 1:1 weiter an ORDS
3. ORDS findet an der URL heraus an welcher Datenbank die Abfrage gehen soll
4. Eine bestehende Verbindung mit der Datenbank wird wieder verwendet (Schema apex_public_user)
> apex_public_user hat nur das CREATE SESSION Recht
5. Die öffentliche Prozedur apex_050100.f wird ausgeführt. Die Seite wird anhand von den Metadaten aufgebaut
und an den Browser mittels sys.htp.prn zurück gegeben
> Die Anwendungsdaten liegen im APEX Workspace Schema und werden unter dessen Berechtigung mittels dbms_sys_sql abgefragt
§ Architektur
§ Installation
§ Ablauf bei einer HTTP Request/Response mit ORDS
§ Betrieb
17
Agenda
APEX App ID
Was muss ein DBA zusätzlich zum Betrieb wissen wenn APEX installiert ist?
§ Workspaces administrieren (Anmeldung über Workspace internal)
§ Einstellungen im Workspace internal überprüfen
§ v$session auswerten:
18
Betrieb
APEX Seiten ID
APEX Benutzer
APEX Session ID
APEX Workspace ID
§ Schlecht laufende SQL Statements identifizieren
§ https://carlos-sierra.net/2014/09/04/how-to-identify-sql-performing-poorly-on-an-apex-
application
§ oder &p_trace=YES an der URL hängen (muss im INTERNAL Workspace erlaubt sein)
§ APEX Applikationen für SVN/Git per Skript exportieren:
19
Betrieb
§ Monitoring von Entwickler/Endanwender Aktivitäten:
select count (*)
, avg(elap)
, userid
from apex_activity_log
where time_stamp > (sysdate-1)
and flow_id = 9529 – APEX App ID
group by userid
20
Betrieb
@nielsdb
http://de.linkedin.com/in/nielsdebruijn
www.xing.com/profile/Niels_deBruijn
http://blog.mt-ag.com/apex

Weitere ähnliche Inhalte

Was ist angesagt?

Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenNiels de Bruijn
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoOliver Lemm
 
Jetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXJetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXOliver Lemm
 
Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEXMT AG
 
Komplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetKomplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetOliver Lemm
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 
Wieder verschätzt?
Wieder verschätzt?Wieder verschätzt?
Wieder verschätzt?Oliver Lemm
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichOliver Lemm
 
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.de
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.deSAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.de
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.deMario Möllenbeck
 

Was ist angesagt? (11)

Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfen
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
 
Enterprise APEX
Enterprise APEXEnterprise APEX
Enterprise APEX
 
Jetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXJetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEX
 
Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEX
 
Komplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetKomplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitet
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
Wieder verschätzt?
Wieder verschätzt?Wieder verschätzt?
Wieder verschätzt?
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne Dich
 
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.de
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.deSAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.de
SAP NetWeaver Process Integration (in10 Minuten) www.Sapyourself.de
 

Ähnlich wie APEX 5.1 - Architektur, Installation & Betrieb

Apex on the Rocks - Hochverfügbarkeit
Apex on the Rocks - HochverfügbarkeitApex on the Rocks - Hochverfügbarkeit
Apex on the Rocks - HochverfügbarkeitStefan Witwicki
 
Rollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenRollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenOliver Lemm
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017oraclebudb
 
Cloud Lösungen für Apex
Cloud Lösungen für ApexCloud Lösungen für Apex
Cloud Lösungen für ApexStefan Witwicki
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für EntwicklerCarsten Czarski
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickleroraclebudb
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenMT AG
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsChristian Gohmann
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfOliver Lemm
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Trivadis
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudTrivadis
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG
 
Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGateIleana Somesan
 

Ähnlich wie APEX 5.1 - Architektur, Installation & Betrieb (20)

Apex on the Rocks - Hochverfügbarkeit
Apex on the Rocks - HochverfügbarkeitApex on the Rocks - Hochverfügbarkeit
Apex on the Rocks - Hochverfügbarkeit
 
Rollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenRollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX Anwendungen
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
Cloud Lösungen für Apex
Cloud Lösungen für ApexCloud Lösungen für Apex
Cloud Lösungen für Apex
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Echtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisierenEchtes Single Sign-On mit APEX realisieren
Echtes Single Sign-On mit APEX realisieren
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdf
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum Apex
 
SOA Suite 12c aus der Infrastruktur-Sicht
SOA Suite 12c aus der Infrastruktur-SichtSOA Suite 12c aus der Infrastruktur-Sicht
SOA Suite 12c aus der Infrastruktur-Sicht
 
Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGate
 

Mehr von Niels de Bruijn

Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaosNiels de Bruijn
 
Affordable Workflow Options for APEX
Affordable Workflow Options for APEXAffordable Workflow Options for APEX
Affordable Workflow Options for APEXNiels de Bruijn
 
Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Niels de Bruijn
 
The_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPThe_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPNiels de Bruijn
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Niels de Bruijn
 
MT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleMT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleNiels de Bruijn
 
MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2Niels de Bruijn
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.Niels de Bruijn
 

Mehr von Niels de Bruijn (12)

APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
Flows for APEX
Flows for APEXFlows for APEX
Flows for APEX
 
Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaos
 
Affordable Workflow Options for APEX
Affordable Workflow Options for APEXAffordable Workflow Options for APEX
Affordable Workflow Options for APEX
 
Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)
 
The_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPThe_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAP
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
 
MT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleMT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid Simple
 
MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
 
MT AG APEX goes Mobile
MT AG APEX goes MobileMT AG APEX goes Mobile
MT AG APEX goes Mobile
 

APEX 5.1 - Architektur, Installation & Betrieb

  • 1. APEX 5.1 - Architektur, Installation & Betrieb Niels de Bruijn Ratingen, 18.01.2018
  • 2. Facts & Figures Technologie-orientiert Branchen-unabhängig Hauptsitz Ratingen 260 Beschäftigte Gründung 1994 Niederlassungen in Frankfurt & Köln Ausbildungs- betrieb Inhabergeführt Oracle Platinum Partner 28 Mio. Euro Umsatz 2
  • 3. 3 Über mich § Niels de Bruijn, Fachbereichsleiter APEX § Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen § seit 12.2003 bei der MT AG in Ratingen § zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt § Beschäftigt sich seit 2004 mit APEX § Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten § https://apex.mt-ag.com § Themenverantwortlicher für APEX bei der DOAG & Organisator von APEX Connect § Hält Vorträge u.A. auf der DOAG Konferenz, APEX World, DOAG APEX Connect & ODTUG Kscope
  • 4. § Architektur § Installation § Ablauf bei einer HTTP Request/Response mit ORDS § Betrieb 4 Agenda
  • 5. § Architektur § Installation § Ablauf bei einer HTTP Request/Response mit ORDS § Betrieb 5 Agenda
  • 6. 6 Architektur Browser Optional: Apache (Linux) oder IIS (Windows) Oracle REST Data Services 17.4 auf Tomcat, Weblogic oder standalone Oracle RDBMS (ab 11.2.0.4.0 oder XE11gR2) mit APEX 5.1.x JDBC Connection Pool (UCP) Linux / Windows HTTPS AJP Admin-Zugriff Admin-Zugriff EPG
  • 7. 7 § Apache/IIS als Reverse Proxy empfehlenswert § SSO einfacher zu implementieren § Wartungsarbeiten Tomcat führen nicht zu 404 § Features wie Caching/Kompression/Limits sind erprobt § Auslagerung auf einem anderen Server möglich § IIS/Apache unten? Die APEX-Umgebung ist weiterhin für den Admin erreichbar § ORDS kann mehrere Datenbanken bedienen (z.B. Entw/Test/Patch) § java -jar ords.war setup --database pdb2apex § java -jar ords.war map-url --type base-path /pdb2apex pdb2apex § Die Session & Last einer APEX App liegt in der Datenbank (ORDS dient als Proxy) § Embedded PL/SQL Gateway (EPG) kann parallel mit ORDS betrieben werden § Unterstützung für RAC/Data Guard gegeben § Connection Pool proaktiv mit verbleibenden Knoten neu aufbauen https://docs.oracle.com/cd/E56351_01/doc.30/e87809/configuring-REST-data- services.htm#AELIG-GUID-18B9ED9F-23EE-4608-AD9F-7CCC05187CE4 Architektur - Anmerkungen
  • 8. § Architektur § Installation § Ablauf bei einer HTTP Request/Response mit ORDS § Betrieb 8 Agenda
  • 9. 9 Installation für den Betrieb mit ORDS (zusammengefasst) Dokumentation: https://docs.oracle.com/database/apex-5.1 & https://docs.oracle.com/database/ords-17 Voraussetzungen APEX: § Oracle 11.2.0.4.0 oder höher (inkl. XE) § MEMORY_TARGET zumindest 300MB § Browser: Edge, Safari, Firefox, Chrome oder IE (ab 11) § Speicherplatz: § 630 MB für die Software im Filesystem § APEX Tablespace: 220 MB § SYSTEM Tablespace: 100 MB § Zusätzliche APEX Sprachen: 60 MB / Sprache § Es wird empfohlen APEX in einer PDB zu installieren und nicht in der CDB
  • 10. 10 Installation für den Betrieb mit ORDS (zusammengefasst) § APEX als sys in der Datenbank installieren: @apexins.sql apex apex_files temp /i/ (Tablespaces zuvor anlegen) § Passwort für den APEX Administrator setzen (Workspace INTERNAL): @apxchpwd.sql § Schema für ORDS freischalten: ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; ALTER USER APEX_PUBLIC_USER IDENTIFIED BY xxx; Achtung: Umgang mit automatisch abgelaufenen Passwörtern klären! (PASSWORD_LIFE_TIME im DB Profil)
  • 11. 11 Installation für den Betrieb mit ORDS (zusammengefasst) § Schemata apex_listener und apex_rest_public_user anlegen: @apex_rest_config.sql Primär notwendig um Dateien zu laden, die durch den Entwickler in der Anwendung hinterlegt wurden § Inhalte vom Ordner images mit den APEX Abbildungen, CSS & JS Dateien in den Ordner /<mytomcat>/webapps/i kopieren § ORDS konfigurieren: java –jar ords.war install advanced § ORDS auf Tomcat deployen: ords.war in den Ordner /<mytomcat>/webapps kopieren § /<my_ords_config>/defaults.xml anpassen, Tomcat neu starten und fertig! <entry key="jdbc.InitialLimit">30</entry> <entry key="jdbc.MinLimit">30</entry> <entry key="jdbc.MaxLimit">60</entry>
  • 12. 12 Installation - Anmerkungen § Das Produkt samt Anwendungsdefinitionen liegt im Schema apex_050100 § 5.1.x Patchsets werden in diesem Schema installiert (Backup!) § Hauptreleases wie 5.2 (oder 18.1?) werden in einem neuen Schema installiert und bei der Installation werden die bestehenden Anwendungen migriert § Die Daten liegen im separaten Schema (oder außerhalb der Datenbank) § Der Zugriff erfolgt über das Schema apex_public_user (ORDS) oder anonymous (EPG) § Verhältnis APEX Instanz : Workspaces : Schemata = 1 : N : N (immer „Cloud Ready“) apex_public_user (ORDS) oder anonymous (EPG) flows_files apex_050100 mein_schema (daten) optional: mein_schema (APEX views) Client
  • 13. 13 Installation - Anmerkungen APEX: was ist eigentlich drin? (Stand 01.2018) § ~ 2000 APEX Seiten § ~ 2.950 Datenbankobjekte § ~ 450 Tabellen § 4 Jobs § APEX + 35 Packaged Apps § Auswertung über 150 Repository Views (z.B. apex_applications)
  • 14. § APEX kann in der Produktion auch ohne Oberfläche installiert werden § APEX selbst verursacht keine nennenswerte Auslastung § Wenn es ein Problem mit der Auslastung gibt § dann liegt dies meist am Datenmodell oder am PL/SQL Code (also am Entwickler :) § Aktuell ist eine APEX Installation pro Datenbankinstanz möglich § Installation immer in der PDB vornehmen! § Session_User ist im Standard apex_public_user, aber falls erwunscht kann es auch den Workspace Schema werden: 14 Installation - Anmerkungen
  • 15. § Architektur § Installation § Ablauf bei einer HTTP Request/Response mit ORDS § Betrieb 15 Agenda
  • 16. 16 Ablauf bei einer HTTP Request/Response mit ORDS 1. Im Browser erfolgt eine Abfrage: https://apex.mt-ag.com/ords/f?p=100:1 > ords : bestimmt die Datenbank > f : öffentliche PL/SQL Prozedur im Schema apex_050100 > p : PL/SQL Input Parameter > 100:1 : varchar2 String mit Anwendungs ID und Seiten ID 2. IIS/Apache leitet die Anfrage 1:1 weiter an ORDS 3. ORDS findet an der URL heraus an welcher Datenbank die Abfrage gehen soll 4. Eine bestehende Verbindung mit der Datenbank wird wieder verwendet (Schema apex_public_user) > apex_public_user hat nur das CREATE SESSION Recht 5. Die öffentliche Prozedur apex_050100.f wird ausgeführt. Die Seite wird anhand von den Metadaten aufgebaut und an den Browser mittels sys.htp.prn zurück gegeben > Die Anwendungsdaten liegen im APEX Workspace Schema und werden unter dessen Berechtigung mittels dbms_sys_sql abgefragt
  • 17. § Architektur § Installation § Ablauf bei einer HTTP Request/Response mit ORDS § Betrieb 17 Agenda
  • 18. APEX App ID Was muss ein DBA zusätzlich zum Betrieb wissen wenn APEX installiert ist? § Workspaces administrieren (Anmeldung über Workspace internal) § Einstellungen im Workspace internal überprüfen § v$session auswerten: 18 Betrieb APEX Seiten ID APEX Benutzer APEX Session ID APEX Workspace ID
  • 19. § Schlecht laufende SQL Statements identifizieren § https://carlos-sierra.net/2014/09/04/how-to-identify-sql-performing-poorly-on-an-apex- application § oder &p_trace=YES an der URL hängen (muss im INTERNAL Workspace erlaubt sein) § APEX Applikationen für SVN/Git per Skript exportieren: 19 Betrieb
  • 20. § Monitoring von Entwickler/Endanwender Aktivitäten: select count (*) , avg(elap) , userid from apex_activity_log where time_stamp > (sysdate-1) and flow_id = 9529 – APEX App ID group by userid 20 Betrieb