SlideShare a Scribd company logo
Oracle OpenWorld 2019
S A N F R A N C I S C O
Ask TOM: How to Make &
Test Your Application
“Oracle RAC Ready”
Markus Michalewicz
Senior Director of Database HA & Scalability Product Management
@OracleRACpm
http://www.linkedin.com/in/markusmichalewicz
http://www.slideshare.net/MarkusMichalewicz
Objectives for this Session
• Define what “Oracle RAC Ready” actually means.
• Discuss how to make your application “Oracle RAC Ready”.
• Discuss how to test your application for “Oracle RAC Ready”.
“Oracle RAC Ready” Could Mean 2 Things
1
2
3
4
5
6
UCP, JDBC, ODP.Net,
OCI Session Pool,
Tuxedo, WebLogic
✓
High Availability / Failover
0
5000
10000
15000
20000
25000
30000
35000
40000
4 8 32 48 64 80
2035
4010
15520
22416
30016
37040
# of Cores across Oracle RAC Nodes
Users
2 Nodes
3 Nodes
4 Nodes
5 NodesSAP certified SD Benchmark results
Scalability
The TNS Connector String for High Availability
ALIAS =(DESCRIPTION =
(CONNECT_TIMEOUT=90) (RETRY_COUNT=20)(RETRY_DELAY=3)
(TRANSPORT_CONNECT_TIMEOUT=3)
(ADDRESS_LIST =
(LOAD_BALANCE=on)
( ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521)))
(ADDRESS_LIST =
(LOAD_BALANCE=on)
( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME = gold-cloud)))
Standard for All Drivers starting with Oracle Database 12.2
https://www.slideshare.net/MarkusMichalewicz/oracle-maa-best-practices-applications-considerations
What Needs to be Configured for
Continuous Availability?
• RAC or RAC One, Active Data Guard, GoldenGate …Server Stack
• All databases on Flex ASMFlex ASM
• Services for Location TransparencyServices
• Connections appear continuousContinuous Connections
• FAN or 18c Database for drainingDraining
• Application ContinuityInflight work continues
• Drain in a timely mannerSLA’s
https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/continuous-service-for-apps-on-atpd-5486113.pdf
“Oracle RAC Ready” Usually Means
0
5000
10000
15000
20000
25000
30000
35000
40000
4 8 32 48 64 80
2035
4010
15520
22416
30016
37040
# of Cores across Oracle RAC Nodes
Users
2 Nodes
3 Nodes
4 Nodes
5 NodesSAP certified SD Benchmark results
Scalability
Oracle RAC Scales the World’s
Most Complex Enterprise Workloads
Due to its market leading Cache Fusion algorithm, Oracle RAC scales
1. any feature – e.g. Pluggable Databases, Oracle In-Memory and Oracle Data Guard
2. most enterprise applications – e.g. Ebusiness Suite, SAP, Oracle Hospitality
3. nearly all custom applications as used by many of Oracle’s >18000 RAC customers
• Without the need for significant application changes
• Especially on Oracle Exadata Database Machines
• Does the application scale on single (SMP) system?
Scaling Principles
write
write
write
write
write
write
write
write
write
write
write
write
write
write
write
write
• If it does, it is likely to scale horizontally.
• Scalability is measured considering the whole system.
Node 2Node 1
Node 1
Expectation: ~90% scalability rate across the system as defined
Oracle RAC Scales Nearly Linearly
For test and application changes
• Focus on applications scaling with <80% scalability rate across the system in first go.
• Best results come from application optimization. Schema optimization can complement.
The Must Dos
Avoid Pipes
DBMS_PIPE can be
used with RAC, but
application changes
required make it work
outweigh benefits.
Use Advanced
Queuing (AQ) instead.
Use Connection Pools
Control the number of
concurrent processes
using a well-balanced
workload across nodes.
Hence, use (FAN
enabled) Connection
Pools.
Use Scalable Sequences
Use non-ordered &
cached sequences if
sequence is used to
generate primary key.
Use Scalable
Sequences (new in 18c)
[see next slide]
Avoid Write Contention
Frequent transactional
changes to the same
data blocks in all
instances may result in
“write hot spots”.
Some derivation of this
occurrence is likely the
reason for a less than
expected scaling result.
NUM
INC1()
Sequence
Connection
Pool
Next Slides
https://www.oracle.com/technetwork/database/options/clustering/overview/racappdevbp-3124851.pdf
New option in Create/Alter Sequence
SCALE {Extend |NoExtend | NoScale }
When Scale is specified an internal
algorithm uses the instance id and other
session specific information to generate an
offset
DBAs need to alter existing sequences
DBA/User/ALL_sequences will reflect the
additional attributes
Scalable Sequences Operational Details
à Using Enterprise Manager (EM), AWR Report…
How to Identify a Contention Issue?
Impact of Application Contention
on (index or) application data
https://www.slideshare.net/MarkusMichalewicz/oracle-rac-12c-practical-performance-management-and-tuningoow13con8825
Impact of
Application
Contention
Index
Contention
Block on the way
from another
instance
Transfer delayed by
log flush on other
node(s)
ClusterSingle Instance
Contention can occur in any
multi-user system (even in
Single Instance databases)
Scaling out, contention can
occur between instances
(not only within an instance).
From a contention
perspective, the number of
nodes is irrelevant.
Contention – The Basics
write
write
write
write
write
write
write
write
https://www.slideshare.net/MarkusMichalewicz/oracle-rac-internals-the-cache-fusion-edition
Frequent transactional changes
to the same data blocks may
result in “write hot spots”
Pending redo must be written
to log before the block can be
transferred
Contention can affect related data as
much as it can affect the user data.
Right growing indexes and
index contention are common.
In 99% of OLTP performance issues,
write hot spots occur on indexes.
Contention – Considerations
Sequence
REDO
https://www.slideshare.net/MarkusMichalewicz/oracle-rac-internals-the-cache-fusion-edition
Smart Fusion Block Transfer
Improves Cache Fusion latency
by allowing LMS to serve dirty
blocks as soon as a REDO flush
is initiated
Contention – Some Solutions
ExaFusion Direct-to-Wire
OLTP Protocol allows the
database to directly call into
the InfiniBand HW.
3x faster Right-Growing Index
performance due to
Leaf Block Split Optimizations,
Scalable Sequences,
Commit Cache
Contention – Another Solution: Oracle RAC 19c
• Oracle RAC performance
has improved up to
• 5x between Oracle RAC 11.2.0.4 & 18.1
• for high contention workloads
• Exadata-based optimizations:
• “Smart Fusion Block Transfer” (*12.2)
• Undo RDMA-Read (*18c)
5x
faster
How to Test an Application “RAC Ready”?
1. Use a (dedicated / temporary) Oracle RAC test system.
Ø Use Real Application Testing (RAT) to simulate load as needed.
2. Standardize on Oracle RAC One Node (http://oracle.com/goto/racone)
Ø Oracle RAC One Node uses the same infrastructure as full Oracle RAC.
Ø Oracle RAC One Node can be temporarily transformed into full RAC.
3. Standardize on Oracle RAC (and consolidate)
Ø Use Singleton Services by default for all applications.
Ø Use non-Singleton Services (temporarily) to (test) scale an application.
4. Use an Oracle RAC deployment in Oracle Cloud
Ø 2-node VM and multi-node Exadata-services available.
Ø Note that Autonomous Database uses Oracle RAC by default.
Ø Use Zero Downtime Migration (ZDM) to move to Oracle Cloud.
(http://oracle.com/goto/zdm)
Autonomous Database = RAC on Exadata (& More)
Autonomous
Database
Automated
Data Center Operations
Oracle Cloud
• Oracle RAC has been enhanced to meet Autonomous Transaction Processing Dedicated (ATP-D) requirements.
• RAC Resource Runtime Management – allows for (memory) structures to be dynamically modified.
• Colocation of workload – to define that workload should run in 1 instance independent of service
• Connect_Data SESSION_SETTINGS – define actions and set set parameters as part of the connect string
• More https://www.slideshare.net/MarkusMichalewicz/oracle-rac19c-the-basis-for-the-autonomous-database
More Information
https://www.oracle.com/technetwork/database
/options/clustering/applicationcontinuity/contin
uous-service-for-apps-on-atpd-5486113.pdf
https://www.oracle.com/technetwork/database/opti
ons/clustering/overview/racappdevbp-3124851.pdf

More Related Content

What's hot (20)

PDF
Oracle Extended Clusters for Oracle RAC
Markus Michalewicz
 
PDF
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
 
PDF
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 
PDF
Long live to CMAN!
Ludovico Caldara
 
PDF
Make Your Application “Oracle RAC Ready” & Test For It
Markus Michalewicz
 
PDF
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
PPTX
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
PDF
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 
PDF
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
SrirakshaSrinivasan2
 
PDF
Oracle RAC 12c Overview
Markus Michalewicz
 
PDF
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
 
PDF
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
 
PDF
New Generation Oracle RAC Performance
Anil Nair
 
PDF
Understanding oracle rac internals part 2 - slides
Mohamed Farouk
 
PDF
Oracle RAC Internals - The Cache Fusion Edition
Markus Michalewicz
 
PDF
Standard Edition High Availability (SEHA) - The Why, What & How
Markus Michalewicz
 
PDF
Oracle DB 19c: SQL Tuning Using SPM
Arturo Aranda
 
PDF
Oracle Cloud is Best for Oracle Database - High Availability
Markus Michalewicz
 
PDF
Oracle Integration Cloud 概要(20200507版)
オラクルエンジニア通信
 
PDF
A deep dive about VIP,HAIP, and SCAN
Riyaj Shamsudeen
 
Oracle Extended Clusters for Oracle RAC
Markus Michalewicz
 
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
Markus Michalewicz
 
Long live to CMAN!
Ludovico Caldara
 
Make Your Application “Oracle RAC Ready” & Test For It
Markus Michalewicz
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
SrirakshaSrinivasan2
 
Oracle RAC 12c Overview
Markus Michalewicz
 
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
 
New Generation Oracle RAC Performance
Anil Nair
 
Understanding oracle rac internals part 2 - slides
Mohamed Farouk
 
Oracle RAC Internals - The Cache Fusion Edition
Markus Michalewicz
 
Standard Edition High Availability (SEHA) - The Why, What & How
Markus Michalewicz
 
Oracle DB 19c: SQL Tuning Using SPM
Arturo Aranda
 
Oracle Cloud is Best for Oracle Database - High Availability
Markus Michalewicz
 
Oracle Integration Cloud 概要(20200507版)
オラクルエンジニア通信
 
A deep dive about VIP,HAIP, and SCAN
Riyaj Shamsudeen
 

Similar to AskTom: How to Make and Test Your Application "Oracle RAC Ready"? (20)

PDF
Unlocking Business Potential with Oracle Real
Data Patrol Technologies
 
PDF
Oracle RAC - New Generation
Anil Nair
 
DOCX
Muhammad Hameed Chaudhry
Aamir Chaudhry
 
PPT
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Toronto-Oracle-Users-Group
 
PDF
Best practices for_large_oracle_apps_r12_implementations
Ajith Narayanan
 
PDF
OOW16 - Getting Optimal Performance from Oracle E-Business Suite [CON6711]
vasuballa
 
PDF
New availability features in oracle rac 12c release 2 anair ss
Anil Nair
 
PPTX
PASS Summit 2020
Kellyn Pot'Vin-Gorman
 
DOC
MOHAMMED VIKHAR AHMED
Mohammed Vaqar
 
DOC
Resume_Mohammed_Ali_Updated
Mohammed Ali
 
DOCX
Resume
Rohit Sharma
 
PDF
Achieving Continuous Availability for Your Applications with Oracle MAA
Markus Michalewicz
 
PDF
🏗️Improve database performance with connection pooling and load balancing tec...
Alireza Kamrani
 
DOC
Yugandhar uppala oracle dba_2016
Yugandhar Uppala
 
PPTX
CON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptx
SergioBruno21
 
DOCX
Ashutosh_Resume
ashutosh pandey
 
PDF
Shaik Abbas DBA
shaik abbas
 
PDF
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
sheriframadan18
 
PDF
Oracle RAC 12c Rel. 2 for Continuous Availability
Markus Michalewicz
 
PDF
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Markus Michalewicz
 
Unlocking Business Potential with Oracle Real
Data Patrol Technologies
 
Oracle RAC - New Generation
Anil Nair
 
Muhammad Hameed Chaudhry
Aamir Chaudhry
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Toronto-Oracle-Users-Group
 
Best practices for_large_oracle_apps_r12_implementations
Ajith Narayanan
 
OOW16 - Getting Optimal Performance from Oracle E-Business Suite [CON6711]
vasuballa
 
New availability features in oracle rac 12c release 2 anair ss
Anil Nair
 
PASS Summit 2020
Kellyn Pot'Vin-Gorman
 
MOHAMMED VIKHAR AHMED
Mohammed Vaqar
 
Resume_Mohammed_Ali_Updated
Mohammed Ali
 
Resume
Rohit Sharma
 
Achieving Continuous Availability for Your Applications with Oracle MAA
Markus Michalewicz
 
🏗️Improve database performance with connection pooling and load balancing tec...
Alireza Kamrani
 
Yugandhar uppala oracle dba_2016
Yugandhar Uppala
 
CON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptx
SergioBruno21
 
Ashutosh_Resume
ashutosh pandey
 
Shaik Abbas DBA
shaik abbas
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
sheriframadan18
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Markus Michalewicz
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Markus Michalewicz
 
Ad

More from Markus Michalewicz (20)

PDF
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Markus Michalewicz
 
PDF
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Markus Michalewicz
 
PDF
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
Markus Michalewicz
 
PDF
Oracle Database – Mission Critical
Markus Michalewicz
 
PDF
2020 – A Decade of Change
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
Oracle Database Availability & Scalability Across Versions & Editions
Markus Michalewicz
 
PDF
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
 
PDF
From HA to Maximum Availability - A Holistic Historical Discussion
Markus Michalewicz
 
PDF
Why to Use an Oracle Database?
Markus Michalewicz
 
PDF
A Cloud Journey - Move to the Oracle Cloud
Markus Michalewicz
 
PDF
Oracle MAA Best Practices - Applications Considerations
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
 
"It can always get worse!" – Lessons Learned in over 20 years working with Or...
Markus Michalewicz
 
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Markus Michalewicz
 
HA, Scalability, DR & MAA in Oracle Database 21c - Overview
Markus Michalewicz
 
Oracle Database – Mission Critical
Markus Michalewicz
 
2020 – A Decade of Change
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
 
Oracle Database Availability & Scalability Across Versions & Editions
Markus Michalewicz
 
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
 
From HA to Maximum Availability - A Holistic Historical Discussion
Markus Michalewicz
 
Why to Use an Oracle Database?
Markus Michalewicz
 
A Cloud Journey - Move to the Oracle Cloud
Markus Michalewicz
 
Oracle MAA Best Practices - Applications Considerations
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
 
Ad

Recently uploaded (20)

PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 

AskTom: How to Make and Test Your Application "Oracle RAC Ready"?

  • 1. Oracle OpenWorld 2019 S A N F R A N C I S C O
  • 2. Ask TOM: How to Make & Test Your Application “Oracle RAC Ready” Markus Michalewicz Senior Director of Database HA & Scalability Product Management @OracleRACpm http://www.linkedin.com/in/markusmichalewicz http://www.slideshare.net/MarkusMichalewicz
  • 3. Objectives for this Session • Define what “Oracle RAC Ready” actually means. • Discuss how to make your application “Oracle RAC Ready”. • Discuss how to test your application for “Oracle RAC Ready”.
  • 4. “Oracle RAC Ready” Could Mean 2 Things 1 2 3 4 5 6 UCP, JDBC, ODP.Net, OCI Session Pool, Tuxedo, WebLogic ✓ High Availability / Failover 0 5000 10000 15000 20000 25000 30000 35000 40000 4 8 32 48 64 80 2035 4010 15520 22416 30016 37040 # of Cores across Oracle RAC Nodes Users 2 Nodes 3 Nodes 4 Nodes 5 NodesSAP certified SD Benchmark results Scalability
  • 5. The TNS Connector String for High Availability ALIAS =(DESCRIPTION = (CONNECT_TIMEOUT=90) (RETRY_COUNT=20)(RETRY_DELAY=3) (TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (LOAD_BALANCE=on) ( ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521))) (ADDRESS_LIST = (LOAD_BALANCE=on) ( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME = gold-cloud))) Standard for All Drivers starting with Oracle Database 12.2 https://www.slideshare.net/MarkusMichalewicz/oracle-maa-best-practices-applications-considerations
  • 6. What Needs to be Configured for Continuous Availability? • RAC or RAC One, Active Data Guard, GoldenGate …Server Stack • All databases on Flex ASMFlex ASM • Services for Location TransparencyServices • Connections appear continuousContinuous Connections • FAN or 18c Database for drainingDraining • Application ContinuityInflight work continues • Drain in a timely mannerSLA’s https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/continuous-service-for-apps-on-atpd-5486113.pdf
  • 7. “Oracle RAC Ready” Usually Means 0 5000 10000 15000 20000 25000 30000 35000 40000 4 8 32 48 64 80 2035 4010 15520 22416 30016 37040 # of Cores across Oracle RAC Nodes Users 2 Nodes 3 Nodes 4 Nodes 5 NodesSAP certified SD Benchmark results Scalability
  • 8. Oracle RAC Scales the World’s Most Complex Enterprise Workloads Due to its market leading Cache Fusion algorithm, Oracle RAC scales 1. any feature – e.g. Pluggable Databases, Oracle In-Memory and Oracle Data Guard 2. most enterprise applications – e.g. Ebusiness Suite, SAP, Oracle Hospitality 3. nearly all custom applications as used by many of Oracle’s >18000 RAC customers • Without the need for significant application changes • Especially on Oracle Exadata Database Machines
  • 9. • Does the application scale on single (SMP) system? Scaling Principles write write write write write write write write write write write write write write write write • If it does, it is likely to scale horizontally. • Scalability is measured considering the whole system. Node 2Node 1 Node 1
  • 10. Expectation: ~90% scalability rate across the system as defined Oracle RAC Scales Nearly Linearly For test and application changes • Focus on applications scaling with <80% scalability rate across the system in first go. • Best results come from application optimization. Schema optimization can complement.
  • 11. The Must Dos Avoid Pipes DBMS_PIPE can be used with RAC, but application changes required make it work outweigh benefits. Use Advanced Queuing (AQ) instead. Use Connection Pools Control the number of concurrent processes using a well-balanced workload across nodes. Hence, use (FAN enabled) Connection Pools. Use Scalable Sequences Use non-ordered & cached sequences if sequence is used to generate primary key. Use Scalable Sequences (new in 18c) [see next slide] Avoid Write Contention Frequent transactional changes to the same data blocks in all instances may result in “write hot spots”. Some derivation of this occurrence is likely the reason for a less than expected scaling result. NUM INC1() Sequence Connection Pool Next Slides https://www.oracle.com/technetwork/database/options/clustering/overview/racappdevbp-3124851.pdf
  • 12. New option in Create/Alter Sequence SCALE {Extend |NoExtend | NoScale } When Scale is specified an internal algorithm uses the instance id and other session specific information to generate an offset DBAs need to alter existing sequences DBA/User/ALL_sequences will reflect the additional attributes Scalable Sequences Operational Details
  • 13. à Using Enterprise Manager (EM), AWR Report… How to Identify a Contention Issue? Impact of Application Contention on (index or) application data https://www.slideshare.net/MarkusMichalewicz/oracle-rac-12c-practical-performance-management-and-tuningoow13con8825 Impact of Application Contention Index Contention Block on the way from another instance Transfer delayed by log flush on other node(s) ClusterSingle Instance
  • 14. Contention can occur in any multi-user system (even in Single Instance databases) Scaling out, contention can occur between instances (not only within an instance). From a contention perspective, the number of nodes is irrelevant. Contention – The Basics write write write write write write write write https://www.slideshare.net/MarkusMichalewicz/oracle-rac-internals-the-cache-fusion-edition
  • 15. Frequent transactional changes to the same data blocks may result in “write hot spots” Pending redo must be written to log before the block can be transferred Contention can affect related data as much as it can affect the user data. Right growing indexes and index contention are common. In 99% of OLTP performance issues, write hot spots occur on indexes. Contention – Considerations Sequence REDO https://www.slideshare.net/MarkusMichalewicz/oracle-rac-internals-the-cache-fusion-edition
  • 16. Smart Fusion Block Transfer Improves Cache Fusion latency by allowing LMS to serve dirty blocks as soon as a REDO flush is initiated Contention – Some Solutions ExaFusion Direct-to-Wire OLTP Protocol allows the database to directly call into the InfiniBand HW. 3x faster Right-Growing Index performance due to Leaf Block Split Optimizations, Scalable Sequences, Commit Cache
  • 17. Contention – Another Solution: Oracle RAC 19c • Oracle RAC performance has improved up to • 5x between Oracle RAC 11.2.0.4 & 18.1 • for high contention workloads • Exadata-based optimizations: • “Smart Fusion Block Transfer” (*12.2) • Undo RDMA-Read (*18c) 5x faster
  • 18. How to Test an Application “RAC Ready”? 1. Use a (dedicated / temporary) Oracle RAC test system. Ø Use Real Application Testing (RAT) to simulate load as needed. 2. Standardize on Oracle RAC One Node (http://oracle.com/goto/racone) Ø Oracle RAC One Node uses the same infrastructure as full Oracle RAC. Ø Oracle RAC One Node can be temporarily transformed into full RAC. 3. Standardize on Oracle RAC (and consolidate) Ø Use Singleton Services by default for all applications. Ø Use non-Singleton Services (temporarily) to (test) scale an application. 4. Use an Oracle RAC deployment in Oracle Cloud Ø 2-node VM and multi-node Exadata-services available. Ø Note that Autonomous Database uses Oracle RAC by default. Ø Use Zero Downtime Migration (ZDM) to move to Oracle Cloud. (http://oracle.com/goto/zdm)
  • 19. Autonomous Database = RAC on Exadata (& More) Autonomous Database Automated Data Center Operations Oracle Cloud • Oracle RAC has been enhanced to meet Autonomous Transaction Processing Dedicated (ATP-D) requirements. • RAC Resource Runtime Management – allows for (memory) structures to be dynamically modified. • Colocation of workload – to define that workload should run in 1 instance independent of service • Connect_Data SESSION_SETTINGS – define actions and set set parameters as part of the connect string • More https://www.slideshare.net/MarkusMichalewicz/oracle-rac19c-the-basis-for-the-autonomous-database