SlideShare a Scribd company logo
Active / Active Configurations  with Oracle Active Data Guard Aris Prassinos www.ArisPrassinos.com Chief Engineer MorphoTrak, SAFRAN Group
MorphoTrak  SAFRAN Group   US subsidiary of Sagem Sécurité, SAFRAN Group Leading innovators in multi-modal Biometric Identification and Verification Fingerprint, palmprint, iris, facial Government and Commercial customers  Law enforcement, border management, civil identification Secure travel documents, e-passports, drivers’ licenses, smart cards Facility / IT access control Chosen as Biometric Provider for FBI Next Generation Identification Program http://www.sagem-securite.com/eng/site.php?spage=04010847
Printrak BIS Printrak Biometrics Identification Solution Over 100 turnkey production installations worldwide  Java-based application using Service Oriented Architecture Oracle Database 11g  Active Data Guard, RAC, XML DB, SecureFiles, ASM
Printrak BIS  Database  Homegrown repository Biometrics and scanned documents stored as LOBs (OOW 2008 S298756) Descriptive data stored as XML (OOW 2009 S311519) Homegrown workflow manager JMS backing store Auditing logs Read intensive mixed OLTP workload
Disaster Recovery  objectives Goal is to minimize overall system cost of a Disaster Recovery architecture by achieving maximum utilization of the DR site  Cost includes: hardware, licensing, development, maintenance, support Constraints WAN with up to 10ms latency between Primary and DR datacenters  Clients experience similar latency connecting to either datacenter Well defined throughput and response time requirements Strong data consistency required Data cannot be logically partitioned to allow update-anywhere without conflicts Minimal data loss RPO RTO measured in minutes
DR architecture Oracle Active Data Guard in Maximum Availability (SYNC) mode Routing all application Writes to Primary Load balancing application Reads to both Primary and Standby Hardware traffic managers allow clients to transparently connect to either datacenter Relying on application server multi-pool capabilities for client failover  (e.g. JBoss HA Datasources / Weblogic Multi Data Sources) Using FSFO with Observer on a third site to avoid split brain
Role-based Services  For each application define two services: *_RW and *_RO *_RW service running on Primary  *_RO service running on both Primary and Standby Using startup trigger to start services that run on all RAC instances on 11gR1 Using FAN callouts to start singleton RAC services on 11gR1 Startup trigger is role-aware  but cannot relocate services when their instance fails 11gR1 srvctl is not role-aware Role-based services can be used with 11gR2 srvctl for all types of services
Application modifications  Latency tolerance not globally applicable to application queries Mix of zero and low latency tolerance application queries All transactions need to be able to read their own writes immediately Application modifications necessary to use role-based services Using database links and synonyms not feasible for our application Stopping and restarting services based on Standby lag not practical either  Using connection pool checker would cause frequent invalidations / reconnections Application wrapper layer implemented using a Decorator design pattern Wrapper layer consists of mostly standardized code Low marginal cost when new APIs added to application
Runtime service selection  For each application method determine which service to use  based on latency tolerance and transactional affinity For Writes: use *_RW service For zero latency or short Reads: use *_RW service For latency tolerant long Reads: Use *_RW service if already inside a transaction  application server transaction APIs used to determine this  Use *_RO service if within acceptable staleness In 11gR1 use query_scn rather than v$dataguard_stats to calculate lag In 11gR2 the STANDBY_MAX_DATA_DELAY feature can be used instead of explicitly calculating lag
Load balancing  effectiveness  Query load balancing not perfect due to unnecessary redirects to Primary Overall lag may be large but tables queried not affected  checking ora_rowscn not a practical solution Apply Lag measurement precision  3sec in 11gR1 / 1sec in 11gR2  Short reads not load balanced  to avoid lag calculation overhead When Standby down need to stop load balancing queries  to avoid stalling due to TCP timeout  Cannot use ONS to switch datasource definition in this scenario Setting SQLnetDef.TCP_CONNTIMEOUT_STR low is not adequate A hardware traffic manager can be used  to virtualize the location of the *_RO service Application server multi-pools best solution if available
Example DR System  10ms redundant network between Primary and DR datacenters  50ms – 80ms network between clients and either Primary or DR  Redo rate up to 3 MB / sec Oracle 11g two-node RAC used for both Primary and DR  Impact  on Primary 5% - 10% depending on latency and redo rate Standby Apply Lag < 3sec depending on redo rate  Primary stalling when connectivity to Standby first lost < 10sec NET_TIMEOUT=10 Total downtime until failover approx. 2 minutes  FSFO threshold = 1 minute  allows for RAC node eviction and other transitory outages  Database failover takes 1 minute to complete once threshold expires
System cost Deploy two medium sized systems (in terms of #CPUs) used in tandem  instead of two large ones having the second as a passive standby Significantly lower overall Oracle licensing costs due to better CPU utilization (even after taking into account the additional Oracle Active Data Guard licenses) Lower administration cost than Multi-Master Replication  Administrator does not need intimate knowledge of application No effort required to detect and resolve data conflicts  Not necessary to do backups on both Primary and Standby  But alternate backup plans needed when chosen backup site is offline
Conclusion  Oracle Active Data Guard Can be used to process OLTP query workload – not just reports - with proper application modifications No excessive trial-and-error tuning necessary if best practices followed Tuning effort is required to minimize impact to Primary when Standby down Simple administration but not a lights-out solution Overall results depend on the trade-offs you are willing to make
Q & A

More Related Content

PDF
Data guard oracle
PPTX
Data Guard25 August
DOCX
Data guard architecture
PPT
Dataguard presentation
PPT
High Availability And Oracle Data Guard 11g R2
PDF
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
PDF
Oracle Data Guard A to Z
PPT
Oracle DataGuard Online Training in USA | INDIA
Data guard oracle
Data Guard25 August
Data guard architecture
Dataguard presentation
High Availability And Oracle Data Guard 11g R2
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Oracle Data Guard A to Z
Oracle DataGuard Online Training in USA | INDIA

What's hot (20)

PPTX
Data Guard Architecture & Setup
PDF
Ioug tip book11_gunukula
PDF
Active dataguard
PPT
Oracle Dataguard
PPT
Oracle Data Guard
PPT
Oracle dataguard overview
PDF
Real-Time Query for Data Guard
PPTX
Fast Start Failover DataGuard
PDF
Dataguard physical stand by setup
PPTX
Oracle database 12c new features
PDF
Oracle Data Guard Broker Webinar
PPTX
Understand oracle real application cluster
DOC
Oracle data guard configuration in 12c
PDF
Backup and recovery in oracle
PDF
153 Oracle dba interview questions
PPTX
Why oracle data guard new features in oracle 18c, 19c
PPTX
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
PDF
Time for Change: Migrate your Non-RAC Database to RAC
PPTX
Oracle database upgrade to 12c and available methods
PPTX
Optimizing your Database Import!
Data Guard Architecture & Setup
Ioug tip book11_gunukula
Active dataguard
Oracle Dataguard
Oracle Data Guard
Oracle dataguard overview
Real-Time Query for Data Guard
Fast Start Failover DataGuard
Dataguard physical stand by setup
Oracle database 12c new features
Oracle Data Guard Broker Webinar
Understand oracle real application cluster
Oracle data guard configuration in 12c
Backup and recovery in oracle
153 Oracle dba interview questions
Why oracle data guard new features in oracle 18c, 19c
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
Time for Change: Migrate your Non-RAC Database to RAC
Oracle database upgrade to 12c and available methods
Optimizing your Database Import!
Ad

Viewers also liked (16)

PDF
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
PPT
Oracle High Availability
PPT
Oracle’s network fabric customer presentation
ODP
New Oracle Infrastructure2
PDF
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
PDF
Network Latency
PPTX
Oracle VM 3.4.1 Installation
PPT
High Performance Communication for Oracle using InfiniBand
PPTX
Network latency - measurement and improvement
PDF
Summit 16: Achieving Low Latency Network Function with Opnfv
PDF
Oracle VM - the Heart of Oracle Cloud
PDF
Oracle database high availability solutions
PPT
Oracle GoldenGate
PPTX
Top 10 tips for Oracle performance
PDF
2.Oracle’S High Availability Vision
PDF
Principles and Practices in Continuous Deployment at Etsy
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
Oracle High Availability
Oracle’s network fabric customer presentation
New Oracle Infrastructure2
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
Network Latency
Oracle VM 3.4.1 Installation
High Performance Communication for Oracle using InfiniBand
Network latency - measurement and improvement
Summit 16: Achieving Low Latency Network Function with Opnfv
Oracle VM - the Heart of Oracle Cloud
Oracle database high availability solutions
Oracle GoldenGate
Top 10 tips for Oracle performance
2.Oracle’S High Availability Vision
Principles and Practices in Continuous Deployment at Etsy
Ad

Similar to Active / Active configurations with Oracle Active Data Guard (20)

PDF
Database failover from client perspective
PPTX
Dg v1 3 ukoug_sg.pptx
PPT
Srdf Vs Dataguard
PDF
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
PDF
Oracle Active Data Guard: Best Practices and New Features Deep Dive
PDF
les12.pdf
PDF
Data Guard Deep Dive UKOUG 2012
PPT
Oracle High Availabiltity for application developers
PPT
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
PPT
DB2 for z/O S Data Sharing
PDF
New availability features in oracle rac 12c release 2 anair ss
PPT
Clustering van IT-componenten
PPTX
Get the most out of Oracle Data Guard - POUG version
PDF
Oracle Drivers configuration for High Availability
PDF
Getting Most Out of Your Disaster Recovery Infrastructure Using Active Data G...
PDF
Disaster Recovery Infrastructure Whitepaper 2012
PPTX
Get the most out of Oracle Data Guard - OOW version
PDF
Oracle Drivers configuration for High Availability, is it a developer's job?
PDF
Dataguard broker and observerst
PPTX
Oracle & sql server comparison 2
Database failover from client perspective
Dg v1 3 ukoug_sg.pptx
Srdf Vs Dataguard
Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade and Other ...
Oracle Active Data Guard: Best Practices and New Features Deep Dive
les12.pdf
Data Guard Deep Dive UKOUG 2012
Oracle High Availabiltity for application developers
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
DB2 for z/O S Data Sharing
New availability features in oracle rac 12c release 2 anair ss
Clustering van IT-componenten
Get the most out of Oracle Data Guard - POUG version
Oracle Drivers configuration for High Availability
Getting Most Out of Your Disaster Recovery Infrastructure Using Active Data G...
Disaster Recovery Infrastructure Whitepaper 2012
Get the most out of Oracle Data Guard - OOW version
Oracle Drivers configuration for High Availability, is it a developer's job?
Dataguard broker and observerst
Oracle & sql server comparison 2

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
MYSQL Presentation for SQL database connectivity
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25 Week I
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx

Active / Active configurations with Oracle Active Data Guard

  • 1. Active / Active Configurations with Oracle Active Data Guard Aris Prassinos www.ArisPrassinos.com Chief Engineer MorphoTrak, SAFRAN Group
  • 2. MorphoTrak SAFRAN Group US subsidiary of Sagem Sécurité, SAFRAN Group Leading innovators in multi-modal Biometric Identification and Verification Fingerprint, palmprint, iris, facial Government and Commercial customers Law enforcement, border management, civil identification Secure travel documents, e-passports, drivers’ licenses, smart cards Facility / IT access control Chosen as Biometric Provider for FBI Next Generation Identification Program http://www.sagem-securite.com/eng/site.php?spage=04010847
  • 3. Printrak BIS Printrak Biometrics Identification Solution Over 100 turnkey production installations worldwide Java-based application using Service Oriented Architecture Oracle Database 11g Active Data Guard, RAC, XML DB, SecureFiles, ASM
  • 4. Printrak BIS Database Homegrown repository Biometrics and scanned documents stored as LOBs (OOW 2008 S298756) Descriptive data stored as XML (OOW 2009 S311519) Homegrown workflow manager JMS backing store Auditing logs Read intensive mixed OLTP workload
  • 5. Disaster Recovery objectives Goal is to minimize overall system cost of a Disaster Recovery architecture by achieving maximum utilization of the DR site Cost includes: hardware, licensing, development, maintenance, support Constraints WAN with up to 10ms latency between Primary and DR datacenters Clients experience similar latency connecting to either datacenter Well defined throughput and response time requirements Strong data consistency required Data cannot be logically partitioned to allow update-anywhere without conflicts Minimal data loss RPO RTO measured in minutes
  • 6. DR architecture Oracle Active Data Guard in Maximum Availability (SYNC) mode Routing all application Writes to Primary Load balancing application Reads to both Primary and Standby Hardware traffic managers allow clients to transparently connect to either datacenter Relying on application server multi-pool capabilities for client failover (e.g. JBoss HA Datasources / Weblogic Multi Data Sources) Using FSFO with Observer on a third site to avoid split brain
  • 7. Role-based Services For each application define two services: *_RW and *_RO *_RW service running on Primary *_RO service running on both Primary and Standby Using startup trigger to start services that run on all RAC instances on 11gR1 Using FAN callouts to start singleton RAC services on 11gR1 Startup trigger is role-aware but cannot relocate services when their instance fails 11gR1 srvctl is not role-aware Role-based services can be used with 11gR2 srvctl for all types of services
  • 8. Application modifications Latency tolerance not globally applicable to application queries Mix of zero and low latency tolerance application queries All transactions need to be able to read their own writes immediately Application modifications necessary to use role-based services Using database links and synonyms not feasible for our application Stopping and restarting services based on Standby lag not practical either Using connection pool checker would cause frequent invalidations / reconnections Application wrapper layer implemented using a Decorator design pattern Wrapper layer consists of mostly standardized code Low marginal cost when new APIs added to application
  • 9. Runtime service selection For each application method determine which service to use based on latency tolerance and transactional affinity For Writes: use *_RW service For zero latency or short Reads: use *_RW service For latency tolerant long Reads: Use *_RW service if already inside a transaction application server transaction APIs used to determine this Use *_RO service if within acceptable staleness In 11gR1 use query_scn rather than v$dataguard_stats to calculate lag In 11gR2 the STANDBY_MAX_DATA_DELAY feature can be used instead of explicitly calculating lag
  • 10. Load balancing effectiveness Query load balancing not perfect due to unnecessary redirects to Primary Overall lag may be large but tables queried not affected checking ora_rowscn not a practical solution Apply Lag measurement precision 3sec in 11gR1 / 1sec in 11gR2 Short reads not load balanced to avoid lag calculation overhead When Standby down need to stop load balancing queries to avoid stalling due to TCP timeout Cannot use ONS to switch datasource definition in this scenario Setting SQLnetDef.TCP_CONNTIMEOUT_STR low is not adequate A hardware traffic manager can be used to virtualize the location of the *_RO service Application server multi-pools best solution if available
  • 11. Example DR System 10ms redundant network between Primary and DR datacenters 50ms – 80ms network between clients and either Primary or DR Redo rate up to 3 MB / sec Oracle 11g two-node RAC used for both Primary and DR Impact on Primary 5% - 10% depending on latency and redo rate Standby Apply Lag < 3sec depending on redo rate Primary stalling when connectivity to Standby first lost < 10sec NET_TIMEOUT=10 Total downtime until failover approx. 2 minutes FSFO threshold = 1 minute allows for RAC node eviction and other transitory outages Database failover takes 1 minute to complete once threshold expires
  • 12. System cost Deploy two medium sized systems (in terms of #CPUs) used in tandem instead of two large ones having the second as a passive standby Significantly lower overall Oracle licensing costs due to better CPU utilization (even after taking into account the additional Oracle Active Data Guard licenses) Lower administration cost than Multi-Master Replication Administrator does not need intimate knowledge of application No effort required to detect and resolve data conflicts Not necessary to do backups on both Primary and Standby But alternate backup plans needed when chosen backup site is offline
  • 13. Conclusion Oracle Active Data Guard Can be used to process OLTP query workload – not just reports - with proper application modifications No excessive trial-and-error tuning necessary if best practices followed Tuning effort is required to minimize impact to Primary when Standby down Simple administration but not a lights-out solution Overall results depend on the trade-offs you are willing to make
  • 14. Q & A