20160307 apex on_the_rocks
Transcript of 20160307 apex on_the_rocks
APEX on the Rocks
Moritz Klein07.03.2016 | APEX World
Facts & Figures
Independent Technology Housewith Cross-Industry Expertise
HeadquarterRatingen
(North Rhine – Westphalia)
240 Employees
Founded1994
BranchesDortmund, Cologne,
Frankfurt
Top Company for Trainees &
Students
Privately-Owned
Corporation
Oracle Platinum Partner
24 Mio. Euro Revenue
2
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
§ APEX Architecture
§ Starting Point
§ The Task
§ The Plan
§ The Implementation
§ Demo
4
Agenda
5
APEX Architecture
§ 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
§ 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
§ 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
§ 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)
§ 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)
§ 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 service1. Create Virtual IP for the service2. Create Resource Type for your action script.3. Create resources with dependencies.
11
The Implementation (Web Listener)
§ 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
Implementation (Final Layout)
SAN
Web Client
Node 1IP
Node 2IP
Node 2VIP
Node 1VIP
Interconnect
AJP Connector
3 SCAN IPs
1 App VIP
Node 2
RAC2(CDB)
+ASM2
ApacheHTTP
ApacheTomcat
ACFS
Node 1
RAC1(CDB)
+ASM1ACFS
ApacheHTTP
ApacheTomcat
ab April ab April
Questions?
@commi235
https://www.linkedin.com/in/moritz-klein-73161b70
https://www.xing.com/profile/Moritz_Klein3
http://mk-commi.blogspot.com