SlideShare une entreprise Scribd logo
1  sur  37
Triple C -
Centralize,
Cloudify and
Consolidate
Dozens of
Oracle
Databases
Oracle Groundbreakers EMEA Virtual Tour 2021
Lucas Jellema, Architect & CTO AMIS | Conclusion
Classificatie: vertrouwelijk
Lucas Jellema
CTO for AMIS | Conclusion
Cloud Solution Architect
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
Publiek
#OGBEMEA
Triple Play - Centralize, Cloudify and Consolidate
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
IST
SOLL
Publiek
#OGBEMEA
Starting Point
• 120+ sites
• Local Setup – the same for all sites (except for data)
• Server, 4CPU with Hyperthreading, 32GB or 64GB; 4 VMs
• Oracle Database 12c R1 Enterprise Edition
• 12-15 GB data (60% site specific)
• 30-100K transactions per day
• Java-based Integration platform
• 100s background jobs & daemons
• Shell script, Perl, C++ (binary), PL/SQL, SQL
• UI platform (Oracle Forms & modern low code, Java based)
• Database dates back to late ‘90s
• Business relevance
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
site
site
Site
Apps (jobs &
daemons)
integration
platform
UI
Application
Oracle
Database
12.1
Mobile
equipment
Printer
Publiek
#OGBEMEA
Desire to Consolidate Databases
• Reduce operational effort, technical maintenance and
Oracle license & support fees
• Constraints
• Each site only access to their own data (like a private database)
• Minimal impact on existing application code
• Target platform: Azure Cloud
• Performance on par
• Migration must be low risk to business operations
• Network upgrade for all sites may be assumed
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
site
site
Site
Apps (jobs &
daemons)
integration
platform
UI
Application
Mobile
equipment
Printer
Centralized,
Cloudified,
Consolidated
Oracle
Database
19c
Oracle
Database
19c &
VPD
site
site
Site
Apps (jobs &
daemons)
integration
platform
UI
Application
Oracle
Database
12.1
Mobile
equipment
Printer
Publiek
#OGBEMEA
Virtual Private Database
“access database as if each site is the only one”
• Every table has a column SITE_ID
• Every SQL statement has a WHERE condition for each table accessed:
• WHERE SITE_ID = <current site’s identifier>
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
COL A COL B SITE_ID
AB 21 23
CD 18645 36
EF 651 11
GH 121223 23
IJ 5633 36
Site 23
Site 36
Table X
select *
from X
select *
from X
COL A COL B SITE_ID
AB 21 23
GH 121223 23
COL A COL B SITE_ID
CD 18645 36
IJ 5633 36
select *
from X
where SITE_ID = <>
Publiek
#OGBEMEA
Oracle Database Enterprise Edition - Virtual Private Database
Fine Grained Access or Row Level Security Access Policy
• Policy is applied to a Table or View
• It specifies a function to invoke to return a filter condition to be added to
SQL statements (SELECT & DML)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
COL A COL B SITE_ID
AB 21 23
CD 18645 36
EF 651 11
GH 121223 23
IJ 5633 36
Table X
add RLS policy for all
types of SQL statements –
invoke policy function
Site Filter
Policy Function
always return the string
“WHERE SITE_ID =
SYS_CONTEXT(‘MY_CTX’,’CURRENT_SITE_ID’)
”
Application Context
MY_CTX
CURRENT_SITE_ID
SQL
memory cache
with session
wide
parameters
Publiek
#OGBEMEA
Proof of Concept
• Prove
• that and how consolidation (centralized and cloudified) can work
• Solution Design of End State (SOLL)
• how will it be
• sizing
• cost (OPEX)
• Roadmap for migrating to end state
• how do we get there
• how much effort will it be
• what do we need (time, budget, skills, specific people, tools, ...)
• Impact
• Risk
• Benefits
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Triggers, Drivers, Objectives, Bonus Benefits
• Costs: Hardware, Software licenses & support fees
• Operational effort (and risk)
• Business & Technology agility & innovation
• Increasing feature release frequency
• Data freshness on site & in central
• Mobile Apps – used on site and
running against central systems can use real time site data
• Reduction in vulnerability
• Scalability – short term peaks & long-term growth (or decline)
• Accelerating provisioning (& decommissioning) of sites
• Focus scarce IT staff on business value (away from IaaS)
• Implementing the Cloud Strategy and moving forward on architecture roadmap
• Reduce Oracle footprint
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
PoC Setup
• Oracle Database 19c EE Multitenant Architecture on Azure VM
• Create PDB - a centralized clone of a local site database
• to test 19c upgrade and cloudification
• Create PDB as the consolidated database
• Import into consolidated PDB an export from a site database – schemas and
database objects only
• excluding schemas for UI App and Integration platforms
• Prepare VPD in PDB
• extend tables with column SITE_ID, create application context,
create package, create and apply VPD policy function
• Create PDB as the staging database to load individual site exports into
• Import site export into staging database
• Transfer data from staging data
to application tables in consolidated database
• and set value for SITE_ID column
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Consolidated Site
Database
Staging
Site
Database
Site 1
Database
Site 2
Database
Site 3
Database
Centralized
Site
Database
testing 123
Publiek
#OGBEMEA
VPD Set Up in Consolidated Database
• Define VPD Policy with a Function to return Query Filter
• Apply VPD policy on all application tables
• Create Package to set site_id in application context
• When to call this package? – with minimal impact on existing application code!
• For jobs, daemons and other stateful database sessions
• Each site uses a site-specific database service name (tnsnames.ora) (or proxy user)
• all service names end up in the same database instance
• On Logon trigger intercepts database session initialization, inspects the database service name
(using sys_context & USERENV), determines site_id and calls sited procedure to set app context
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Site Filter Policy
Function
Application Context
my_ctx
current_site_id
Package
ON LOGON
trigger
UI App
Daemons
& Jobs Connect through
site specific
database service
Publiek
#OGBEMEA
Cloudify & Consolidate
• Site is no longer the only inhabitant of the database
• Shared objects or unique names: pipe, alert, Table Lock, DDL operations
• Unique & Primary (and therefore Foreign) Keys extended
• Indexes extended with column SITE_ID
• New Table Indexes with only SITE_ID => Table Partitioning
• partition (at least large, heavily accessed) tables by Site
• Proxy User per site – site specific credentials
• used in ON LOGON trigger to set Site Identifier in Application Context
• Sequences set to highest value in any of the imported databases
• Single Record Table (max_trans = 2)
• In Cloud no access allowed from database to environment
• abandon utl_file, DIRECTORY, utl_tcp, utl_http, External Table
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
PoC ++
• In addition to C3 for Site Databases
• with all database clients running locally, on site
• Now also apply C3 to
• local background applications, jobs & daemons
• local UI Applications
• local integrations & integration platform
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
SOLL++
site
site
Site
Apps (jobs &
daemons)
integration
platform
UI
Application
Mobile
equipment
Printer
Centralized,
Cloudified,
Consolidated
Oracle
Database
19c
site
site
Site
Mobile
equipment
Printer
Centralized, Cloudified,
Consolidated
Oracle
Database
19c & VPD
integration
platform
UI Applications
Oracle
Database
19c & VPD
Apps (jobs &
daemons)
SOLL Oracle
Database
19c & VPD
A few Apps (jobs
& daemons)
Publiek
#OGBEMEA
Exploring & Demonstrating
Consolidated Database Performance
• Will the consolidated database(s) be able to provide performance on par with today’s local
on-site behavior?
• How many consolidated, central database instances will be required
• and what will the sizing be of VMs and Databases?
 Strategies
 Scale Up - vertical
 Scale Out – horizontal
 Tune, Redesign, Refactor, leverage “performance enhancing features” (for example
materialized views, in memory database, move read only workload to standby database)
 We require flexibility in scale (aka elasticity)
 Uncertainty regarding performance after migration
 Variable load (daily, seasonal, incidents)
 Future growth (organic & through acquisitions)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Elasticity – Scale Up and Down
• Increase VM Shape
• CPU, Memory, #IOPS, I/O Throughput,
Storage Size & Speed, Network Connections & Bandwidth
• Scale Up Application Server and Database
• No impact on application code or configuration
• Substantial impact on price
• VM cost
• Software License cost
• Limited by the VM shapes on (affordable) offer
• there are boundaries
• All eggs in one basket?
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Elasticity – Scale Out and In
• Add VM instances
• with additional Database and App Server instances
• Move data to new database instance
• Move jobs to different app servers,
move UI apps to different UI app servers
• Reconfigure Job definitions –
for different sets of sites
• Update routing rules –
site go to different app server
• Impact
• spread the workload
• distribute risk (impact of any database failing)
• increase license and cloud resource fees ?
• increase DBA/Ops effort ?
• Scaling from one to two is hard, beyond that
it is quite straightforward
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Reverse Proxy
UI
App A
UI
App A
UI
App B
Publiek
#OGBEMEA
Load Test with Realistic Workload
• How to put a realistic load on the consolidated database?
• the same combination of SQL statements and PL/SQL activities as locally
on site
• scaling the load to a multifold of the single site load – 10-30 times the
local load
• Oracle Real Application Testing
• Capture workload in live database
(filtering out specific users)
• Replay workload on any target database
• stretch in and out (elastic time)
• scale up the replayed workload (run multiple workloads in parallel)
• Analyze the actual performance of the replay
• resource usage, errors, bottlenecks, query timings, AWR, ASH reports
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
How to run workloads for dozens of sites
(from only three RAT captures and three data sets)
• A special Consolidated Performance Test Database has been set up
• Based on data sets from three sites, data has been created for X sites
• RAT recordings have been made on three production sites: 1516, 3036 and 5805
– from July 29th, 16:00 hours until July 30th, 16:00
• RAT Recordings are replayed through a site-specific database service against the consolidated
database and executed in the VPD for the site derived from the database service
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
TEST DB
Tables
Data was loaded from three sites.
All records have been duplicated
several times for different site:
SITE_ID is changed in each copy
Site DB
Site DB
SIte DB
RAT
RAT was used to capture 24h
workload in three Site DBs
RAT is used to replay each of
the workloads multiple times.
All replays take place through
different site specific
database service names
Logon
Trigger
Logon trigger sets SITE_ID in
Application Context based on
database service name used by RAT.
All RAT sessions run in different VPDs
Publiek
#OGBEMEA
Challenges in Achieving Proper RAT Results
• VM and Database configuration for running RAT
• disk size, flashback area, file system interaction
• overhead caused by RAT tooling itself
• Running tests takes a long time (to prepare and process)
• EMCC 13c (Enterprise Manager Cloud Control)
• Determining meaningful results is not trivial
• from RAT reports
• from ASH, AWR, SQL Tuning Set
• Additional option: while the RAT workload is replayed – run a simple periodic load test with
some indicative queries (using JMeter for example) and measure the execution times (that
ran in the context of representative workload)
• Database Workload not suited for concurrent execution (refactoring required)
• Missing indexes on foreign keys
• Lock Table
• Create and Drop Table
• Update Single Data Block table
• Use of isolated objects in non-isolated environment: pipe & alert
• Write logging through UTL_FILE
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
RAT Approach
• Run multiple tests to mutually compare
• Run workloads for an increasing number of sites
• Run workloads on a number of VM shapes
• CPU, Memory, IOPS and throughput/bandwidth, disk size and mapped Database
configuration settings (SGA, PGA, UGA, #processes, parallel_max_servers)
• Run workloads with various database design and code refactorings and workarounds
• Disable dbms_alert, apply Table Partitioning, comment out utl_file calls
• Determine performance for each workload from
• database resource usage metrics (cpu, disk io, IO wait time)
• query & transaction performance (execution time and throughput)
• Our aim: determine the number of sites that we can support in a single VM / Database instance
(with reasonable shape)
• and calculate the total number of instances required
for 120 (now) and 200 (later) sites
• show a (linear) relationship between the number of
sites and the performance
and between the VM shape and the performance
for a fixed number of sites
• determine the bottleneck factor(s) at play
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
RAT Findings
• Findings
• without any refactoring and code improvements
• 20-30 sites in a single Database instance
• VM shape: E64ds (64 vCPU, 504 GB) + P40 disks
• 2.3 (?) Azure vCore per site
• Bottlenecks
• CPU
• IOPS
• disk size (from logging written through utl_file)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
20 sites 30 sites 40 sites
Publiek
#OGBEMEA
Lots of Opportunities for Improvement –
to host more sites in a single database instance
• optimizations without application impact
• partitioning of tables
• index design (add, refine, remove indexes, partitioning of indexes - auto index design)
• execution plan optimizations for bottleneck actions
• Materialized Views (for heavily queried datasets)
• in memory database option (for heavily queried datasets)
• resource plans (and consumer groups) to assign resources to high priority jobs
• explicitly work with generic data - remove data records shared across site
• clean up redundant/discarded data
• scale up of VM shape & DB configuration (IOPS, memory, CPU, SGA, parallelization, # processes..)
• optimizations with some application impact
• purge redundant data and/or archive cold data in external storage (NoSQL, Azure Blob)
• spread jobs differently over the day (to reduce peaks)
• using standby databases in read only mode – to reduce the load on the primary database, achieve higher overall performance
and even allow us a smaller VM shape for all databases (license consequences)
• remove unused objects
• rewriting SQL query (of poorly performing queries)
• code optimization (remove usage of shared resources - alerts, pipes, DDL, table locks)
• BO App job consolidation across multiple sites (make jobs process multiple sites at once)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Application Server Scripts, Daemons & Jobs
• Local Setup – specific to one site
• (only) desired version of each of 50+ applications installed
(shell, binary compiled from C++, Perl, SQL, PL/SQL)
• Hard coded directories & credentials in code
• Configuration Files
• Data Directories
• Daemons & scheduled Jobs – process all
• Central App Server with all sites consolidated
• all [in use] versions of all applications are installed
• no hard coded location/configuration references anywhere– refer to environment variables
• database connection based on Oracle Wallet and TNS_ADMIN environment variable
• site specific data directories – referred to through environment variables
• run daemons and jobs per site (or better yet: consolidate across all sites)
• unique name
• site specific settings for environment variables
(application version directories, TNS_ADMIN, data directories)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Change Management
• Design principles for change management process:
low risk, fine grained control, high flexibility, high degree of
automation, minimal downtime and efficient usage of cloud resources
• A new release (bundle of application versions at a certain cut-off date)
should not be rolled out at once, big bang to all sites
• controlled multi-stage rollout – with one or some, several and many
(or all) sites adopting a new release at different moments
• Roll out of a release should have minimal impact and
cause minimal downtime
• discern between the installation & configuration of new versions
and the activation of new versions for sites
• A roll out can easily be undone
• sites can be moved between versions quickly and easily
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Multiple application versions co-exist
• Not all sites are on the same application version
• Multiple versions of each application coexist on app server
• Not all sites use the same versions of database objects (canary site, early adopter, laggard)
• different versions of Packages, Types and Views
• requiring evolved definitions of Tables
• How can we support multiple “database releases” to coexist within the same multi-site
consolidated database?
• so we do not have to move sites between databases?
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Introducing Oracle Database Edition Based Redefinition (EBR)
• Edition Based Redefinition EBR – introduced in Oracle Database 11gR2 (2012)
(created to support zero down-time roll out of new releases of Oracle eBusiness Suite)
• free feature in all flavors of Oracle Database
• Editions add a “release” dimension to the database – orthogonal to schemas
• an edition is a collection of database objects ( object_name, object_type and schema)
• in an editioned database, the full coordinates of a database object become (
object_name, object_type, schema, edition)
• two editions can contain different versions of a database object (package, view, type,
synonym, function)
• each session runs in a specific edition – this current edition determines which version
of each database object is used (during name resolution as part of statement parsing)
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Oracle Database Name Resolution
• When a Statement is Parsed or Evaluated – Name Resolution determines which database objects to
access
• For example:
• begin X(42); end;
• Oracle Database has to decide what exactly X is (name resolution)
• PL/SQL unit in current user’s schema (or the schema of the schema set with alter session set current schema)
• private synonym (in current schema) and the associated object it refers to – which can be a PL/SQL unit or
synonym
• public synonym and the associated object it refers to – which can be a PL/SQL unit or another synonym
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Schema A
Schema B
Schema C
Procedure
X
Synonym X
Public
Synonym X
Procedure
X
alter session set current_schema B
begin x(42); end;
Schema D
alter session set current_schema C
begin x(42); end; alter session set current_schema D
begin x(42); end;
Publiek
#OGBEMEA
Edition R2
Edition R3
Oracle Database Name Resolution
• Name Resolution in editioned database uses Current Edition to determine the Object Version
• For example:
• begin X(42); end;
• Oracle Database has to decide what exactly X is (name resolution)
• PL/SQL unit in current user’s schema (or the schema of the schema set with alter session set current schema)
• private synonym (in current schema) and the associated object it refers to – which can be a PL/SQL unit or synonym
• public synonym and the associated object it refers to – which can be a PL/SQL unit or another synonym
• in an editioned database, name resolution also needs to check which version of the object lives in
the current edition
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Schema A
Schema B
Schema C
Synonym X Public Synonym
X (2.0)
Procedure
X
alter session set current_schema B
alter session set edition = R2
begin x(42); end;
Schema D
alter session set current_schema C
alter session set edition = R3
begin x(42); end;
alter session set current_schema D
begin x(42); end;
Edition R2
Edition R3
Procedure X
(1.1)
Procedure X
(1.2)
Public Synonym
X (3.0)
Publiek
#OGBEMEA
Oracle Database Name Resolution
• Database object versions in a “site release” are in a database edition
• a database edition inherits all object versions from its predecessor –
then overwrites this inheritance with its own specific changes
• Tables are outside editions - there is only one version of a table
• table changes must be backward compatible
• Advanced: There can be multiple versions of data records (domain values, configuration data, …)
• add an “edition from” and an “edition until” column to each table that contains versioned data
• define a VPD policy on the table with a filter that checks the current edition vs these edition columns
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Edition R2
Edition R3
Procedure X
(1.1)
Procedure X
(1.2)
Edition R1
Procedure X
(1.0)
View Y
(1.0)
Package Z
(1.0)
Package Z
(1.1)
Type Q
(1.0)
Type Q
(1.0)
Table A
Table B
Sequence K
Publiek
#OGBEMEA
Working with Database Editions
to Support Multiple Releases from a Single Database
• Each site is associated with one specific database edition
• all database actions performed for that site are done in
the context of that edition
• Each site uses one specific version of each application
• the application versions used by the site must be compatible
with the site’s database edition and with each other
• The application version & database compatibility matrix (“what can
go together”) is crucial in managing the mutual compatibilities
TriPle C - Centralize, Cloudify and Consolidate Oracle Databases
Application version compatibility matrix
Edition R2
Edition R3
Edition R1
Table A
Table B
Edition
R2
APP P - 1.3
APP P - 1.3
APP P - 1.3
APP P - 1.3
APP Q - 1.1
APP Q - 1.2
APP R – 2.0
APP R- 3.0
APP R – 3.1
APP S - 1.0
APP S - 1.1
APP P - 1.3
APP Q - 1.2
APP R- 3.0
APP S - 1.0
Site 44
Publiek
#OGBEMEA
UI Application: each UI App version can work with one (or
more) database editions
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
sites 1-30, 104
sites 31-51, 100-103
sites 52-88, 104-115
Site 1 Site 38 Site 44 Site 101 Site 66 Site 110
UI App Server
UI App A UI App B
local
central
UI App A
1.2
UI App A
1.3
UI App A
1.4
Ed 3
Ed 4
Ed 5
Publiek
#OGBEMEA
UI Application – Routing, Versions and Editions
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
sites 1-30, 104
sites 31-51, 100-103
sites 52-88, 104-115
Site 1 Site 38 Site 44 Site 101 Site 66 Site 110
UI App Server
UI App A
1.2
local
central
Ed 3
Ed 4
Ed 5
Ed 3
Ed 4
Ed 5
Ed 3
Ed 4
Ed 5
Reverse Proxy
routing
rules
UI App Server
UI App A
1.2
UI App Server
UI App A
1.3
UI App Server
UI App A
1.4
Site specific
URLs for
the UI App
Stored procedure
call to DB to pass
Site Identifier for
VPD
Database
Connection
associated with
Database Edition
Publiek
#OGBEMEA
Change Management Process
• Prior to Release
• designate application & database object versions to ship
• establish mutual compatibility between all versions in the release
• and backwards compatibility from earlier releases still supported for sites
(the new stuff should not break any existing still in use)
• note: all database table changes are backwards compatible
• Prepare release on Production environment
• Build up a new UI App Server with the new UI App version
• Install new background application versions on App Server – next to existing
• Create new Database Edition and create new versions of database objects
• note: no one is using any of the new things
• Initial roll out – for a test or dummy site or a real site canary release
• Generate Reverse Proxy routing rules that will route users on site to new UI App version
• Generate App Server symbolic links and environment variables for site to use new App versions & DB edition
• Update site to database edition mapping records – to associate site with new DB edition
• Once success is confirmed, repeat for additional sites
• In case of failure, reverse the steps to roll site back to original release
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Release Initial Rollout
Test/Accept Prepare/Install Smoke Test/Use
Next Rollout
Edition R2
APP P - 1.3
APP Q - 1.2
APP R- 3.0
APP S - 1.0
R4.6
Publiek
#OGBEMEA
Summary & Conclusions
• [20 years of accumulated] Technical Debt catches up with us
• hard coded values, lack of automated regression tests, old technology (and no more skills),
lack of documentation (how, what, why), limited application portfolio/life cycle management
(which applications & features are still in use; dependencies between applications)
• Many refactor opportunities
• to reduce complexity and increase maintainability, improve performance, reduce operational
effort, reduce cloud resource usage
• Know the out-of-the-box (or easily purchasable) mechanisms of the Oracle Database
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Applied Oracle Database features
Feature Since License / Cost Purpose
Virtual Private Database 8i every edition, no cost option Fine grained (row level) access control
Database Link ? (< 7) every edition, no cost option SQL against other Oracle Databases
Instead Of Trigger 8.0 every edition, no cost option Handle DML statements against Views
Table Function 9iR1 every edition, no cost option Create View on top of PL/SQL Function i/o table or view
Proxy User 9iR2 every edition, no cost option Light-weight, schema-less database user
Application Context
(session or global)
8i every edition, no cost option In memory data cache
Logon Trigger 8i every edition, no cost option Programmatic intercept Database Session initialization
Real Application Testing 11gR1 separate license Capture and Replay actual database workload
Sharding 12cR2 EE up to 3 shards; >3: Active
Data Guard, RAC or Golden Gate
Physically partition Oracle Database in shards – allowing
cross shard operations as if on a single logical database
Table Partitioning 8.0, 9i Partitioning Option Physically partition table data – improve query & DML
Multitenant (PDBs) 12cR1 every, no cost up to 3PDBs Consolidated DBA across PDBs – including clone DB
Edition Based
Redefinition
11gR2 every edition, no cost option Zero down time application upgrades [by supporting
multiple parallel releases of database objects]
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Publiek
#OGBEMEA
Summary & Conclusions
• [20 years of accumulated] Technical Debt catches up with us
• hard coded values, lack of automated regression tests, old technology (and no more skills),
lack of documentation (how, what, why), limited application portfolio/life cycle management
(which applications & features are still in use; dependencies between applications)
• Many refactor opportunities
• to reduce complexity and increase maintainability, improve performance, reduce operational
effort, reduce cloud resource usage
• Know the out-of-the-box (or easily purchasable) mechanisms of the Oracle Database
• Decoupling – between sites, applications, application & database, application & environment
• to allow (independent) scaling, fine grained release rollout, implementation changes
• Steppingstone for short term gains and longer term innovation & improvement
• paid for from cost reduction in hardware & software (and reduced OPS effort)
• Controlled Migration: add sites, move jobs, migrate UI apps
• Network is pivotal (capacity & stability)
• some application offline capabilities maybe required
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
Classificatie: vertrouwelijk
Tusen Takk
Thank you very much
Triple C - Centralize, Cloudify and Consolidate Oracle Databases
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema

Contenu connexe

Tendances

It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...Lucas Jellema
 
When the Cloud is a Rockin: High Availability in Apache CloudStack
When the Cloud is a Rockin: High Availability in Apache CloudStackWhen the Cloud is a Rockin: High Availability in Apache CloudStack
When the Cloud is a Rockin: High Availability in Apache CloudStackJohn Burwell
 
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...Cloudera, Inc.
 
Azure intelligent edge solutions overview
Azure intelligent edge solutions overviewAzure intelligent edge solutions overview
Azure intelligent edge solutions overviewCenk Ersoy
 
Responding to Digital Transformation With RDS Database Technology
Responding to Digital Transformation With RDS Database TechnologyResponding to Digital Transformation With RDS Database Technology
Responding to Digital Transformation With RDS Database TechnologyAlibaba Cloud
 
Leveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudLeveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudOliver Theobald
 
Gartner evaluation criteria_for_clou_security_networking
Gartner evaluation criteria_for_clou_security_networkingGartner evaluation criteria_for_clou_security_networking
Gartner evaluation criteria_for_clou_security_networkingYerlin Sturdivant
 
Pa getting-started-azure-openshift-ebook-f20686-201911-en
Pa getting-started-azure-openshift-ebook-f20686-201911-enPa getting-started-azure-openshift-ebook-f20686-201911-en
Pa getting-started-azure-openshift-ebook-f20686-201911-enLisandro Julian Aguero
 
Riak CS Build Your Own Cloud Storage
Riak CS Build Your Own Cloud StorageRiak CS Build Your Own Cloud Storage
Riak CS Build Your Own Cloud Storagebuildacloud
 
Jax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapJax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapBen Stegink
 
An AWS DMS Replication Journey from Oracle to Aurora MySQL
An AWS DMS Replication Journey from Oracle to Aurora MySQLAn AWS DMS Replication Journey from Oracle to Aurora MySQL
An AWS DMS Replication Journey from Oracle to Aurora MySQLMaris Elsins
 
IBM Power Systems Announcement Update
IBM Power Systems Announcement UpdateIBM Power Systems Announcement Update
IBM Power Systems Announcement UpdateDavid Spurway
 
Building Complete Private Clouds with Apache CloudStack and Riak CS
Building Complete Private Clouds with Apache CloudStack and Riak CSBuilding Complete Private Clouds with Apache CloudStack and Riak CS
Building Complete Private Clouds with Apache CloudStack and Riak CSJohn Burwell
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2Raul Chong
 
New Roles In The Cloud
New Roles In The CloudNew Roles In The Cloud
New Roles In The CloudSteve Loughran
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...Lucas Jellema
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Lucas Jellema
 
OpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DOpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DAlessandro Pilotti
 

Tendances (20)

It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
 
When the Cloud is a Rockin: High Availability in Apache CloudStack
When the Cloud is a Rockin: High Availability in Apache CloudStackWhen the Cloud is a Rockin: High Availability in Apache CloudStack
When the Cloud is a Rockin: High Availability in Apache CloudStack
 
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
 
Azure intelligent edge solutions overview
Azure intelligent edge solutions overviewAzure intelligent edge solutions overview
Azure intelligent edge solutions overview
 
Responding to Digital Transformation With RDS Database Technology
Responding to Digital Transformation With RDS Database TechnologyResponding to Digital Transformation With RDS Database Technology
Responding to Digital Transformation With RDS Database Technology
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
 
Leveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudLeveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the Cloud
 
Gartner evaluation criteria_for_clou_security_networking
Gartner evaluation criteria_for_clou_security_networkingGartner evaluation criteria_for_clou_security_networking
Gartner evaluation criteria_for_clou_security_networking
 
Pa getting-started-azure-openshift-ebook-f20686-201911-en
Pa getting-started-azure-openshift-ebook-f20686-201911-enPa getting-started-azure-openshift-ebook-f20686-201911-en
Pa getting-started-azure-openshift-ebook-f20686-201911-en
 
Riak CS Build Your Own Cloud Storage
Riak CS Build Your Own Cloud StorageRiak CS Build Your Own Cloud Storage
Riak CS Build Your Own Cloud Storage
 
Jax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite RecapJax Cloud 2016 Microsoft Ignite Recap
Jax Cloud 2016 Microsoft Ignite Recap
 
IBM Cloud pak for data brochure
IBM Cloud pak for data   brochureIBM Cloud pak for data   brochure
IBM Cloud pak for data brochure
 
An AWS DMS Replication Journey from Oracle to Aurora MySQL
An AWS DMS Replication Journey from Oracle to Aurora MySQLAn AWS DMS Replication Journey from Oracle to Aurora MySQL
An AWS DMS Replication Journey from Oracle to Aurora MySQL
 
IBM Power Systems Announcement Update
IBM Power Systems Announcement UpdateIBM Power Systems Announcement Update
IBM Power Systems Announcement Update
 
Building Complete Private Clouds with Apache CloudStack and Riak CS
Building Complete Private Clouds with Apache CloudStack and Riak CSBuilding Complete Private Clouds with Apache CloudStack and Riak CS
Building Complete Private Clouds with Apache CloudStack and Riak CS
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
New Roles In The Cloud
New Roles In The CloudNew Roles In The Cloud
New Roles In The Cloud
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
OpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DOpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2D
 

Similaire à Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (Oracle Groundbreaker Tour EMEA, 2021, OUGN))

Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql databasePARIKSHIT SAVJANI
 
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...Trivadis
 
Oracle to Azure PostgreSQL database migration webinar
Oracle to Azure PostgreSQL database migration webinarOracle to Azure PostgreSQL database migration webinar
Oracle to Azure PostgreSQL database migration webinarMinnie Seungmin Cho
 
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMark Kromer
 
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16Bala Kuchibhotla
 
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...NomanKhalid56
 
Migrating Oracle Databases to AWS
Migrating Oracle Databases to AWSMigrating Oracle Databases to AWS
Migrating Oracle Databases to AWSAWS Germany
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...Marcus Vinicius Miguel Pedro
 
Solving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute finalSolving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute finalAvere Systems
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesBobby Curtis
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released UpdateKeith Hollman
 
Demystifying Data Warehouse as a Service (DWaaS)
Demystifying Data Warehouse as a Service (DWaaS)Demystifying Data Warehouse as a Service (DWaaS)
Demystifying Data Warehouse as a Service (DWaaS)Kent Graziano
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureRob Habraken
 
Azure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekAzure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekMark Kromer
 
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloudTobias Koprowski
 

Similaire à Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (Oracle Groundbreaker Tour EMEA, 2021, OUGN)) (20)

Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
 
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
 
Oracle to Azure PostgreSQL database migration webinar
Oracle to Azure PostgreSQL database migration webinarOracle to Azure PostgreSQL database migration webinar
Oracle to Azure PostgreSQL database migration webinar
 
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
 
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16
Private Cloud: Database-as-a-Service with Enterprise Manager : OOW 16
 
SAMADMohammad
SAMADMohammadSAMADMohammad
SAMADMohammad
 
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...
5675212318661411677_TRN4034_How_to_Migrate_to_Oracle_Autonomous_Database_Clou...
 
Migrating Oracle Databases to AWS
Migrating Oracle Databases to AWSMigrating Oracle Databases to AWS
Migrating Oracle Databases to AWS
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
 
A to z for sql azure databases
A to z for sql azure databasesA to z for sql azure databases
A to z for sql azure databases
 
Solving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute finalSolving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute final
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
 
Copy Data Management for the DBA
Copy Data Management for the DBACopy Data Management for the DBA
Copy Data Management for the DBA
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs
 
Demystifying Data Warehouse as a Service (DWaaS)
Demystifying Data Warehouse as a Service (DWaaS)Demystifying Data Warehouse as a Service (DWaaS)
Demystifying Data Warehouse as a Service (DWaaS)
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
 
Azure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekAzure Data Factory for Azure Data Week
Azure Data Factory for Azure Data Week
 
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#8_Birmingham_FromPlanToBackupToCloud
 

Plus de Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Plus de Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Dernier (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (Oracle Groundbreaker Tour EMEA, 2021, OUGN))

  • 1. Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases Oracle Groundbreakers EMEA Virtual Tour 2021 Lucas Jellema, Architect & CTO AMIS | Conclusion
  • 2. Classificatie: vertrouwelijk Lucas Jellema CTO for AMIS | Conclusion Cloud Solution Architect Triple C - Centralize, Cloudify and Consolidate Oracle Databases lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
  • 3. Publiek #OGBEMEA Triple Play - Centralize, Cloudify and Consolidate Triple C - Centralize, Cloudify and Consolidate Oracle Databases IST SOLL
  • 4. Publiek #OGBEMEA Starting Point • 120+ sites • Local Setup – the same for all sites (except for data) • Server, 4CPU with Hyperthreading, 32GB or 64GB; 4 VMs • Oracle Database 12c R1 Enterprise Edition • 12-15 GB data (60% site specific) • 30-100K transactions per day • Java-based Integration platform • 100s background jobs & daemons • Shell script, Perl, C++ (binary), PL/SQL, SQL • UI platform (Oracle Forms & modern low code, Java based) • Database dates back to late ‘90s • Business relevance Triple C - Centralize, Cloudify and Consolidate Oracle Databases site site Site Apps (jobs & daemons) integration platform UI Application Oracle Database 12.1 Mobile equipment Printer
  • 5. Publiek #OGBEMEA Desire to Consolidate Databases • Reduce operational effort, technical maintenance and Oracle license & support fees • Constraints • Each site only access to their own data (like a private database) • Minimal impact on existing application code • Target platform: Azure Cloud • Performance on par • Migration must be low risk to business operations • Network upgrade for all sites may be assumed Triple C - Centralize, Cloudify and Consolidate Oracle Databases site site Site Apps (jobs & daemons) integration platform UI Application Mobile equipment Printer Centralized, Cloudified, Consolidated Oracle Database 19c Oracle Database 19c & VPD site site Site Apps (jobs & daemons) integration platform UI Application Oracle Database 12.1 Mobile equipment Printer
  • 6. Publiek #OGBEMEA Virtual Private Database “access database as if each site is the only one” • Every table has a column SITE_ID • Every SQL statement has a WHERE condition for each table accessed: • WHERE SITE_ID = <current site’s identifier> Triple C - Centralize, Cloudify and Consolidate Oracle Databases COL A COL B SITE_ID AB 21 23 CD 18645 36 EF 651 11 GH 121223 23 IJ 5633 36 Site 23 Site 36 Table X select * from X select * from X COL A COL B SITE_ID AB 21 23 GH 121223 23 COL A COL B SITE_ID CD 18645 36 IJ 5633 36 select * from X where SITE_ID = <>
  • 7. Publiek #OGBEMEA Oracle Database Enterprise Edition - Virtual Private Database Fine Grained Access or Row Level Security Access Policy • Policy is applied to a Table or View • It specifies a function to invoke to return a filter condition to be added to SQL statements (SELECT & DML) Triple C - Centralize, Cloudify and Consolidate Oracle Databases COL A COL B SITE_ID AB 21 23 CD 18645 36 EF 651 11 GH 121223 23 IJ 5633 36 Table X add RLS policy for all types of SQL statements – invoke policy function Site Filter Policy Function always return the string “WHERE SITE_ID = SYS_CONTEXT(‘MY_CTX’,’CURRENT_SITE_ID’) ” Application Context MY_CTX CURRENT_SITE_ID SQL memory cache with session wide parameters
  • 8. Publiek #OGBEMEA Proof of Concept • Prove • that and how consolidation (centralized and cloudified) can work • Solution Design of End State (SOLL) • how will it be • sizing • cost (OPEX) • Roadmap for migrating to end state • how do we get there • how much effort will it be • what do we need (time, budget, skills, specific people, tools, ...) • Impact • Risk • Benefits Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 9. Publiek #OGBEMEA Triggers, Drivers, Objectives, Bonus Benefits • Costs: Hardware, Software licenses & support fees • Operational effort (and risk) • Business & Technology agility & innovation • Increasing feature release frequency • Data freshness on site & in central • Mobile Apps – used on site and running against central systems can use real time site data • Reduction in vulnerability • Scalability – short term peaks & long-term growth (or decline) • Accelerating provisioning (& decommissioning) of sites • Focus scarce IT staff on business value (away from IaaS) • Implementing the Cloud Strategy and moving forward on architecture roadmap • Reduce Oracle footprint Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 10. Publiek #OGBEMEA PoC Setup • Oracle Database 19c EE Multitenant Architecture on Azure VM • Create PDB - a centralized clone of a local site database • to test 19c upgrade and cloudification • Create PDB as the consolidated database • Import into consolidated PDB an export from a site database – schemas and database objects only • excluding schemas for UI App and Integration platforms • Prepare VPD in PDB • extend tables with column SITE_ID, create application context, create package, create and apply VPD policy function • Create PDB as the staging database to load individual site exports into • Import site export into staging database • Transfer data from staging data to application tables in consolidated database • and set value for SITE_ID column Triple C - Centralize, Cloudify and Consolidate Oracle Databases Consolidated Site Database Staging Site Database Site 1 Database Site 2 Database Site 3 Database Centralized Site Database testing 123
  • 11. Publiek #OGBEMEA VPD Set Up in Consolidated Database • Define VPD Policy with a Function to return Query Filter • Apply VPD policy on all application tables • Create Package to set site_id in application context • When to call this package? – with minimal impact on existing application code! • For jobs, daemons and other stateful database sessions • Each site uses a site-specific database service name (tnsnames.ora) (or proxy user) • all service names end up in the same database instance • On Logon trigger intercepts database session initialization, inspects the database service name (using sys_context & USERENV), determines site_id and calls sited procedure to set app context Triple C - Centralize, Cloudify and Consolidate Oracle Databases Site Filter Policy Function Application Context my_ctx current_site_id Package ON LOGON trigger UI App Daemons & Jobs Connect through site specific database service
  • 12. Publiek #OGBEMEA Cloudify & Consolidate • Site is no longer the only inhabitant of the database • Shared objects or unique names: pipe, alert, Table Lock, DDL operations • Unique & Primary (and therefore Foreign) Keys extended • Indexes extended with column SITE_ID • New Table Indexes with only SITE_ID => Table Partitioning • partition (at least large, heavily accessed) tables by Site • Proxy User per site – site specific credentials • used in ON LOGON trigger to set Site Identifier in Application Context • Sequences set to highest value in any of the imported databases • Single Record Table (max_trans = 2) • In Cloud no access allowed from database to environment • abandon utl_file, DIRECTORY, utl_tcp, utl_http, External Table Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 13. Publiek #OGBEMEA PoC ++ • In addition to C3 for Site Databases • with all database clients running locally, on site • Now also apply C3 to • local background applications, jobs & daemons • local UI Applications • local integrations & integration platform Triple C - Centralize, Cloudify and Consolidate Oracle Databases SOLL++ site site Site Apps (jobs & daemons) integration platform UI Application Mobile equipment Printer Centralized, Cloudified, Consolidated Oracle Database 19c site site Site Mobile equipment Printer Centralized, Cloudified, Consolidated Oracle Database 19c & VPD integration platform UI Applications Oracle Database 19c & VPD Apps (jobs & daemons) SOLL Oracle Database 19c & VPD A few Apps (jobs & daemons)
  • 14. Publiek #OGBEMEA Exploring & Demonstrating Consolidated Database Performance • Will the consolidated database(s) be able to provide performance on par with today’s local on-site behavior? • How many consolidated, central database instances will be required • and what will the sizing be of VMs and Databases?  Strategies  Scale Up - vertical  Scale Out – horizontal  Tune, Redesign, Refactor, leverage “performance enhancing features” (for example materialized views, in memory database, move read only workload to standby database)  We require flexibility in scale (aka elasticity)  Uncertainty regarding performance after migration  Variable load (daily, seasonal, incidents)  Future growth (organic & through acquisitions) Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 15. Publiek #OGBEMEA Elasticity – Scale Up and Down • Increase VM Shape • CPU, Memory, #IOPS, I/O Throughput, Storage Size & Speed, Network Connections & Bandwidth • Scale Up Application Server and Database • No impact on application code or configuration • Substantial impact on price • VM cost • Software License cost • Limited by the VM shapes on (affordable) offer • there are boundaries • All eggs in one basket? Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 16. Publiek #OGBEMEA Elasticity – Scale Out and In • Add VM instances • with additional Database and App Server instances • Move data to new database instance • Move jobs to different app servers, move UI apps to different UI app servers • Reconfigure Job definitions – for different sets of sites • Update routing rules – site go to different app server • Impact • spread the workload • distribute risk (impact of any database failing) • increase license and cloud resource fees ? • increase DBA/Ops effort ? • Scaling from one to two is hard, beyond that it is quite straightforward Triple C - Centralize, Cloudify and Consolidate Oracle Databases Reverse Proxy UI App A UI App A UI App B
  • 17. Publiek #OGBEMEA Load Test with Realistic Workload • How to put a realistic load on the consolidated database? • the same combination of SQL statements and PL/SQL activities as locally on site • scaling the load to a multifold of the single site load – 10-30 times the local load • Oracle Real Application Testing • Capture workload in live database (filtering out specific users) • Replay workload on any target database • stretch in and out (elastic time) • scale up the replayed workload (run multiple workloads in parallel) • Analyze the actual performance of the replay • resource usage, errors, bottlenecks, query timings, AWR, ASH reports Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 18. Publiek #OGBEMEA How to run workloads for dozens of sites (from only three RAT captures and three data sets) • A special Consolidated Performance Test Database has been set up • Based on data sets from three sites, data has been created for X sites • RAT recordings have been made on three production sites: 1516, 3036 and 5805 – from July 29th, 16:00 hours until July 30th, 16:00 • RAT Recordings are replayed through a site-specific database service against the consolidated database and executed in the VPD for the site derived from the database service Triple C - Centralize, Cloudify and Consolidate Oracle Databases TEST DB Tables Data was loaded from three sites. All records have been duplicated several times for different site: SITE_ID is changed in each copy Site DB Site DB SIte DB RAT RAT was used to capture 24h workload in three Site DBs RAT is used to replay each of the workloads multiple times. All replays take place through different site specific database service names Logon Trigger Logon trigger sets SITE_ID in Application Context based on database service name used by RAT. All RAT sessions run in different VPDs
  • 19. Publiek #OGBEMEA Challenges in Achieving Proper RAT Results • VM and Database configuration for running RAT • disk size, flashback area, file system interaction • overhead caused by RAT tooling itself • Running tests takes a long time (to prepare and process) • EMCC 13c (Enterprise Manager Cloud Control) • Determining meaningful results is not trivial • from RAT reports • from ASH, AWR, SQL Tuning Set • Additional option: while the RAT workload is replayed – run a simple periodic load test with some indicative queries (using JMeter for example) and measure the execution times (that ran in the context of representative workload) • Database Workload not suited for concurrent execution (refactoring required) • Missing indexes on foreign keys • Lock Table • Create and Drop Table • Update Single Data Block table • Use of isolated objects in non-isolated environment: pipe & alert • Write logging through UTL_FILE Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 20. Publiek #OGBEMEA RAT Approach • Run multiple tests to mutually compare • Run workloads for an increasing number of sites • Run workloads on a number of VM shapes • CPU, Memory, IOPS and throughput/bandwidth, disk size and mapped Database configuration settings (SGA, PGA, UGA, #processes, parallel_max_servers) • Run workloads with various database design and code refactorings and workarounds • Disable dbms_alert, apply Table Partitioning, comment out utl_file calls • Determine performance for each workload from • database resource usage metrics (cpu, disk io, IO wait time) • query & transaction performance (execution time and throughput) • Our aim: determine the number of sites that we can support in a single VM / Database instance (with reasonable shape) • and calculate the total number of instances required for 120 (now) and 200 (later) sites • show a (linear) relationship between the number of sites and the performance and between the VM shape and the performance for a fixed number of sites • determine the bottleneck factor(s) at play Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 21. Publiek #OGBEMEA RAT Findings • Findings • without any refactoring and code improvements • 20-30 sites in a single Database instance • VM shape: E64ds (64 vCPU, 504 GB) + P40 disks • 2.3 (?) Azure vCore per site • Bottlenecks • CPU • IOPS • disk size (from logging written through utl_file) Triple C - Centralize, Cloudify and Consolidate Oracle Databases 20 sites 30 sites 40 sites
  • 22. Publiek #OGBEMEA Lots of Opportunities for Improvement – to host more sites in a single database instance • optimizations without application impact • partitioning of tables • index design (add, refine, remove indexes, partitioning of indexes - auto index design) • execution plan optimizations for bottleneck actions • Materialized Views (for heavily queried datasets) • in memory database option (for heavily queried datasets) • resource plans (and consumer groups) to assign resources to high priority jobs • explicitly work with generic data - remove data records shared across site • clean up redundant/discarded data • scale up of VM shape & DB configuration (IOPS, memory, CPU, SGA, parallelization, # processes..) • optimizations with some application impact • purge redundant data and/or archive cold data in external storage (NoSQL, Azure Blob) • spread jobs differently over the day (to reduce peaks) • using standby databases in read only mode – to reduce the load on the primary database, achieve higher overall performance and even allow us a smaller VM shape for all databases (license consequences) • remove unused objects • rewriting SQL query (of poorly performing queries) • code optimization (remove usage of shared resources - alerts, pipes, DDL, table locks) • BO App job consolidation across multiple sites (make jobs process multiple sites at once) Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 23. Publiek #OGBEMEA Application Server Scripts, Daemons & Jobs • Local Setup – specific to one site • (only) desired version of each of 50+ applications installed (shell, binary compiled from C++, Perl, SQL, PL/SQL) • Hard coded directories & credentials in code • Configuration Files • Data Directories • Daemons & scheduled Jobs – process all • Central App Server with all sites consolidated • all [in use] versions of all applications are installed • no hard coded location/configuration references anywhere– refer to environment variables • database connection based on Oracle Wallet and TNS_ADMIN environment variable • site specific data directories – referred to through environment variables • run daemons and jobs per site (or better yet: consolidate across all sites) • unique name • site specific settings for environment variables (application version directories, TNS_ADMIN, data directories) Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 24. Publiek #OGBEMEA Change Management • Design principles for change management process: low risk, fine grained control, high flexibility, high degree of automation, minimal downtime and efficient usage of cloud resources • A new release (bundle of application versions at a certain cut-off date) should not be rolled out at once, big bang to all sites • controlled multi-stage rollout – with one or some, several and many (or all) sites adopting a new release at different moments • Roll out of a release should have minimal impact and cause minimal downtime • discern between the installation & configuration of new versions and the activation of new versions for sites • A roll out can easily be undone • sites can be moved between versions quickly and easily Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 25. Publiek #OGBEMEA Multiple application versions co-exist • Not all sites are on the same application version • Multiple versions of each application coexist on app server • Not all sites use the same versions of database objects (canary site, early adopter, laggard) • different versions of Packages, Types and Views • requiring evolved definitions of Tables • How can we support multiple “database releases” to coexist within the same multi-site consolidated database? • so we do not have to move sites between databases? Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 26. Publiek #OGBEMEA Introducing Oracle Database Edition Based Redefinition (EBR) • Edition Based Redefinition EBR – introduced in Oracle Database 11gR2 (2012) (created to support zero down-time roll out of new releases of Oracle eBusiness Suite) • free feature in all flavors of Oracle Database • Editions add a “release” dimension to the database – orthogonal to schemas • an edition is a collection of database objects ( object_name, object_type and schema) • in an editioned database, the full coordinates of a database object become ( object_name, object_type, schema, edition) • two editions can contain different versions of a database object (package, view, type, synonym, function) • each session runs in a specific edition – this current edition determines which version of each database object is used (during name resolution as part of statement parsing) Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 27. Publiek #OGBEMEA Oracle Database Name Resolution • When a Statement is Parsed or Evaluated – Name Resolution determines which database objects to access • For example: • begin X(42); end; • Oracle Database has to decide what exactly X is (name resolution) • PL/SQL unit in current user’s schema (or the schema of the schema set with alter session set current schema) • private synonym (in current schema) and the associated object it refers to – which can be a PL/SQL unit or synonym • public synonym and the associated object it refers to – which can be a PL/SQL unit or another synonym Triple C - Centralize, Cloudify and Consolidate Oracle Databases Schema A Schema B Schema C Procedure X Synonym X Public Synonym X Procedure X alter session set current_schema B begin x(42); end; Schema D alter session set current_schema C begin x(42); end; alter session set current_schema D begin x(42); end;
  • 28. Publiek #OGBEMEA Edition R2 Edition R3 Oracle Database Name Resolution • Name Resolution in editioned database uses Current Edition to determine the Object Version • For example: • begin X(42); end; • Oracle Database has to decide what exactly X is (name resolution) • PL/SQL unit in current user’s schema (or the schema of the schema set with alter session set current schema) • private synonym (in current schema) and the associated object it refers to – which can be a PL/SQL unit or synonym • public synonym and the associated object it refers to – which can be a PL/SQL unit or another synonym • in an editioned database, name resolution also needs to check which version of the object lives in the current edition Triple C - Centralize, Cloudify and Consolidate Oracle Databases Schema A Schema B Schema C Synonym X Public Synonym X (2.0) Procedure X alter session set current_schema B alter session set edition = R2 begin x(42); end; Schema D alter session set current_schema C alter session set edition = R3 begin x(42); end; alter session set current_schema D begin x(42); end; Edition R2 Edition R3 Procedure X (1.1) Procedure X (1.2) Public Synonym X (3.0)
  • 29. Publiek #OGBEMEA Oracle Database Name Resolution • Database object versions in a “site release” are in a database edition • a database edition inherits all object versions from its predecessor – then overwrites this inheritance with its own specific changes • Tables are outside editions - there is only one version of a table • table changes must be backward compatible • Advanced: There can be multiple versions of data records (domain values, configuration data, …) • add an “edition from” and an “edition until” column to each table that contains versioned data • define a VPD policy on the table with a filter that checks the current edition vs these edition columns Triple C - Centralize, Cloudify and Consolidate Oracle Databases Edition R2 Edition R3 Procedure X (1.1) Procedure X (1.2) Edition R1 Procedure X (1.0) View Y (1.0) Package Z (1.0) Package Z (1.1) Type Q (1.0) Type Q (1.0) Table A Table B Sequence K
  • 30. Publiek #OGBEMEA Working with Database Editions to Support Multiple Releases from a Single Database • Each site is associated with one specific database edition • all database actions performed for that site are done in the context of that edition • Each site uses one specific version of each application • the application versions used by the site must be compatible with the site’s database edition and with each other • The application version & database compatibility matrix (“what can go together”) is crucial in managing the mutual compatibilities TriPle C - Centralize, Cloudify and Consolidate Oracle Databases Application version compatibility matrix Edition R2 Edition R3 Edition R1 Table A Table B Edition R2 APP P - 1.3 APP P - 1.3 APP P - 1.3 APP P - 1.3 APP Q - 1.1 APP Q - 1.2 APP R – 2.0 APP R- 3.0 APP R – 3.1 APP S - 1.0 APP S - 1.1 APP P - 1.3 APP Q - 1.2 APP R- 3.0 APP S - 1.0 Site 44
  • 31. Publiek #OGBEMEA UI Application: each UI App version can work with one (or more) database editions Triple C - Centralize, Cloudify and Consolidate Oracle Databases sites 1-30, 104 sites 31-51, 100-103 sites 52-88, 104-115 Site 1 Site 38 Site 44 Site 101 Site 66 Site 110 UI App Server UI App A UI App B local central UI App A 1.2 UI App A 1.3 UI App A 1.4 Ed 3 Ed 4 Ed 5
  • 32. Publiek #OGBEMEA UI Application – Routing, Versions and Editions Triple C - Centralize, Cloudify and Consolidate Oracle Databases sites 1-30, 104 sites 31-51, 100-103 sites 52-88, 104-115 Site 1 Site 38 Site 44 Site 101 Site 66 Site 110 UI App Server UI App A 1.2 local central Ed 3 Ed 4 Ed 5 Ed 3 Ed 4 Ed 5 Ed 3 Ed 4 Ed 5 Reverse Proxy routing rules UI App Server UI App A 1.2 UI App Server UI App A 1.3 UI App Server UI App A 1.4 Site specific URLs for the UI App Stored procedure call to DB to pass Site Identifier for VPD Database Connection associated with Database Edition
  • 33. Publiek #OGBEMEA Change Management Process • Prior to Release • designate application & database object versions to ship • establish mutual compatibility between all versions in the release • and backwards compatibility from earlier releases still supported for sites (the new stuff should not break any existing still in use) • note: all database table changes are backwards compatible • Prepare release on Production environment • Build up a new UI App Server with the new UI App version • Install new background application versions on App Server – next to existing • Create new Database Edition and create new versions of database objects • note: no one is using any of the new things • Initial roll out – for a test or dummy site or a real site canary release • Generate Reverse Proxy routing rules that will route users on site to new UI App version • Generate App Server symbolic links and environment variables for site to use new App versions & DB edition • Update site to database edition mapping records – to associate site with new DB edition • Once success is confirmed, repeat for additional sites • In case of failure, reverse the steps to roll site back to original release Triple C - Centralize, Cloudify and Consolidate Oracle Databases Release Initial Rollout Test/Accept Prepare/Install Smoke Test/Use Next Rollout Edition R2 APP P - 1.3 APP Q - 1.2 APP R- 3.0 APP S - 1.0 R4.6
  • 34. Publiek #OGBEMEA Summary & Conclusions • [20 years of accumulated] Technical Debt catches up with us • hard coded values, lack of automated regression tests, old technology (and no more skills), lack of documentation (how, what, why), limited application portfolio/life cycle management (which applications & features are still in use; dependencies between applications) • Many refactor opportunities • to reduce complexity and increase maintainability, improve performance, reduce operational effort, reduce cloud resource usage • Know the out-of-the-box (or easily purchasable) mechanisms of the Oracle Database Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 35. Publiek #OGBEMEA Applied Oracle Database features Feature Since License / Cost Purpose Virtual Private Database 8i every edition, no cost option Fine grained (row level) access control Database Link ? (< 7) every edition, no cost option SQL against other Oracle Databases Instead Of Trigger 8.0 every edition, no cost option Handle DML statements against Views Table Function 9iR1 every edition, no cost option Create View on top of PL/SQL Function i/o table or view Proxy User 9iR2 every edition, no cost option Light-weight, schema-less database user Application Context (session or global) 8i every edition, no cost option In memory data cache Logon Trigger 8i every edition, no cost option Programmatic intercept Database Session initialization Real Application Testing 11gR1 separate license Capture and Replay actual database workload Sharding 12cR2 EE up to 3 shards; >3: Active Data Guard, RAC or Golden Gate Physically partition Oracle Database in shards – allowing cross shard operations as if on a single logical database Table Partitioning 8.0, 9i Partitioning Option Physically partition table data – improve query & DML Multitenant (PDBs) 12cR1 every, no cost up to 3PDBs Consolidated DBA across PDBs – including clone DB Edition Based Redefinition 11gR2 every edition, no cost option Zero down time application upgrades [by supporting multiple parallel releases of database objects] Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 36. Publiek #OGBEMEA Summary & Conclusions • [20 years of accumulated] Technical Debt catches up with us • hard coded values, lack of automated regression tests, old technology (and no more skills), lack of documentation (how, what, why), limited application portfolio/life cycle management (which applications & features are still in use; dependencies between applications) • Many refactor opportunities • to reduce complexity and increase maintainability, improve performance, reduce operational effort, reduce cloud resource usage • Know the out-of-the-box (or easily purchasable) mechanisms of the Oracle Database • Decoupling – between sites, applications, application & database, application & environment • to allow (independent) scaling, fine grained release rollout, implementation changes • Steppingstone for short term gains and longer term innovation & improvement • paid for from cost reduction in hardware & software (and reduced OPS effort) • Controlled Migration: add sites, move jobs, migrate UI apps • Network is pivotal (capacity & stability) • some application offline capabilities maybe required Triple C - Centralize, Cloudify and Consolidate Oracle Databases
  • 37. Classificatie: vertrouwelijk Tusen Takk Thank you very much Triple C - Centralize, Cloudify and Consolidate Oracle Databases lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema

Notes de l'éditeur

  1. Session Code: SP21AUD006 Name: Lucas Jellema Email: lucas.jellema@amis.nl  Position: Architect Twitter: https://twitter.com/lucasjellema Linkedin: https://www.linkedin.com/in/lucas-jellema/ Bio: Lucas Jellema is solution architect and CTO at AMIS and member of the Conclusion Architecture Board, The Netherlands. The running theme through most of his activities is transfer of knowledge and enthusiasm (and live demos). Lucas is JavaOne 2015 Rockstar, Oracle Groundbreaker Ambassador and ACE Director and a frequent speaker at conferences such as Oracle Code, Oracle OpenWorld, CodeOne (JavaOne), Devoxx and on Groundbreaker tours. He publishes techy stuff at Github, Medium, Slideshare, DZone, OTN, and the AMIS Technology Blog (https://technology.amis.nl). He is the author of two books with O’Reilly Press. Session Title: Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases Area of Interest: Database, Security & Cloud Infrastructure Date & Time (in CET Time) Scheduled: 03-11-2021 15:30 Location Scheduled: OnSite Madrid: Auditorium of Casa del Lector Session Description: Dozens of Oracle Databases - each health center location has one on its local server with the same data model and the same set of applications. These databases have to be centralized and cloudified and also be consolidated into one or as few databases as possible. To lower costs, ease operations and enable innovation. Each location can access only its own data, applications do not have to be changed and different locations can run different versions of applications and database objects. This is the story of a critical migration. About the cloud ready analysis, the Proofs of Concept with Oracle Database features VPD and Edition Based Redefinition, the scalability investigation, the redesign of change management, rollout and operational management processes and the careful modernization of a 25 year old platform on the latest database release and a shiny new, fully automated cloud platform. This is the story of an organization that had state of the art systems in the mid-90s. And they have these same systems today - no longer state of the art. They can keep the systems alive, but barely, and at increasing cost. In the Fall of 2020, we started an investigation into the feasibility of bringing the 100s of databases from each of the locations together, in a central location, in the cloud and finally: consolidated into one or at least as few database instances as possible. Using Oracle Database Virtual Private Database and Edition Based Redefinition, a smart database connection configuration in each site and a limited reimplementation of non-cloud/non-consolidated mechanisms (interaction with local file system for example) we have designed and proven a working new design and migration approach.
  2. Alternative implementation: Process Status held in memory – global application context Table replaced with View query against table function that retrieves data from app context I/O trigger on View to intercept DML and write to app context No locks, no transaction, global memory when database dies, status information dies with it optional: background job every 5 seconds to write contents of app context to background table