SlideShare a Scribd company logo
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

PDF
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
PPT
Ash masters : advanced ash analytics on Oracle
PDF
Oracle RAC 19c: Best Practices and Secret Internals
PDF
New Generation Oracle RAC Performance
PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
PDF
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
PPT
Oracle Transparent Data Encryption (TDE) 12c
PDF
Understanding oracle rac internals part 1 - slides
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
Ash masters : advanced ash analytics on Oracle
Oracle RAC 19c: Best Practices and Secret Internals
New Generation Oracle RAC Performance
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
Oracle Transparent Data Encryption (TDE) 12c
Understanding oracle rac internals part 1 - slides

What's hot (20)

PPTX
Oracle ASM Training
PDF
Oracle Performance Tuning Fundamentals
PDF
Migration to Oracle Multitenant
PPTX
What to Expect From Oracle database 19c
PDF
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
PDF
Same plan different performance
PDF
MAA Best Practices for Oracle Database 19c
PPTX
Fast Start Failover DataGuard
PDF
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
PDF
Oracle db performance tuning
PDF
Oracle RAC Internals - The Cache Fusion Edition
PDF
Deep review of LMS process
PDF
Maximum Availability Architecture - Best Practices for Oracle Database 19c
PPTX
Why oracle data guard new features in oracle 18c, 19c
PDF
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
PPTX
Oracle architecture with details-yogiji creations
PDF
DB12c: All You Need to Know About the Resource Manager
PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
PPTX
Explain the explain_plan
PDF
Oracle Flex ASM - What’s New and Best Practices by Jim Williams
Oracle ASM Training
Oracle Performance Tuning Fundamentals
Migration to Oracle Multitenant
What to Expect From Oracle database 19c
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Same plan different performance
MAA Best Practices for Oracle Database 19c
Fast Start Failover DataGuard
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle db performance tuning
Oracle RAC Internals - The Cache Fusion Edition
Deep review of LMS process
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Why oracle data guard new features in oracle 18c, 19c
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle architecture with details-yogiji creations
DB12c: All You Need to Know About the Resource Manager
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
Explain the explain_plan
Oracle Flex ASM - What’s New and Best Practices by Jim Williams
Ad

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

PDF
Oracle Application Continuity with Oracle RAC for java
PDF
Database failover from client perspective
PDF
How To Configure Client Failover For Data Guard Connections Using Database Se...
PDF
Oracle Database Availability & Scalability Across Versions & Editions
PDF
Oracle Cloud Maximum Availability Architecture
PDF
Oracle Active Data Guard: Best Practices and New Features Deep Dive
PDF
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
PPTX
Get the most out of Oracle Data Guard - OOW version
PDF
Why to Use an Oracle Database?
PPTX
Oracle database 12c new features
PDF
Oracle Database – Mission Critical
PDF
Oracle RAC 12c Overview
PPTX
Get the most out of Oracle Data Guard - POUG version
PDF
Oracle MAA Best Practices - Applications Considerations
PDF
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
PDF
Continuous Availability for Private Database Clouds
PDF
Oracle Database 12c with RAC High Availability Best Practices
PDF
Oracle Data Protection - 1. část
PDF
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Oracle Application Continuity with Oracle RAC for java
Database failover from client perspective
How To Configure Client Failover For Data Guard Connections Using Database Se...
Oracle Database Availability & Scalability Across Versions & Editions
Oracle Cloud Maximum Availability Architecture
Oracle Active Data Guard: Best Practices and New Features Deep Dive
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
Get the most out of Oracle Data Guard - OOW version
Why to Use an Oracle Database?
Oracle database 12c new features
Oracle Database – Mission Critical
Oracle RAC 12c Overview
Get the most out of Oracle Data Guard - POUG version
Oracle MAA Best Practices - Applications Considerations
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Continuous Availability for Private Database Clouds
Oracle Database 12c with RAC High Availability Best Practices
Oracle Data Protection - 1. část
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Ad

More from Markus Michalewicz (20)

PDF
Oracle Cloud is Best for Oracle Database - High Availability
PDF
2020 – A Decade of Change
PDF
Standard Edition High Availability (SEHA) - The Why, What & How
PDF
Why Use an Oracle Database?
PDF
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
PDF
Oracle RAC 19c and Later - Best Practices #OOWLON
PDF
MAA for Oracle Database, Exadata and the Cloud
PDF
(Oracle) DBA and Other Skills Needed in 2020
PDF
Make Your Application “Oracle RAC Ready” & Test For It
PDF
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
PDF
Oracle RAC 19c - the Basis for the Autonomous Database
PDF
From HA to Maximum Availability - A Holistic Historical Discussion
PDF
A Cloud Journey - Move to the Oracle Cloud
PDF
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
PDF
(Oracle) DBA Skills to Have, to Obtain and to Nurture
PDF
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
PDF
Oracle Sharding 18c - Technical Overview
PDF
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
PDF
Oracle RAC - Roadmap for New Features
PDF
MAA - Best Practices for the Cloud
Oracle Cloud is Best for Oracle Database - High Availability
2020 – A Decade of Change
Standard Edition High Availability (SEHA) - The Why, What & How
Why Use an Oracle Database?
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
Oracle RAC 19c and Later - Best Practices #OOWLON
MAA for Oracle Database, Exadata and the Cloud
(Oracle) DBA and Other Skills Needed in 2020
Make Your Application “Oracle RAC Ready” & Test For It
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
Oracle RAC 19c - the Basis for the Autonomous Database
From HA to Maximum Availability - A Holistic Historical Discussion
A Cloud Journey - Move to the Oracle Cloud
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
(Oracle) DBA Skills to Have, to Obtain and to Nurture
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle Sharding 18c - Technical Overview
Under the Hood of the Smartest Availability Features in Oracle's Autonomous D...
Oracle RAC - Roadmap for New Features
MAA - Best Practices for the Cloud

Recently uploaded (20)

PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Understanding Forklifts - TECH EHS Solution
PDF
System and Network Administration Chapter 2
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
AI in Product Development-omnex systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPT
Introduction Database Management System for Course Database
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
ai tools demonstartion for schools and inter college
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 41
VVF-Customer-Presentation2025-Ver1.9.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Online Work Permit System for Fast Permit Processing
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Understanding Forklifts - TECH EHS Solution
System and Network Administration Chapter 2
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Choose the Right IT Partner for Your Business in Malaysia
AI in Product Development-omnex systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction Database Management System for Course Database
2025 Textile ERP Trends: SAP, Odoo & Oracle
ai tools demonstartion for schools and inter college

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