20160307 apex on_the_rocks

14
APEX on the Rocks Moritz Klein 07.03.2016 | APEX World

Transcript of 20160307 apex on_the_rocks

Page 1: 20160307 apex on_the_rocks

APEX on the Rocks

Moritz Klein07.03.2016 | APEX World

Page 2: 20160307 apex on_the_rocks

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

Page 3: 20160307 apex on_the_rocks

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

Page 4: 20160307 apex on_the_rocks

§ APEX Architecture

§ Starting Point

§ The Task

§ The Plan

§ The Implementation

§ Demo

4

Agenda

Page 5: 20160307 apex on_the_rocks

5

APEX Architecture

Page 6: 20160307 apex on_the_rocks

§ 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

Page 7: 20160307 apex on_the_rocks

§ 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

Page 8: 20160307 apex on_the_rocks

§ 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

Page 9: 20160307 apex on_the_rocks

§ 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)

Page 10: 20160307 apex on_the_rocks

§ 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)

Page 11: 20160307 apex on_the_rocks

§ 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)

Page 12: 20160307 apex on_the_rocks

§ 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)

Page 13: 20160307 apex on_the_rocks

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

Page 14: 20160307 apex on_the_rocks

Questions?

@commi235

https://www.linkedin.com/in/moritz-klein-73161b70

https://www.xing.com/profile/Moritz_Klein3

http://mk-commi.blogspot.com