APEX
APEX Workshop fr
Workshop fr Einsteiger
Oracle
install
ORDS
entry key JDBC
DOAG Session+Workshop: APEX fr DBAs Niels de Bruijn & Carolin Hagemann DOAG Konferenz, 22.11.2018 Wer sind wir? Niels de Bruijn, Fachbereichsleiter APEX, MT AG Beschftigt sich seit 2004 mit APEX Themenverantwortlicher fr APEX bei der DOAG & Organisator von APEX Connect 20.11.2018 2 APEX Workshop fr Einsteiger Carolin Hagemann, Selbststndige IT- Consultant Beschftigt sich seit 2010 mit APEX Stellv. Organisatorin Regios Hamburg, Organisatorin APEX Meetups HH Agenda Einfhrung fr DBAs Was ist APEX? Architektur Installation Betrieb Handson Tutorial 4 Rapid Application Development Framework fr die Erstellung von individuellen datenzentrischen Webanwendungen 100% Oracle Datenbank, 100% Browser Oracle 11.2.0.4 und hher (inkl. Express Edition - XE) Kostenloses Feature der Oracle Datenbank Aktuelle Version ist 18.2 (zweite Version im Kalenderjahr 2018) Oracle Application Express, das #1 Low-Code Framework 20.11.2018 APEX Workshop fr Einsteiger 5 APEX: fr alle Entwicklertypen ansprechend 20.11.2018 APEX Workshop fr Einsteiger 6 Migration von Insellsungen z.B. MS Access/Excel Migration von Oracle Forms-Anwendungen Rapid Prototyping Berichtswesen Self-Service Formulare Extranet Apps Front-End fr SAP, Camunda, MuleSoft, etc. Anwendungsgebiete 20.11.2018 APEX Workshop fr Einsteiger 7 My first App Packaged Apps Family Tree: https://apex.mt-ag.com/apex/f?p=19874 Web Sources: https://apex.oracle.com/pls/apex/f?p=154270 DEMO 20.11.2018 APEX Workshop fr Einsteiger Agenda Einfhrung fr DBAs Was ist APEX? Architektur Installation Betrieb Handson Tutorial Architektur Browser Optional: Apache (Linux) oder IIS (Windows) Oracle REST Data Services 18.3 auf Tomcat Oracle RDBMS (ab 11.2.0.4.0 oder XE11gR2+) mit APEX 18.2 JDBC Connection Pool (UCP) Linux oder Windows HTTPS AJP Admin-Zugriff Architektur Apache/IIS als Reverse Proxy fr interne Zugriffe empfehlenswert SSO einfacher zu implementieren (siehe http://knowledgebase.mt-ag.com/q/kerberos) Wartungsarbeiten Tomcat fhren nicht zu 404 Features wie Caching/Kompression/Limits sind erprobt Auslagerung auf einem anderen Server mglich IIS/Apache unten? Die APEX-Umgebung ist weiterhin fr den Admin erreichbar HA mittels Docker & Kubernetes Externer Zugriff erlauben? Siehe http://knowledgebase.mt-ag.com/q/samlv2 Architektur 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 Konfiguration per Skript mglich Es geht auch automatisch: http://jastraub.blogspot.com/2018/11/multitenant-ords-with-local-apex-in- pdbs.html Die Session & Last einer APEX App liegt in der Datenbank (ORDS als Proxy) Embedded PL/SQL Gateway (EPG) kann parallel mit ORDS betrieben werden Untersttzung fr RAC/Data Guard gegeben Connection Pool proaktiv mit verbleibenden Knoten neu aufbauen https://docs.oracle.com/en/database/oracle/oracle-rest-data- services/18.3/aelig/configuring-REST-data-services.html#GUID-18B9ED9F-23EE-4608- AD9F-7CCC05187CE4 Agenda Einfhrung fr DBAs Was ist APEX? Architektur Installation Betrieb Handson Tutorial 13 Dokumentation: APEX - https://docs.oracle.com/database/apex-18.2 ORDS - https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.3/index.html Voraussetzungen APEX: Oracle 11.2.0.4.0 oder hher (inkl. XEs) MEMORY_TARGET zumindest 300MB Browser: Edge, Safari, Firefox, Chrome oder IE (ab 11) Zumindest 1 GB freier Speicherplatz Installation 20.11.2018 APEX Workshop fr Einsteiger 14 APEX als sys in der Datenbank installieren: @apexins.sql apex apex_files temp /i/ (Tablespaces zuvor anlegen!) Passwort fr den APEX Administrator setzen (Workspace INTERNAL): @apxchpwd.sql Schema fr ORDS freischalten: ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; ALTER USER APEX_PUBLIC_USER IDENTIFIED BY xxx; Achtung: Umgang mit automatisch abgelaufenen Passwrtern klren! (PASSWORD_LIFE_TIME im DB Profil) Installation 20.11.2018 APEX Workshop fr Einsteiger 15 Schemata apex_listener und apex_rest_public_user anlegen: @apex_rest_config.sql Primr 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 konfigurieren, Tomcat neu starten und fertig! <entry key="jdbc.InitialLimit">10</entry> <entry key="jdbc.MinLimit">10</entry> <entry key="jdbc.MaxLimit">50</entry> <entry key="jdbc.MaxConnectionReuseCount">50000</entry> Installation Achtung: gilt fr jeden Connection Pool! 20.11.2018 APEX Workshop fr Einsteiger 16 Das Produkt samt Anwendungsdefinitionen liegt im Schema apex_180200 Bundle Patchset oder One-off Patches werden in diesem Schema installiert (Backup!) Hauptreleases wie 19.1 werden in einem neuen Schema installiert und bei der Installation werden die bestehenden Anwendungen migriert (siehe Install Guide fr eine minimal downtime Variante) Die Daten liegen im separaten Schema (oder auerhalb der Datenbank) Der Zugriff erfolgt ber das Schema apex_public_user (ORDS) oder anonymous (EPG) Verhltnis APEX Instanz zu Workspaces zu Schemata = 1 : N : N (APEX = Cloud Ready") apex_public_user (ORDS) oder anonymous (EPG) flows_files apex_180200 Daten Workspace Schema Client Installation - Anmerkungen 20.11.2018 APEX Workshop fr Einsteiger 20.11.2018 17 APEX Workshop fr Einsteiger APEX wird als eigener Benutzer in die Datenbank installiert Besteht aus: 471 Tabellen 23 APEX Anwendungen 2.156 APEX Seiten 486.000 Zeilen PL/SQL Code 42.000 Zeilen JavaScript Code exkl. Open Source JS- Bibliotheken 58.000 Zeilen CSS Quelle: https://www.oracle.com/technetwork/developer- tools/apex/overview/apex-overview-otn- 4491378.pdf Installation - Anmerkungen 18 Installation - Anmerkungen APEX kann in der Produktion auch ohne Oberflche installiert warden APEX selbst verursacht keine nennenswerte Auslastung Problem meist im Datenmodell oder im PL/SQL Code Aktuell ist eine APEX Installation pro DB-Instanz mglich Empfohlen: APEX in der PDB installieren 20.11.2018 APEX Workshop fr Einsteiger Agenda Einfhrung fr DBAs Was ist APEX? Architektur Installation Betrieb Handson Tutorial APEX App ID Was muss ein DBA zustzlich zum Betrieb wissen wenn APEX installiert ist? Workspaces administrieren (Anmeldung ber Workspace internal) Einstellungen im Workspace internal berprfen v$session auswerten: 20 APEX Seiten ID APEX Benutzer APEX Session ID APEX Workspace ID Betrieb 20.11.2018 APEX Workshop fr Einsteiger 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 hngen (muss im INTERNAL Workspace erlaubt sein) APEX Applikationen fr SVN/Git per Skript exportieren: 21 Betrieb 20.11.2018 APEX Workshop fr Einsteiger Monitoring von Entwickler/Endanwender Aktivitten: select count (*) , avg(elap) , userid from apex_activity_log where time_stamp > (sysdate-1) and flow_id = 9529 -- meine APEX App ID group by userid Achtung: im Standard werden durch einen Job die Daten nach 14 Tagen gelscht. 22 Betrieb 20.11.2018 APEX Workshop fr Einsteiger Instanz-Einstellungen werden ber den Workspace INTERNAL vorgenommen 23 Betrieb 20.11.2018 APEX Workshop fr Einsteiger 24 Oracle APEX Shortcuts apex.oracle.com/shortcuts APEX World apex.world Knowledge Base knowledgebase.mt-ag.com Richtlinien / Best Practises github.com/doag Webinars www.ausoug.org.au/pages/APEXWebinarSeries www.youtube.com/playlist?list=PLdNW-4qOTC3QimGAWPdAKY5-bxzDnkDWU Twitter Hash Tag #orclapex Open Source oraopensource.com Podcasts apex.press/talkshow APEX BLOGs (RSS Feed) aggrssgator.com/rss/odtug/apex Snippets Denes Kubicek & Jari's Weitere Informationen fr APEX Entwickler 20.11.2018 APEX Workshop fr Einsteiger 25 20.11.2018 APEX Workshop fr Einsteiger 26 Workshop 1. Workspace auf apex.oracle.com beantragen 2. APEX Tutorial herunterladen: https://apex.mt-ag.com/mt_apex_portal/r/119/files/static/v4856/MTAG_APEX_18.2_Tutorial_v3.1.zip 20.11.2018 APEX Workshop fr Einsteiger