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

What's hot (20)

PDF
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
Markus Michalewicz
 
PDF
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
 
PDF
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
충섭 김
 
PPTX
Oak, the Architecture of the new Repository
Michael Dürig
 
ODP
Logical replication with pglogical
Umair Shahid
 
PPTX
MariaDB Galera Cluster
Abdul Manaf
 
PDF
Log Structured Merge Tree
University of California, Santa Cruz
 
PDF
Kafka 101 and Developer Best Practices
confluent
 
PPTX
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
PDF
Make Your Application “Oracle RAC Ready” & Test For It
Markus Michalewicz
 
PDF
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Kai Wähner
 
PDF
Getting Started with Confluent Schema Registry
confluent
 
PPTX
Introduction to Kafka Cruise Control
Jiangjie Qin
 
PDF
Solving PostgreSQL wicked problems
Alexander Korotkov
 
PDF
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
PPTX
MySQL Monitoring using Prometheus & Grafana
YoungHeon (Roy) Kim
 
PPTX
Modeling Data and Queries for Wide Column NoSQL
ScyllaDB
 
PDF
Producer Performance Tuning for Apache Kafka
Jiangjie Qin
 
PDF
Understanding performance aspects of etcd and Raft
Hitoshi Mitake
 
PDF
The Oracle RAC Family of Solutions - Presentation
Markus Michalewicz
 
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
Markus Michalewicz
 
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
충섭 김
 
Oak, the Architecture of the new Repository
Michael Dürig
 
Logical replication with pglogical
Umair Shahid
 
MariaDB Galera Cluster
Abdul Manaf
 
Log Structured Merge Tree
University of California, Santa Cruz
 
Kafka 101 and Developer Best Practices
confluent
 
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
Make Your Application “Oracle RAC Ready” & Test For It
Markus Michalewicz
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Kai Wähner
 
Getting Started with Confluent Schema Registry
confluent
 
Introduction to Kafka Cruise Control
Jiangjie Qin
 
Solving PostgreSQL wicked problems
Alexander Korotkov
 
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
MySQL Monitoring using Prometheus & Grafana
YoungHeon (Roy) Kim
 
Modeling Data and Queries for Wide Column NoSQL
ScyllaDB
 
Producer Performance Tuning for Apache Kafka
Jiangjie Qin
 
Understanding performance aspects of etcd and Raft
Hitoshi Mitake
 
The Oracle RAC Family of Solutions - Presentation
Markus Michalewicz
 

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

PDF
Oracle Application Continuity with Oracle RAC for java
Alireza Kamrani
 
PDF
Database failover from client perspective
Priit Piipuu
 
PDF
Oracle Database Availability & Scalability Across Versions & Editions
Markus Michalewicz
 
PDF
MAA Best Practices for Oracle Database 19c
Markus Michalewicz
 
PDF
Oracle Cloud Maximum Availability Architecture
Yuri Carvalho Marques
 
PDF
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Glen Hawkins
 
PPTX
Get the most out of Oracle Data Guard - OOW version
Ludovico Caldara
 
PDF
Why to Use an Oracle Database?
Markus Michalewicz
 
PPTX
Oracle database 12c new features
Jakkrapat S.
 
PDF
Oracle Database – Mission Critical
Markus Michalewicz
 
PDF
Oracle RAC 12c Overview
Markus Michalewicz
 
PPTX
Get the most out of Oracle Data Guard - POUG version
Ludovico Caldara
 
PDF
Oracle MAA Best Practices - Applications Considerations
Markus Michalewicz
 
PDF
Continuous Availability for Private Database Clouds
Noel Sidebotham
 
PDF
Oracle Database 12c with RAC High Availability Best Practices
Markus Michalewicz
 
PDF
Oracle Data Protection - 1. část
MarketingArrowECS_CZ
 
PDF
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Markus Michalewicz
 
PDF
Oracle Drivers configuration for High Availability
Ludovico Caldara
 
PDF
Oracle RAC 19c and Later - Best Practices #OOWLON
Markus Michalewicz
 
Oracle Application Continuity with Oracle RAC for java
Alireza Kamrani
 
Database failover from client perspective
Priit Piipuu
 
Oracle Database Availability & Scalability Across Versions & Editions
Markus Michalewicz
 
MAA Best Practices for Oracle Database 19c
Markus Michalewicz
 
Oracle Cloud Maximum Availability Architecture
Yuri Carvalho Marques
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Glen Hawkins
 
Get the most out of Oracle Data Guard - OOW version
Ludovico Caldara
 
Why to Use an Oracle Database?
Markus Michalewicz
 
Oracle database 12c new features
Jakkrapat S.
 
Oracle Database – Mission Critical
Markus Michalewicz
 
Oracle RAC 12c Overview
Markus Michalewicz
 
Get the most out of Oracle Data Guard - POUG version
Ludovico Caldara
 
Oracle MAA Best Practices - Applications Considerations
Markus Michalewicz
 
Continuous Availability for Private Database Clouds
Noel Sidebotham
 
Oracle Database 12c with RAC High Availability Best Practices
Markus Michalewicz
 
Oracle Data Protection - 1. část
MarketingArrowECS_CZ
 
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Markus Michalewicz
 
Oracle Drivers configuration for High Availability
Ludovico Caldara
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Markus Michalewicz
 
Ad

More from Markus Michalewicz (19)

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

Recently uploaded (20)

PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Executive Business Intelligence Dashboards
vandeslie24
 

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