SlideShare a Scribd company logo
1 of 27
Download to read offline
Achieving Continuous Availability for
Your Applications with Oracle MAA
October 17–20, 2022
Caesars Forum and The Venetian
Las Vegas, NV
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Speakers
Ian Cookson
Senior Principal Product Manager
Oracle Clusterware & Application Continuity
Oracle
Markus Michalewicz
Vice President of Product Management
Database High Availability, Scalability, and MAA
Oracle
Doug Burns
Vice President
Oracle Engineering Lead
GTI Platform Services
JPMorgan Chase
2
1. Why Transparent Application Continuity (TAC) should be your default choice
2. High Availability requirements to ensure Business Continuity
3. How to efficiently use TAC for planned maintenance and unplanned outages
4. What to do when Transparent Application Continuity does not fit
5. Customer Example
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Topics Covered in this Presentation
3
Scale out & Lifecycle
Data protection
Standardized Reference Architectures for Never-Down Deployments
Oracle Maximum Availability Architecture (MAA)
Reference
architectures
Deployment choices
HA features,
configuration
and operational
practices
Customer insights and expert recommendations
Production site Replicated site
Replication
Generic Systems Engineered Systems BaseDB, ExaDB/ExaCC Autonomous DB
Flashback RMAN + ZDLRA
Continuous availability
Application
Continuity
Edition-based
Redefinition
Active replication
Active Data Guard
RAC Sharding
FPP
24/7
GoldenGate
Online
Redefinition
Zero Downtime Migration (ZDM)
Bronze
Silver
Gold
Platinum
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
4
Business Continuity
• Eliminates downtime for users
• In-flight work is preserved
• Maintenance is hidden
• Predictable performance
• Errors visible only if unrecoverable
• Builds on top of High Availability
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Maximum Availability
• Minimizes downtime
• In-flight work is lost
• Rolling maintenance on DB-level
• Predictable runtime performance
• Errors may be visible
• High Availability building blocks
From Maximum Availability to Business Continuity
5
Transparent Application Continuity (TAC)
• For planned maintenance
and unplanned outages
• Available with Oracle RAC
and Active Data Guard
• Default on Oracle Autonomous Database
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Application Continuity (AC)
• For planned maintenance
and unplanned outages
• Available with Oracle RAC
and Active Data Guard
• Requires Oracle connection pool
One Solution – Two Flavors
6
• Based on the same HA requirements as AC, TAC covers most SQL use cases:
• TAC works with and without Oracle connection pools.
• ACchk can be used to determine the protection provided.
• Oracle 19c Databases and Clients and later provide best results.
• High Availability (HA) requirements include:
• Use of Oracle Database services.
• Using an optimized TNS connection string.
• Draining is part of maintenance operations.
• Active Data Guard for Disaster Recovery.
• TAC seamlessly improves business continuity on Autonomous Database
• Using the same standards, TAC can help improve your application availability, too.
Default on Oracle Autonomous Database – Why?
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Transparent Application Continuity
7
And catch applications that use coding practices that prevent safe replays
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Determine the Protection Provided by TAC with ACchk
Disable Reason
ORA-41429: side effect detected
8
High Availability Requirements
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Business
Continuity
9
• Always use user-defined database services to connect with any database/PDB
• Never use the default service
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Use Database Services
$ srvctl add service -d <DATABASE NAME> -s <SERVICE NAME> [-pdb <PDB NAME>]
-preferred <INSTANCE NAME, …> -available <INSTANCE NAME, …>
-notification true
-reset_state level1 [21c+]
-failover_restore AUTO
-commit_outcome TRUE
-failovertype AUTO
-replay_init_time 600
-drain_timeout 300
-stopoption IMMEDIATE
-role PRIMARY
10
Application
Continuity (AC)
Workload
Draining
RAC HA
T Y P E N O N T L S ( A D B - D) T L S N A M E S TA N D BY ( A D B - D) T L S S TA N D BY ( A D B - D)
High priority OLTP 1 tpurgent tpurgent_tls tpurgent_ro tpurgent_ro_tls
Typical OLTP 1 tp tp_tls tp_ro tp_ro_tls
High priority Reporting 2 high high_tls high_ro high_ro_tls
Typical Reporting 2 medium medium_tls medium_ro medium_ro_tls
Low priority Reporting 2 low low_tls low_ro low_ro_tls
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Example: Autonomous Pre-Created Services
11
1 Transparent Application Continuity enabled by default
2
Use DBMS_APP_CONT_ADMIN.ENABLE_TAC to enable TAC, or
Use DBMS_APP_CONT_ADMIN.ENABLE_AC to enable AC
• Connecting to a custom database service for a “sales application”
• Full Description:
jdbc:oracle:thin:@
(DESCRIPTION =
(CONNECT_TIMEOUT=90) (TRANSPORT_CONNECT_TIMEOUT=3)
(RETRY_COUNT=50) (RETRY_DELAY=3) (FAILOVER=ON)
(ADDRESS_LIST=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-SCANVIP.example.com)(PORT=1522)))
(CONNECT_DATA=(SERVICE_NAME=Sales_svc)))
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Connection Best Practices
12
Draining describes
• an operation that causes sessions to
complete their work on a given instance
• to prepare the node or the database for
maintenance.
Draining is a function of the Oracle
Database, supported by Oracle drivers,
connection pools, and natively by SQL.
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Fast Application Notification (FAN)
• Breaks applications out of TCP timeouts.
• Notifies clients of status changes on
database service-level.
• Is automatically configured.
Configure Fast Application Notification and use Draining
13
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Drain… Connect… Failover
Time
TPM
Node 1
Node 2
Drain Timeout
(1) Drain
Node 1
(2) Connect
to Node 2
(4) Replay in-flight
requests with
Application Continuity
(3) Terminate in-flight
requests
14
Planned and
Unplanned Outages
With Transparent Application Continuity
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
15
• Actions on database level:
1. DB Request interrupted by an error or FAN or drain
2. Session reconnects to the available service
3. Database (DB) Request replays automatically
4. Result from Database Request returned to user
• (Transparent) Application Continuity
• Fails over within SLA’s
• Guarantees commit at most once
• Verifies:
• Correct database
• Correct session state
• Correct results
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Unplanned Outages and Planned Failover
1
2
3
2
4
Primary Active Data
Guard Standby
3
16
When replay is not enabled
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Exclusions
Application level
• The following is used:
• Default database or
default PDB service
• JDBC OCI (end of life)
• Pre-compilers
(in development)
Remainder of request
• Alter system, database
(intentionally excluded)
• Best effort streaming lobs
• XA
• Deprecated OCI calls:
OCIStmtPrepare, misc
api’s
• Database links ADG to
primary
Target database
• Different database
• DBMS_ROLLING*
• Golden Gate
• 3rd Party Replication
17
What to do when Transparent
Application Continuity does not fit
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
18
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Oracle Database 19c – Offering Two Flavors
TAC – simple apps AC – pooled apps
Oracle or 3rd party connection pools with request
boundaries
Yes, if no unrestorable state* Yes
Non-pooled or no request boundaries
Yes, if no cursors in fetch and no
unrestorable state*
No
Reenables after COMMIT or other disabling call
Yes, if no cursors in fetch and no
unrestorable state*
No, until request boundary
SQL, Transactions & Queries Yes Yes
PL/SQL Yes, disables side effects Yes, allows side effects
Restores state at start of replay Yes Yes
Restores mutables Yes Yes
Replays over DBlinks No Yes
Replays when client state and results match Yes, server state must also match Yes
*Unrestorable state examples: PL/SQL global session state, temp tables, session lobs, OJVM
19
• Use Transparent Application Continuity (TAC) for applications
• Using INSERT, UPDATE, DELETE, SELECT, ALTER SESSION – basic ANSI SQL calls
• That may or may not use Oracle connection pools
• That can accept that a replay of side effects is disabled automatically
• Not requiring transactions over database links to replay
• Use Application Continuity (AC) for applications
• Using SQL and PL/SQL global session state, temp tables, session LOBs
• Can use an Oracle connection pool or other compliant pools (RedHat JBoss)
• That need replay of side effects enabled (such as email, audit, logging, file transfer)
• Need database link support
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Which Flavor to Use
20
• Packaged applications, from Oracle and other vendors, pose special challenges
• What has the vendor tested regarding workload draining and Application Continuity?
• Certification and support will constrain what versions and configuration options are available
• Often designed for older technology stacks, limiting what can be achieved
• Oracle & other packaged applications are adopting draining and Application Continuity
• E-Business Suite – support for workload draining with SQL connection tests (under development)
• JD Edwards – support for workload draining (TAC replay planned to be available soon)
• Fusion Middleware – support for workload draining (GA) and Application Continuity (under development)
• PeopleSoft – supports draining and TAC replay
• Siebel – has its own replay mechanism
• SAP – support for workload draining (TAC replay support planned to be available soon)
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
Application Continuity for Packaged Applications
21
Customer Example
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
22
Oracle Application Continuity
in Gaia Oracle Service
Improving app resilience across the firm by
simplifying resilient design for our application
engineers
Doug Burns
Vice President
Oracle Engineering Lead
GTI Platform Services
Madhu Bhimaraju
Executive Director
Head of Development & Modernization
Consumer & Community Banking (Chase)
24
Challenges & Solutions
Planned Outages
• Connection Pool Draining, FAN & TAF
• Drain connection pools and allow transactions to
complete within application-specific timeframes.
• Transactions that don’t complete within the
timeout are rolled back. Apps need to detect and
replay.
Unplanned Outages
• In-flight Transactions are always rolled back
to preserve database integrity. Apps need to
detect and replay.
Oracle 19c Transparent Application Continuity
• Automatically tracks in-flight transactions and replays them when service is restored.
• Zero/Low Dev Effort. Other than connecting to a different Service we provide; possibly defining
transaction boundaries; and using a different driver - no detection/recovery code required.
• Modern App Design is still relevant. Works best with connection pools and well-designed apps that borrow
connections, execute one transaction then return to the pool.
25
25
Gaia Oracle Service
(GOS)
1
2
3
4
5
Private Oracle Cloud
Opinionated. Rapid Provisioning. No-DBA model.
Customers
Strategic platform for internal Oracle databases
60-70% cloud v. non-cloud in 3 years and on a great trajectory
Critical zero-downtime applications e.g. Debit, Payments etc.,
MAA
Closely follows detailed MAA recommendations
All Production databases are RAC clusters and have at least one ADG
Standby.
Security & Hygiene
Mandatory application of Release Updates.
Opinionated security model.
Self-Service
… means self-service! Full Repave capabilities, Rolling Patching,
Switchover/Failover, Create/Stop/Start Services.
26
26
1
2
3
4
5
Key Lessons
Application Feature
Application, Application Server configuration and great software
engineers.
For the DBAs in the audience … this requires collaboration.
Client Versions
Non-negotiable and not a significant issue for us.
Testing
There is play-testing/PoC and real testing.
How do you recreate all possible scenarios?
Sense of wonder!
Once all the guidance has been followed and requirements met, it’s
an amazing feature!
Information Sources
Google Search is not your friend. Best sources of information are
from the Oracle Product Team and are all available at “Oracle
Application Continuity”
Application Continuity Best Practices
Thank you
Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates

More Related Content

What's hot

Sga internals
Sga internalsSga internals
Sga internals
sergkosko
 

What's hot (20)

Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudOracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
Oracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACOracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RAC
 
Oracle data guard for beginners
Oracle data guard for beginnersOracle data guard for beginners
Oracle data guard for beginners
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
Data Guard Architecture & Setup
Data Guard Architecture & SetupData Guard Architecture & Setup
Data Guard Architecture & Setup
 
Oracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud InfrastructureOracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud Infrastructure
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
Scaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssScaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ss
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action final
 
Sga internals
Sga internalsSga internals
Sga internals
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
Enterprise manager 13c
Enterprise manager 13cEnterprise manager 13c
Enterprise manager 13c
 
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
 
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast SlidesOracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
 

Similar to Achieving Continuous Availability for Your Applications with Oracle MAA

Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Akash Pramanik
 

Similar to Achieving Continuous Availability for Your Applications with Oracle MAA (20)

Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19c
 
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
HA, Scalability, DR & MAA in Oracle Database 21c - OverviewHA, Scalability, DR & MAA in Oracle Database 21c - Overview
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2
 
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
"It can always get worse!" – Lessons Learned in over 20 years working with Or..."It can always get worse!" – Lessons Learned in over 20 years working with Or...
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
 
Oracle Database – Mission Critical
Oracle Database – Mission CriticalOracle Database – Mission Critical
Oracle Database – Mission Critical
 
Whats new in Autonomous Database in 2022
Whats new in Autonomous Database in 2022Whats new in Autonomous Database in 2022
Whats new in Autonomous Database in 2022
 
Power of the AWR Warehouse
Power of the AWR WarehousePower of the AWR Warehouse
Power of the AWR Warehouse
 
Make Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMake Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For It
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Streamline it management
Streamline it managementStreamline it management
Streamline it management
 
ODW 2021 - Automated patching and compliance to improve database security.pptx
ODW 2021 - Automated patching and compliance to improve database security.pptxODW 2021 - Automated patching and compliance to improve database security.pptx
ODW 2021 - Automated patching and compliance to improve database security.pptx
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
 
One database solution for your enterprise business - Oracle 12c
One database solution for your enterprise business - Oracle 12cOne database solution for your enterprise business - Oracle 12c
One database solution for your enterprise business - Oracle 12c
 
Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager
 
con8832-cloudha-2811114.pdf
con8832-cloudha-2811114.pdfcon8832-cloudha-2811114.pdf
con8832-cloudha-2811114.pdf
 
Využijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplnoVyužijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplno
 
Why Upgrade to Oracle Database 12c?
Why Upgrade to Oracle Database 12c?Why Upgrade to Oracle Database 12c?
Why Upgrade to Oracle Database 12c?
 
(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud
 
Why to Use an Oracle Database?
Why to Use an Oracle Database? Why to Use an Oracle Database?
Why to Use an Oracle Database?
 

More from Markus Michalewicz

More from Markus Michalewicz (19)

Oracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High AvailabilityOracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High Availability
 
2020 – A Decade of Change
2020 – A Decade of Change2020 – A Decade of Change
2020 – A Decade of Change
 
Why Use an Oracle Database?
Why Use an Oracle Database?Why Use an Oracle Database?
Why Use an Oracle Database?
 
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2..."Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
 
MAA for Oracle Database, Exadata and the Cloud
MAA for Oracle Database, Exadata and the CloudMAA for Oracle Database, Exadata and the Cloud
MAA for Oracle Database, Exadata and the Cloud
 
(Oracle) DBA and Other Skills Needed in 2020
(Oracle) DBA and Other Skills Needed in 2020(Oracle) DBA and Other Skills Needed in 2020
(Oracle) DBA and Other Skills Needed in 2020
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
 
Oracle Database Availability & Scalability Across Versions & Editions
Oracle Database Availability & Scalability Across Versions & EditionsOracle Database Availability & Scalability Across Versions & Editions
Oracle Database Availability & Scalability Across Versions & Editions
 
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous DatabaseOracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous Database
 
From HA to Maximum Availability - A Holistic Historical Discussion
From HA to Maximum Availability - A Holistic Historical DiscussionFrom HA to Maximum Availability - A Holistic Historical Discussion
From HA to Maximum Availability - A Holistic Historical Discussion
 
A Cloud Journey - Move to the Oracle Cloud
A Cloud Journey - Move to the Oracle CloudA Cloud Journey - Move to the Oracle Cloud
A Cloud Journey - Move to the Oracle Cloud
 
Oracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications ConsiderationsOracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications Considerations
 
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support UpdateOracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
 
(Oracle) DBA Skills to Have, to Obtain and to Nurture
(Oracle) DBA Skills to Have, to Obtain and to Nurture(Oracle) DBA Skills to Have, to Obtain and to Nurture
(Oracle) DBA Skills to Have, to Obtain and to Nurture
 
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An OverviewOracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
 
Oracle Sharding 18c - Technical Overview
Oracle Sharding 18c - Technical OverviewOracle Sharding 18c - Technical Overview
Oracle Sharding 18c - Technical Overview
 
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
 
Oracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New FeaturesOracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New Features
 
MAA - Best Practices for the Cloud
MAA - Best Practices for the CloudMAA - Best Practices for the Cloud
MAA - Best Practices for the Cloud
 

Recently uploaded

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
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
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...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Achieving Continuous Availability for Your Applications with Oracle MAA

  • 1. Achieving Continuous Availability for Your Applications with Oracle MAA October 17–20, 2022 Caesars Forum and The Venetian Las Vegas, NV Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates
  • 2. Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Speakers Ian Cookson Senior Principal Product Manager Oracle Clusterware & Application Continuity Oracle Markus Michalewicz Vice President of Product Management Database High Availability, Scalability, and MAA Oracle Doug Burns Vice President Oracle Engineering Lead GTI Platform Services JPMorgan Chase 2
  • 3. 1. Why Transparent Application Continuity (TAC) should be your default choice 2. High Availability requirements to ensure Business Continuity 3. How to efficiently use TAC for planned maintenance and unplanned outages 4. What to do when Transparent Application Continuity does not fit 5. Customer Example Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Topics Covered in this Presentation 3
  • 4. Scale out & Lifecycle Data protection Standardized Reference Architectures for Never-Down Deployments Oracle Maximum Availability Architecture (MAA) Reference architectures Deployment choices HA features, configuration and operational practices Customer insights and expert recommendations Production site Replicated site Replication Generic Systems Engineered Systems BaseDB, ExaDB/ExaCC Autonomous DB Flashback RMAN + ZDLRA Continuous availability Application Continuity Edition-based Redefinition Active replication Active Data Guard RAC Sharding FPP 24/7 GoldenGate Online Redefinition Zero Downtime Migration (ZDM) Bronze Silver Gold Platinum Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates 4
  • 5. Business Continuity • Eliminates downtime for users • In-flight work is preserved • Maintenance is hidden • Predictable performance • Errors visible only if unrecoverable • Builds on top of High Availability Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Maximum Availability • Minimizes downtime • In-flight work is lost • Rolling maintenance on DB-level • Predictable runtime performance • Errors may be visible • High Availability building blocks From Maximum Availability to Business Continuity 5
  • 6. Transparent Application Continuity (TAC) • For planned maintenance and unplanned outages • Available with Oracle RAC and Active Data Guard • Default on Oracle Autonomous Database Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Application Continuity (AC) • For planned maintenance and unplanned outages • Available with Oracle RAC and Active Data Guard • Requires Oracle connection pool One Solution – Two Flavors 6
  • 7. • Based on the same HA requirements as AC, TAC covers most SQL use cases: • TAC works with and without Oracle connection pools. • ACchk can be used to determine the protection provided. • Oracle 19c Databases and Clients and later provide best results. • High Availability (HA) requirements include: • Use of Oracle Database services. • Using an optimized TNS connection string. • Draining is part of maintenance operations. • Active Data Guard for Disaster Recovery. • TAC seamlessly improves business continuity on Autonomous Database • Using the same standards, TAC can help improve your application availability, too. Default on Oracle Autonomous Database – Why? Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Transparent Application Continuity 7
  • 8. And catch applications that use coding practices that prevent safe replays Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Determine the Protection Provided by TAC with ACchk Disable Reason ORA-41429: side effect detected 8
  • 9. High Availability Requirements Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Business Continuity 9
  • 10. • Always use user-defined database services to connect with any database/PDB • Never use the default service Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Use Database Services $ srvctl add service -d <DATABASE NAME> -s <SERVICE NAME> [-pdb <PDB NAME>] -preferred <INSTANCE NAME, …> -available <INSTANCE NAME, …> -notification true -reset_state level1 [21c+] -failover_restore AUTO -commit_outcome TRUE -failovertype AUTO -replay_init_time 600 -drain_timeout 300 -stopoption IMMEDIATE -role PRIMARY 10 Application Continuity (AC) Workload Draining RAC HA
  • 11. T Y P E N O N T L S ( A D B - D) T L S N A M E S TA N D BY ( A D B - D) T L S S TA N D BY ( A D B - D) High priority OLTP 1 tpurgent tpurgent_tls tpurgent_ro tpurgent_ro_tls Typical OLTP 1 tp tp_tls tp_ro tp_ro_tls High priority Reporting 2 high high_tls high_ro high_ro_tls Typical Reporting 2 medium medium_tls medium_ro medium_ro_tls Low priority Reporting 2 low low_tls low_ro low_ro_tls Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Example: Autonomous Pre-Created Services 11 1 Transparent Application Continuity enabled by default 2 Use DBMS_APP_CONT_ADMIN.ENABLE_TAC to enable TAC, or Use DBMS_APP_CONT_ADMIN.ENABLE_AC to enable AC
  • 12. • Connecting to a custom database service for a “sales application” • Full Description: jdbc:oracle:thin:@ (DESCRIPTION = (CONNECT_TIMEOUT=90) (TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=50) (RETRY_DELAY=3) (FAILOVER=ON) (ADDRESS_LIST= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-SCANVIP.example.com)(PORT=1522))) (CONNECT_DATA=(SERVICE_NAME=Sales_svc))) Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Connection Best Practices 12
  • 13. Draining describes • an operation that causes sessions to complete their work on a given instance • to prepare the node or the database for maintenance. Draining is a function of the Oracle Database, supported by Oracle drivers, connection pools, and natively by SQL. Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Fast Application Notification (FAN) • Breaks applications out of TCP timeouts. • Notifies clients of status changes on database service-level. • Is automatically configured. Configure Fast Application Notification and use Draining 13
  • 14. Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Drain… Connect… Failover Time TPM Node 1 Node 2 Drain Timeout (1) Drain Node 1 (2) Connect to Node 2 (4) Replay in-flight requests with Application Continuity (3) Terminate in-flight requests 14
  • 15. Planned and Unplanned Outages With Transparent Application Continuity Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates 15
  • 16. • Actions on database level: 1. DB Request interrupted by an error or FAN or drain 2. Session reconnects to the available service 3. Database (DB) Request replays automatically 4. Result from Database Request returned to user • (Transparent) Application Continuity • Fails over within SLA’s • Guarantees commit at most once • Verifies: • Correct database • Correct session state • Correct results Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Unplanned Outages and Planned Failover 1 2 3 2 4 Primary Active Data Guard Standby 3 16
  • 17. When replay is not enabled Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Exclusions Application level • The following is used: • Default database or default PDB service • JDBC OCI (end of life) • Pre-compilers (in development) Remainder of request • Alter system, database (intentionally excluded) • Best effort streaming lobs • XA • Deprecated OCI calls: OCIStmtPrepare, misc api’s • Database links ADG to primary Target database • Different database • DBMS_ROLLING* • Golden Gate • 3rd Party Replication 17
  • 18. What to do when Transparent Application Continuity does not fit Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates 18
  • 19. Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Oracle Database 19c – Offering Two Flavors TAC – simple apps AC – pooled apps Oracle or 3rd party connection pools with request boundaries Yes, if no unrestorable state* Yes Non-pooled or no request boundaries Yes, if no cursors in fetch and no unrestorable state* No Reenables after COMMIT or other disabling call Yes, if no cursors in fetch and no unrestorable state* No, until request boundary SQL, Transactions & Queries Yes Yes PL/SQL Yes, disables side effects Yes, allows side effects Restores state at start of replay Yes Yes Restores mutables Yes Yes Replays over DBlinks No Yes Replays when client state and results match Yes, server state must also match Yes *Unrestorable state examples: PL/SQL global session state, temp tables, session lobs, OJVM 19
  • 20. • Use Transparent Application Continuity (TAC) for applications • Using INSERT, UPDATE, DELETE, SELECT, ALTER SESSION – basic ANSI SQL calls • That may or may not use Oracle connection pools • That can accept that a replay of side effects is disabled automatically • Not requiring transactions over database links to replay • Use Application Continuity (AC) for applications • Using SQL and PL/SQL global session state, temp tables, session LOBs • Can use an Oracle connection pool or other compliant pools (RedHat JBoss) • That need replay of side effects enabled (such as email, audit, logging, file transfer) • Need database link support Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Which Flavor to Use 20
  • 21. • Packaged applications, from Oracle and other vendors, pose special challenges • What has the vendor tested regarding workload draining and Application Continuity? • Certification and support will constrain what versions and configuration options are available • Often designed for older technology stacks, limiting what can be achieved • Oracle & other packaged applications are adopting draining and Application Continuity • E-Business Suite – support for workload draining with SQL connection tests (under development) • JD Edwards – support for workload draining (TAC replay planned to be available soon) • Fusion Middleware – support for workload draining (GA) and Application Continuity (under development) • PeopleSoft – supports draining and TAC replay • Siebel – has its own replay mechanism • SAP – support for workload draining (TAC replay support planned to be available soon) Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates Application Continuity for Packaged Applications 21
  • 22. Customer Example Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates 22
  • 23. Oracle Application Continuity in Gaia Oracle Service Improving app resilience across the firm by simplifying resilient design for our application engineers Doug Burns Vice President Oracle Engineering Lead GTI Platform Services Madhu Bhimaraju Executive Director Head of Development & Modernization Consumer & Community Banking (Chase)
  • 24. 24 Challenges & Solutions Planned Outages • Connection Pool Draining, FAN & TAF • Drain connection pools and allow transactions to complete within application-specific timeframes. • Transactions that don’t complete within the timeout are rolled back. Apps need to detect and replay. Unplanned Outages • In-flight Transactions are always rolled back to preserve database integrity. Apps need to detect and replay. Oracle 19c Transparent Application Continuity • Automatically tracks in-flight transactions and replays them when service is restored. • Zero/Low Dev Effort. Other than connecting to a different Service we provide; possibly defining transaction boundaries; and using a different driver - no detection/recovery code required. • Modern App Design is still relevant. Works best with connection pools and well-designed apps that borrow connections, execute one transaction then return to the pool.
  • 25. 25 25 Gaia Oracle Service (GOS) 1 2 3 4 5 Private Oracle Cloud Opinionated. Rapid Provisioning. No-DBA model. Customers Strategic platform for internal Oracle databases 60-70% cloud v. non-cloud in 3 years and on a great trajectory Critical zero-downtime applications e.g. Debit, Payments etc., MAA Closely follows detailed MAA recommendations All Production databases are RAC clusters and have at least one ADG Standby. Security & Hygiene Mandatory application of Release Updates. Opinionated security model. Self-Service … means self-service! Full Repave capabilities, Rolling Patching, Switchover/Failover, Create/Stop/Start Services.
  • 26. 26 26 1 2 3 4 5 Key Lessons Application Feature Application, Application Server configuration and great software engineers. For the DBAs in the audience … this requires collaboration. Client Versions Non-negotiable and not a significant issue for us. Testing There is play-testing/PoC and real testing. How do you recreate all possible scenarios? Sense of wonder! Once all the guidance has been followed and requirements met, it’s an amazing feature! Information Sources Google Search is not your friend. Best sources of information are from the Oracle Product Team and are all available at “Oracle Application Continuity”
  • 27. Application Continuity Best Practices Thank you Oracle CloudWorld Copyright © 2022, Oracle and/or its affiliates