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)

PPTX
Deepak_ppt_ver1.0.pptx
PDF
Data Core Riverved Dr 22 Sep08
PDF
Oracle Application Continuity with Oracle RAC for java
PPTX
final-red-hat-te-2023-gaurav-midha open to world
 
PDF
Sap basis administrator user guide
PPT
Oracle presentations RAC dataguard active database
PPT
dgintro (1).ppt
PDF
DOC
Srdf overview latency_v.5
DOC
Srdf overview latency_v.52
DOC
Srdf overview latency_v.5
PPTX
FOISDBA-Ver1.1.pptx
PPTX
Application-Portfolio-Assessment-for-Cloud-Readiness_Sample_Report.pptx
ODP
Application server
PDF
🏗️Improve database performance with connection pooling and load balancing tec...
PDF
netconf, restconf, grpc_basic
PDF
Mobility Information Series - Webservice Architecture Comparison by RapidValue
PDF
Tuning_anTroubleshooting_Synchronous_Redo_Transport Part1
PDF
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
PPT
Time finder
Deepak_ppt_ver1.0.pptx
Data Core Riverved Dr 22 Sep08
Oracle Application Continuity with Oracle RAC for java
final-red-hat-te-2023-gaurav-midha open to world
 
Sap basis administrator user guide
Oracle presentations RAC dataguard active database
dgintro (1).ppt
Srdf overview latency_v.5
Srdf overview latency_v.52
Srdf overview latency_v.5
FOISDBA-Ver1.1.pptx
Application-Portfolio-Assessment-for-Cloud-Readiness_Sample_Report.pptx
Application server
🏗️Improve database performance with connection pooling and load balancing tec...
netconf, restconf, grpc_basic
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Tuning_anTroubleshooting_Synchronous_Redo_Transport Part1
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Time finder

Recently uploaded (20)

PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
 
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PPTX
Internet of Everything -Basic concepts details
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
SaaS reusability assessment using machine learning techniques
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
Examining Bias in AI Generated News Content.pdf
EIS-Webinar-Regulated-Industries-2025-08.pdf
Presentation - Principles of Instructional Design.pptx
Early detection and classification of bone marrow changes in lumbar vertebrae...
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
Data Virtualization in Action: Scaling APIs and Apps with FME
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Connector Corner: Transform Unstructured Documents with Agentic Automation
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
 
Ensemble model-based arrhythmia classification with local interpretable model...
Internet of Everything -Basic concepts details
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
A symptom-driven medical diagnosis support model based on machine learning te...
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
SaaS reusability assessment using machine learning techniques
Electrocardiogram sequences data analytics and classification using unsupervi...
CEH Module 2 Footprinting CEH V13, concepts
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Module 1 Introduction to Web Programming .pptx
SGT Report The Beast Plan and Cyberphysical Systems of Control
Examining Bias in AI Generated News Content.pdf

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