Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
20160307 apex on_the_rocks
1. APEX on the Rocks
Moritz Klein
07.03.2016 | APEX World
2. Facts & Figures
Independent Technology House
with Cross-Industry Expertise
Headquarter
Ratingen
(North Rhine – Westphalia)
240
Employees
Founded
1994
Branches
Dortmund, Cologne,
Frankfurt
Top Company
for Trainees &
Students
Privately-
Owned
Corporation
Oracle
Platinum
Partner
24 Mio. Euro
Revenue
2
3. 3
About me
§ Moritz Klein, Senior Consultant APEX
§ Born in 1980, married, living in Bingen am Rhein
§ Working for MT AG since Nov-2015
§ After 6 years as Data Warehouse Specialist at Ericsson Telekommunikation GmbH
§ APEX Developer since first public release in 2004 (HTMLDB 1.5)
§ Oracle Developer since 2001 (SQL, PL/SQL, OWB)
§ Organizer of Oracle APEX Meetup Frankfurt
§ Contact options
§ Twitter https://twitter.com/commi235
§ GitHub https://github.com/commi235
§ Blog http://mk-commi.blogspot.com
§ LinkedIn https://de.linkedin.com/in/moritz-klein-73161b70
4. § APEX Architecture
§ Starting Point
§ The Task
§ The Plan
§ The Implementation
§ Demo
4
Agenda
6. § Database running on shared server hosting multiple other DBs.
§ No direct access to DB- and Web Server
§ Applications moved from nice-to-have towards mission-critical.
§ User base started to grow
§ Spanning over multiple time zones
§ Applications where sometimes affected by other load on server.
§ High-Availability wasn’t guaranteed.
6
Starting Point
7. § Make a plan for a new APEX environment
§ Required attributes
§ High Availability
§ High Performance
§ Dedicated Environment
§ My own wishes
§ Fully integrated
§ Not too many moving parts
7
The Task
8. § Securing the Database
§ Data Guard
§ Real Application Clusters
§ APEX as such is automatically included. J
§ Securing the Web Listener
§ What options are available?
§ What about maintainability?
§ Maybe we can use the same technology RAC uses?
8
The Plan
9. § Oracle Clusterware 12c
§ Manages and controls cluster resources
§ Basis for Real Application Clusters
§ Oracle Database Server 12c
§ RAC opened on all nodes
§ Configured as container database
§ APEX 5.0.3 (started with 4.2.6)
§ Removed from CDB
§ Installed into separate PDBs for Production, Test and Development
9
The Implementation (Database)
10. § Each database instance has it‘s own buffer cache.
§ They can access content from caches of other instances.
§ Sample response times
§ Local Cache means nanoseconds
§ Remote Cache means microseconds
§ Disk Access means at least microseconds if using fast disks.
§ Run script utilities/apxpart.sql from APEX installation folder.
§ Range Partitioning for some tables based on Session-ID
§ Leading digit of Session ID reflects instance number
§ Cache transfers are avoided as much as possible
§ Effort approximately 1 week including tests
10
The Implementation (Preparing APEX)
11. § Oracle supplies agents to manage Apache HTTP Server and Tomcat.
§ Not suited for all installations.
§ Oracle provides a generic script agent.
§ Define your own scripts to start, stop and check a service.
§ How to secure your custom service
1. Create Virtual IP for the service
2. Create Resource Type for your action script.
3. Create resources with dependencies.
11
The Implementation (Web Listener)
12. § Automatic Cluster File System
§ Create an ACFS volume
§ Set it to mount on all nodes where you might have the Web-Server
§ Move all static files to the ACFS mount
§ Apache Configuration
§ Tomcat Configuration
§ ORDS Configuration
§ APEX images directory
12
The Implementation (ACFS)
13. 13
Implementation (Final Layout)
SAN
Web Client
Node 1
IP
Node 2
IP
Node 2
VIP
Node 1
VIP
Interconnect
AJP Connector
3 SCAN IPs
1 App VIP
Node 2
RAC2
(CDB)
+ASM2
Apache
HTTP
Apache
Tomcat
ACFS
Node 1
RAC1
(CDB)
+ASM1ACFS
Apache
HTTP
Apache
Tomcat
ab Aprilab April