SlideShare a Scribd company logo
Application High Availability and
Upgrades Using Oracle GoldenGate
March 2016
We are a global systems integrator specializing on the Oracle platform
•  Specialized Group Within Accenture Operations
–  120 Consultants with an average of 15+ years of Oracle experience
–  Worldwide leader in Exadata implementations (500+ performed to date)
–  21 Oracle ACE members and directors
•  Numerous Oracle specializations
•  Accenture Engineered Systems Innovation Center
•  http://registration.accenture.com/ehome/e4/home
Accenture Enkitec Group
Copyright © 2015 Accenture All rights reserved. 2
•  Oracle Data Warehouse
•  Oracle Real Application Cluster
•  Oracle Performance Tuning
•  Oracle Database Security
•  Oracle Database
•  Oracle Exadata
•  Oracle GoldenGate
•  Oracle Data Integrator
Infrastructure Principal
•  17 years of Oracle Experience
•  Completed multiple Sybase to Oracle RAC conversions
•  Migrated numerous systems using Oracle GoldenGate to Oracle Engineered Systems
•  Designed and deployed an Active / Active database solution for a shipment tracking system
•  Architected a solution to process xml messages using Oracle XMLDB
•  Visit my blog @ stborden.wordpress.com
Shane Borden
Copyright © 2015 Accenture All rights reserved. 3
4
Agenda
•  Planning for an Active / Active Solution
•  GoldenGate Architecture
•  Replication Topology
•  GoldenGate Conflict Detection and Resolution
•  Demonstration
•  Monitoring
•  Summary
•  Questions
Copyright © 2015 Accenture All rights reserved.
Planning for an Active / Active Database Solution
5Copyright © 2015 Accenture All rights reserved.
6
Planning for an Active / Active Database Solution
•  Why Active / Active
–  Elimination of planned downtime
–  Data locality
–  RPO vs. RTO
–  Use of all purchased capacity
–  Risk-free failover testing
–  Load balancing
•  Potential issues of Active / Active
–  Scenario or rule based approach for data collisions
–  Handling of a Switchover
–  Application Compatibility
–  Performance and Acceptable Transaction Latency
–  Cost
Copyright © 2015 Accenture All rights reserved.
7
Planning for an Active / Active Database Solution
•  What SMEs should be involved
•  Transaction Mapping
•  Main goal is to MINIMIZE DATA CONFLICTS
•  Discuss application behavior should LAG occur
•  Determine maximum tolerance for site downtime
•  GoldenGate vs. DataGuard
•  Consider introducing Data Guard to handle local failure
Copyright © 2015 Accenture All rights reserved.
GoldenGate Architecture
8Copyright © 2015 Accenture All rights reserved.
9
GoldenGate Architecture - Overview
Capture
–  Extracts committed
transactions by reading
transaction logs
–  Transactions written to a trail
file
–  Transaction filtering and
transformation available
–  Classic or Integrated mode (if
on Oracle)
Delivery
–  Applies trail records to target
while maintaining
transactional integrity
–  Transaction filtering and
transformation available
–  SQL Apply or Integrated mode
(if on Oracle)
Copyright © 2015 Accenture All rights reserved.
Pump
–  Routes and writes trails to
target location.
–  Transaction filtering and
transformation available
–  Encryption and compression
also available
10
GoldenGate Architecture - Topology
Copyright © 2015 Accenture All rights reserved.
11
GoldenGate Architecture - Topology
•  Understand and document where data flows
•  Stick to traditional topologies
•  Avoid Hub and Spoke
–  Unless your design specifically anticipates that from the start
Copyright © 2015 Accenture All rights reserved.
12
Front End Network Architecture - Topology
–  Imperative that your networking team is involved
–  Global Site Selector and Load Balancers are an important piece of the puzzle
–  Needed to isolate sites at time of upgrades
–  Also needed in order to ‘stick’ traffic to one site or another
Copyright © 2015 Accenture All rights reserved.
Prepare GoldenGate
13Copyright © 2015 Accenture All rights reserved.
14
Prepare GoldenGate
Conflict Detection and Resolution
•  Create, verify and document a CDR decision matrix
–  Rule based resolution
•  Decide which column is going to be used for decision process
–  Oftentimes inserted or last updated date is used
–  Other business rules
•  Ensure there is a process to periodically review conflicts
•  Excessive conflicts cause LAG
•  Additional Parameters Required for CDR
–  Integrated vs. Classic
Copyright © 2015 Accenture All rights reserved.
15
Hardware Preparations
•  Disk for trail files
–  ACFS / DBFS / NAS
•  Leverage Clusterware for failover management
–  Utilize a VIP address for delivery process
–  Use oraagent script or bundled XA Agents (Preferred) to manage manager / extract / replicat
–  Be aware that clusterware now controls GoldenGate
•  Proper supplemental logging
•  Consider other bottlenecks
–  I/O Performance
Copyright © 2015 Accenture All rights reserved.
Prepare GoldenGate
16
Prepare GoldenGate
Clusterware Preparations
•  Add a VIP:
–  srvctl add network -k 2 -S 192.168.56.0/255.255.255.0/eth3 –v
–  srvctl add vip -n orcl11g-rac1 -k 2 -A 192.168.56.0/255.255.255.0/eth3 -v
–  crsctl stat type ora.cluster_vip_net2.type
–  appvipcfg create -network=2 -ip=192.168.56.177 -vipname=orcl11g-ggvip -user=oracle
•  Add Clusterware Resource (deprecated):
–  crsctl add resource orcl11g-rac1-ggateapp -type cluster_resource -attr "ACTION_SCRIPT=
$CRS_HOME/crs/public/goldengate_action.sh, CHECK_INTERVAL=30,
START_DEPENDENCIES='hard(orcl11g-ggvip) pullup(orcl11g-ggvip)',
STOP_DEPENDENCIES='hard(orcl11g-ggvip)',ACL='owner:oracle:rwx,pgrp:dba:rwx,other::r--',
SCRIPT_TIMEOUT=360”
•  Additional Script Needed / Lots of Moving Parts
Copyright © 2015 Accenture All rights reserved.
17
Prepare GoldenGate
Clusterware Preparations
•  Bundled XA Agent is Preferred (MOS 1527310.1)
–  Separate Install
–  Get Latest Version
–  Pre-Create the VIP or let the Bundled Agent Create
–  agctl add goldengate gg_soe --gg_home /acfsmounts/acfsvol1/ogg --instance_type source 
--nodes orcl11g-rac1,orcl11g-rac2 --vip_name orcl11g-ggvip 
--filesystems ora.acfs.acfsvol1.acfs --databases ora.vboxrac.db 
--oracle_home /u01/app/oracle/product/11.2.0.4/db --monitor_extracts E_SOE_R1,P_SOE_R1
Copyright © 2015 Accenture All rights reserved.
18
Schema Preparations
•  Sequences
–  Avoid Even / Odd Strategy
–  N+10 Strategy
–  Sequence Rollover
•  Identity columns in 12c
•  Understand application changes necessary for CDR
–  Trigger based
–  Application Maintained
–  Mixture
Copyright © 2015 Accenture All rights reserved.
Prepare GoldenGate
19
Prepare GoldenGate
Table Preparation
•  Trandata
•  Understand columns for CDR
•  Keep it Simple by Using the Same Column for CDR
•  Determine method to instantiate data used for Conflict Detection / Resolution (CDR)
•  Instantiate CDR Column
–  Beware the NULL Value in Some Versions of GoldenGate
–  One Site or All Sites
Copyright © 2015 Accenture All rights reserved.
20
Prepare GoldenGate
Trail File Additional Data and Data Protection
•  Exception handling
•  Consider Metadata to Include in Trail
•  Useful in the Debugging / Error Handling Process
•  Can be Used in Rule Based Apply Within Replicat
•  Handle Potential Transaction Loopback
•  EXCLUDEUSER
•  Process Tags in a Trail Record
•  TRANLOGOPTIONS EXCLUDETAG (extract)
•  DBOPTIONS SETTAG (replicat)
Copyright © 2015 Accenture All rights reserved.
21
Target System CDR Parameters
•  Integrated and Classic Replicat:
–  COMPARECOLS
–  ON UPDATE KEYINCLUDING (LAST_UPDT_TMSTP)
–  ON DELETE KEYINCLUDING (LAST_UPDT_TMSTP))
–  UPDATEROWEXISTS, (DEFAULT, USEMAX
(LAST_UPDT_TMSTP))
–  INSERTROWEXISTS, (DEFAULT, USEMAX
(LAST_UPDT_TMSTP))
–  DELETEROWEXISTS, (DEFAULT, OVERWRITE)
–  UPDATEROWMISSING, (DEFAULT, OVERWRITE)
–  DELETEROWMISSING, (DEFAULT, DISCARD)
–  REPERROR (DEFAULT, EXCEPTION);
•  Classic Replicat or Mixed Extract / Replicat Requires
Additional Parameters
GETUPDATEBEFORES
Copyright © 2015 Accenture All rights reserved.
Prepare GoldenGate
Source System CDR Parameters
•  Supplemental logging ALLCOLS always required
•  Integrated Extract:
TRANLOGOPTIONS INTEGRATEDPARAMS (...)
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
•  Classic Extract or Mixed Integrated / Classic:
GETUPDATEBEFORES
NOCOMPRESSDELETES
NOCOMPRESSUPDATES
•  Don’t Forget Token Data
22
Prepare GoldenGate
Exception Handling
–  Log All Occurrences of CDR Actions
–  Triggered by Exception Handling of Prior Map Statement
–  Decide Which Metadata to Include
•  @DATE ('YYYY-MM-DD HH:MI:SS.FFFFFF', 'JTS', @GETENV ('JULIANTIMESTAMP'))
•  @GETENV
–  RECORD
–  GGENVIRONMENT
–  GGHEADER
–  LASTERR
–  TRANSACTION
–  STATS
•  @BEFORE
Copyright © 2015 Accenture All rights reserved.
Application Changes / Database Maintenance
23Copyright © 2015 Accenture All rights reserved.
24
Application Changes / Database Maintenance
•  Decide / Document / Test allowable Changes
•  Make sure Everything is Still Backward Compatible with Existing Trail Data
–  Not null to null
–  Column expansion
–  Addition of Indexes
–  Column addition
•  Methodology also Useful for Database Maintenance
–  Index Maintenance
–  Table Shrink / HWM Modification
–  Partitioning Changes
Copyright © 2015 Accenture All rights reserved.
25
Application Changes / Database Maintenance
Example Implementation Steps
•  Modify GSS to Failover Traffic From One Site to Another
•  Implement Schema Changes / Database Maintenance
•  Modify GSS to Failover Traffic to Upgraded Site
•  Complete Schema Changes / Database Maintenance on Other Site
•  Modify GSS to Allow Traffic at Both Sites
Copyright © 2015 Accenture All rights reserved.
CDR Monitoring
26Copyright © 2015 Accenture All rights reserved.
27
CDR Monitoring
–  Report CDR stats via ggsci interface
•  stats replicat [replicat name] report cdr
Cumulative totals for specified table(s):
*** Total statistics since 2016-02-24 19:19:32 ***
Total inserts 0.00
Total updates 1815508.00
Total deletes 0.00
Total discards 0.00
Total operations 1815508.00
Total CDR conflicts 900204.00
CDR resolutions succeeded 900204.00
CDR UPDATEROWEXISTS conflicts 866829.00
CDR UPDATEROWMISSING conflicts 33375.00
Copyright © 2015 Accenture All rights reserved.
28
CDR Monitoring
–  Report CDR stats to the report file
•  send replicat [replicat name] report
From Table SOE.INVENTORIES to SOE.INVENTORIES:
# inserts: 0
# updates: 915304
# deletes: 0
# discards: 0
# CDR conflicts : 900204
# CDR resolutions succeeded : 900204
# CDR UPDATEROWEXISTS conflicts : 866829
# CDR UPDATEROWMISSING conflicts: 33375
From Table SOE.INVENTORIES to SOE.CONFLICT_LOG:
# inserts: 0
# updates: 900204
# deletes: 0
# discards: 0
Copyright © 2015 Accenture All rights reserved.
29
CDR Monitoring
–  Report CDR stats to a table (enabled in replicat parameter file)
•  @GETENV ('STATS','CDR_CONFLICTS')
•  @GETENV ('STATS','CDR_RESOLUTIONS_SUCCEEDED')
•  @GETENV ('STATS','CDR_RESOLUTIONS_FAILED’)
Copyright © 2015 Accenture All rights reserved.
30
CDR Monitoring
Why is There a Performance Difference?
*** Total statistics since 2016-02-24 19:19:32 ***
Total inserts/second: 0.00
Total updates/second: 596.70
Total deletes/second: 0.00
Total discards/second: 0.00
Total operations/second: 596.70
*** Total statistics since 2016-02-24 20:24:04 ***
Total inserts/second: 0.00
Total updates/second: 1572.29
Total deletes/second: 0.00
Total discards/second: 0.00
Total operations/second: 1572.29
Copyright © 2015 Accenture All rights reserved.
Questions?
31Copyright © 2015 Accenture All rights reserved.

More Related Content

PPTX
Transactional operations in Apache Hive: present and future
DataWorks Summit
 
PDF
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
VMware Tanzu
 
PPTX
Extreme Replication - Performance Tuning Oracle GoldenGate
Bobby Curtis
 
PPTX
An Introduction to Apache Geode (incubating)
Anthony Baker
 
PDF
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Bobby Curtis
 
PPTX
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
DataWorks Summit
 
PDF
Oracle GoldenGate Architecture Performance
Enkitec
 
PDF
Oracle GoldenGate 12c CDR Presentation for ECO
Bobby Curtis
 
Transactional operations in Apache Hive: present and future
DataWorks Summit
 
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
VMware Tanzu
 
Extreme Replication - Performance Tuning Oracle GoldenGate
Bobby Curtis
 
An Introduction to Apache Geode (incubating)
Anthony Baker
 
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Bobby Curtis
 
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
DataWorks Summit
 
Oracle GoldenGate Architecture Performance
Enkitec
 
Oracle GoldenGate 12c CDR Presentation for ECO
Bobby Curtis
 

What's hot (20)

PPTX
Oracle GoldenGate on Docker
Bobby Curtis
 
PPTX
Oem12c patching -OOW13
Bobby Curtis
 
PPTX
Hitchhiker's Guide to free Oracle tuning tools
Bjoern Rost
 
PPTX
Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...
avanttic Consultoría Tecnológica
 
PPTX
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
PPTX
Hive 3 - a new horizon
Thejas Nair
 
PDF
Managing Apache HAWQ with Apache AMBARI
Mithun (Matt) Mathew
 
PDF
Integrating Apache NiFi and Apache Apex
Apache Apex
 
PDF
Hive 3 a new horizon
Artem Ervits
 
PDF
How many ways to monitor oracle golden gate - OOW14
Bobby Curtis
 
PDF
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode
 
PDF
Multitenancy At Bloomberg - HBase and Oozie
DataWorks Summit
 
PPTX
ApexMeetup Geode - Talk1 2016-03-17
Apache Apex Organizer
 
PDF
Exachk and oem12c
Bobby Curtis
 
PPTX
Hive acid and_2.x new_features
Alberto Romero
 
PPTX
Insync10 goldengate
InSync Conference
 
PDF
HDF: Hortonworks DataFlow: Technical Workshop
Hortonworks
 
PDF
Winning performance challenges in oracle multitenant
Pini Dibask
 
PPTX
Geode Meetup Apachecon
upthewaterspout
 
PPTX
Hive LLAP: A High Performance, Cost-effective Alternative to Traditional MPP ...
DataWorks Summit
 
Oracle GoldenGate on Docker
Bobby Curtis
 
Oem12c patching -OOW13
Bobby Curtis
 
Hitchhiker's Guide to free Oracle tuning tools
Bjoern Rost
 
Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...
avanttic Consultoría Tecnológica
 
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
 
Hive 3 - a new horizon
Thejas Nair
 
Managing Apache HAWQ with Apache AMBARI
Mithun (Matt) Mathew
 
Integrating Apache NiFi and Apache Apex
Apache Apex
 
Hive 3 a new horizon
Artem Ervits
 
How many ways to monitor oracle golden gate - OOW14
Bobby Curtis
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode
 
Multitenancy At Bloomberg - HBase and Oozie
DataWorks Summit
 
ApexMeetup Geode - Talk1 2016-03-17
Apache Apex Organizer
 
Exachk and oem12c
Bobby Curtis
 
Hive acid and_2.x new_features
Alberto Romero
 
Insync10 goldengate
InSync Conference
 
HDF: Hortonworks DataFlow: Technical Workshop
Hortonworks
 
Winning performance challenges in oracle multitenant
Pini Dibask
 
Geode Meetup Apachecon
upthewaterspout
 
Hive LLAP: A High Performance, Cost-effective Alternative to Traditional MPP ...
DataWorks Summit
 
Ad

Similar to Application High Availability and Upgrades Using Oracle GoldenGate (20)

PPTX
Extreme replication at IOUG Collaborate 15
Bobby Curtis
 
PDF
OGG Architecture Performance
Enkitec
 
PDF
MySql's NoSQL -- best of both worlds on the same disks
Dave Stokes
 
PDF
Best practices in Deploying SUSE CaaS Platform v3
Juan Herrera Utande
 
PDF
9.6_Course Material-Postgresql_002.pdf
sreedb2
 
PDF
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
Michael Rainey
 
PPTX
Oracle GoldenGate Performance Tuning
Bobby Curtis
 
PDF
Golden Gate - How to start such a project?
Trivadis
 
PPTX
Simplify IT: Oracle SuperCluster
Fran Navarro
 
PPTX
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Cloudera, Inc.
 
PDF
StackVelocity Overview
StackVelocity
 
PPTX
Oracle golden gate 12c New Features
Satishbabu Gunukula
 
DOC
ChaitanyaPrati
Chaitanya Prati
 
PPTX
Coherence RoadMap 2018
harvraja
 
PDF
AIOUG-GroundBreakers-Jul 2019 - 19c RAC
Sandesh Rao
 
PDF
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Hadoop / Spark Conference Japan
 
PDF
Designing for operability and managability
Gaurav Bahrani
 
PPTX
Connect Data Strategy Deep Dive - MAZ Workshop (1).pptx
joel804321
 
PPTX
Partner webinar featuring CatDV
FileCatalyst
 
PPTX
Design and Deploy Secure Clouds for Financial Services Use Cases
PLUMgrid
 
Extreme replication at IOUG Collaborate 15
Bobby Curtis
 
OGG Architecture Performance
Enkitec
 
MySql's NoSQL -- best of both worlds on the same disks
Dave Stokes
 
Best practices in Deploying SUSE CaaS Platform v3
Juan Herrera Utande
 
9.6_Course Material-Postgresql_002.pdf
sreedb2
 
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
Michael Rainey
 
Oracle GoldenGate Performance Tuning
Bobby Curtis
 
Golden Gate - How to start such a project?
Trivadis
 
Simplify IT: Oracle SuperCluster
Fran Navarro
 
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...
Cloudera, Inc.
 
StackVelocity Overview
StackVelocity
 
Oracle golden gate 12c New Features
Satishbabu Gunukula
 
ChaitanyaPrati
Chaitanya Prati
 
Coherence RoadMap 2018
harvraja
 
AIOUG-GroundBreakers-Jul 2019 - 19c RAC
Sandesh Rao
 
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Hadoop / Spark Conference Japan
 
Designing for operability and managability
Gaurav Bahrani
 
Connect Data Strategy Deep Dive - MAZ Workshop (1).pptx
joel804321
 
Partner webinar featuring CatDV
FileCatalyst
 
Design and Deploy Secure Clouds for Financial Services Use Cases
PLUMgrid
 
Ad

Recently uploaded (20)

PDF
Fashion project1 kebaya reimagined slideshow
reysultane
 
PPTX
Riverfront Development_nashikcity_landscape
aditikoshley2
 
PDF
First-Aid.pdfjavaghavavgahavavavbabavabba
meitohehe
 
DOCX
Personalized Jewellery Guide: Engraved Rings, Initial Necklaces & Birthstones...
Dishis jewels
 
DOCX
Amplopxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Lm Hardin 'Idin'
 
PPTX
Digital Printing presentation-update-26.08.24.pptx
MDFoysalAhmed13
 
PPTX
VERTICAL TRANSPORTATION SYSTEMS.pptxhvcvcvvdh
jp0718076
 
PPTX
Modern_Dhaka_Apartment_Interior_Design.pptx
hasansarkeraidt
 
PDF
Zidane ben hmida _ Portfolio
Zidane Ben Hmida
 
PDF
Kitchen_Aluminium_Doors_Prices_Presentation.pdf
Royal Matrixs
 
PPTX
Web Design: Enhancing User Experience & Brand Value
ashokmakwana0303
 
PPTX
Residential_Interior_Design_No_Images.pptx
hasansarkeraidt
 
PPTX
The Satavahanas.pptx....,......,........
Kritisharma797381
 
PPTX
Style and aesthetic about fashion lifestyle
Khushi Bera
 
PDF
Interior design technology LECTURE 28.pdf
SasidharReddyPlannin
 
PDF
PowerPoint Presentation -- Jennifer Kyte -- 9786400311489 -- ade9381d14f65b06...
Adeel452922
 
PPTX
Design & Thinking for Engineering graduates
NEELAMRAWAT48
 
PPTX
Morph Slide Presentation transition.pptx
ArifaAkter10
 
PPTX
Engagement for marriage life ethics b.pptx
SyedBabar19
 
DOCX
BusinessPlan_redesignedf word format .docx
MohammadMaqatif
 
Fashion project1 kebaya reimagined slideshow
reysultane
 
Riverfront Development_nashikcity_landscape
aditikoshley2
 
First-Aid.pdfjavaghavavgahavavavbabavabba
meitohehe
 
Personalized Jewellery Guide: Engraved Rings, Initial Necklaces & Birthstones...
Dishis jewels
 
Amplopxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Lm Hardin 'Idin'
 
Digital Printing presentation-update-26.08.24.pptx
MDFoysalAhmed13
 
VERTICAL TRANSPORTATION SYSTEMS.pptxhvcvcvvdh
jp0718076
 
Modern_Dhaka_Apartment_Interior_Design.pptx
hasansarkeraidt
 
Zidane ben hmida _ Portfolio
Zidane Ben Hmida
 
Kitchen_Aluminium_Doors_Prices_Presentation.pdf
Royal Matrixs
 
Web Design: Enhancing User Experience & Brand Value
ashokmakwana0303
 
Residential_Interior_Design_No_Images.pptx
hasansarkeraidt
 
The Satavahanas.pptx....,......,........
Kritisharma797381
 
Style and aesthetic about fashion lifestyle
Khushi Bera
 
Interior design technology LECTURE 28.pdf
SasidharReddyPlannin
 
PowerPoint Presentation -- Jennifer Kyte -- 9786400311489 -- ade9381d14f65b06...
Adeel452922
 
Design & Thinking for Engineering graduates
NEELAMRAWAT48
 
Morph Slide Presentation transition.pptx
ArifaAkter10
 
Engagement for marriage life ethics b.pptx
SyedBabar19
 
BusinessPlan_redesignedf word format .docx
MohammadMaqatif
 

Application High Availability and Upgrades Using Oracle GoldenGate

  • 1. Application High Availability and Upgrades Using Oracle GoldenGate March 2016
  • 2. We are a global systems integrator specializing on the Oracle platform •  Specialized Group Within Accenture Operations –  120 Consultants with an average of 15+ years of Oracle experience –  Worldwide leader in Exadata implementations (500+ performed to date) –  21 Oracle ACE members and directors •  Numerous Oracle specializations •  Accenture Engineered Systems Innovation Center •  http://registration.accenture.com/ehome/e4/home Accenture Enkitec Group Copyright © 2015 Accenture All rights reserved. 2 •  Oracle Data Warehouse •  Oracle Real Application Cluster •  Oracle Performance Tuning •  Oracle Database Security •  Oracle Database •  Oracle Exadata •  Oracle GoldenGate •  Oracle Data Integrator
  • 3. Infrastructure Principal •  17 years of Oracle Experience •  Completed multiple Sybase to Oracle RAC conversions •  Migrated numerous systems using Oracle GoldenGate to Oracle Engineered Systems •  Designed and deployed an Active / Active database solution for a shipment tracking system •  Architected a solution to process xml messages using Oracle XMLDB •  Visit my blog @ stborden.wordpress.com Shane Borden Copyright © 2015 Accenture All rights reserved. 3
  • 4. 4 Agenda •  Planning for an Active / Active Solution •  GoldenGate Architecture •  Replication Topology •  GoldenGate Conflict Detection and Resolution •  Demonstration •  Monitoring •  Summary •  Questions Copyright © 2015 Accenture All rights reserved.
  • 5. Planning for an Active / Active Database Solution 5Copyright © 2015 Accenture All rights reserved.
  • 6. 6 Planning for an Active / Active Database Solution •  Why Active / Active –  Elimination of planned downtime –  Data locality –  RPO vs. RTO –  Use of all purchased capacity –  Risk-free failover testing –  Load balancing •  Potential issues of Active / Active –  Scenario or rule based approach for data collisions –  Handling of a Switchover –  Application Compatibility –  Performance and Acceptable Transaction Latency –  Cost Copyright © 2015 Accenture All rights reserved.
  • 7. 7 Planning for an Active / Active Database Solution •  What SMEs should be involved •  Transaction Mapping •  Main goal is to MINIMIZE DATA CONFLICTS •  Discuss application behavior should LAG occur •  Determine maximum tolerance for site downtime •  GoldenGate vs. DataGuard •  Consider introducing Data Guard to handle local failure Copyright © 2015 Accenture All rights reserved.
  • 8. GoldenGate Architecture 8Copyright © 2015 Accenture All rights reserved.
  • 9. 9 GoldenGate Architecture - Overview Capture –  Extracts committed transactions by reading transaction logs –  Transactions written to a trail file –  Transaction filtering and transformation available –  Classic or Integrated mode (if on Oracle) Delivery –  Applies trail records to target while maintaining transactional integrity –  Transaction filtering and transformation available –  SQL Apply or Integrated mode (if on Oracle) Copyright © 2015 Accenture All rights reserved. Pump –  Routes and writes trails to target location. –  Transaction filtering and transformation available –  Encryption and compression also available
  • 10. 10 GoldenGate Architecture - Topology Copyright © 2015 Accenture All rights reserved.
  • 11. 11 GoldenGate Architecture - Topology •  Understand and document where data flows •  Stick to traditional topologies •  Avoid Hub and Spoke –  Unless your design specifically anticipates that from the start Copyright © 2015 Accenture All rights reserved.
  • 12. 12 Front End Network Architecture - Topology –  Imperative that your networking team is involved –  Global Site Selector and Load Balancers are an important piece of the puzzle –  Needed to isolate sites at time of upgrades –  Also needed in order to ‘stick’ traffic to one site or another Copyright © 2015 Accenture All rights reserved.
  • 13. Prepare GoldenGate 13Copyright © 2015 Accenture All rights reserved.
  • 14. 14 Prepare GoldenGate Conflict Detection and Resolution •  Create, verify and document a CDR decision matrix –  Rule based resolution •  Decide which column is going to be used for decision process –  Oftentimes inserted or last updated date is used –  Other business rules •  Ensure there is a process to periodically review conflicts •  Excessive conflicts cause LAG •  Additional Parameters Required for CDR –  Integrated vs. Classic Copyright © 2015 Accenture All rights reserved.
  • 15. 15 Hardware Preparations •  Disk for trail files –  ACFS / DBFS / NAS •  Leverage Clusterware for failover management –  Utilize a VIP address for delivery process –  Use oraagent script or bundled XA Agents (Preferred) to manage manager / extract / replicat –  Be aware that clusterware now controls GoldenGate •  Proper supplemental logging •  Consider other bottlenecks –  I/O Performance Copyright © 2015 Accenture All rights reserved. Prepare GoldenGate
  • 16. 16 Prepare GoldenGate Clusterware Preparations •  Add a VIP: –  srvctl add network -k 2 -S 192.168.56.0/255.255.255.0/eth3 –v –  srvctl add vip -n orcl11g-rac1 -k 2 -A 192.168.56.0/255.255.255.0/eth3 -v –  crsctl stat type ora.cluster_vip_net2.type –  appvipcfg create -network=2 -ip=192.168.56.177 -vipname=orcl11g-ggvip -user=oracle •  Add Clusterware Resource (deprecated): –  crsctl add resource orcl11g-rac1-ggateapp -type cluster_resource -attr "ACTION_SCRIPT= $CRS_HOME/crs/public/goldengate_action.sh, CHECK_INTERVAL=30, START_DEPENDENCIES='hard(orcl11g-ggvip) pullup(orcl11g-ggvip)', STOP_DEPENDENCIES='hard(orcl11g-ggvip)',ACL='owner:oracle:rwx,pgrp:dba:rwx,other::r--', SCRIPT_TIMEOUT=360” •  Additional Script Needed / Lots of Moving Parts Copyright © 2015 Accenture All rights reserved.
  • 17. 17 Prepare GoldenGate Clusterware Preparations •  Bundled XA Agent is Preferred (MOS 1527310.1) –  Separate Install –  Get Latest Version –  Pre-Create the VIP or let the Bundled Agent Create –  agctl add goldengate gg_soe --gg_home /acfsmounts/acfsvol1/ogg --instance_type source --nodes orcl11g-rac1,orcl11g-rac2 --vip_name orcl11g-ggvip --filesystems ora.acfs.acfsvol1.acfs --databases ora.vboxrac.db --oracle_home /u01/app/oracle/product/11.2.0.4/db --monitor_extracts E_SOE_R1,P_SOE_R1 Copyright © 2015 Accenture All rights reserved.
  • 18. 18 Schema Preparations •  Sequences –  Avoid Even / Odd Strategy –  N+10 Strategy –  Sequence Rollover •  Identity columns in 12c •  Understand application changes necessary for CDR –  Trigger based –  Application Maintained –  Mixture Copyright © 2015 Accenture All rights reserved. Prepare GoldenGate
  • 19. 19 Prepare GoldenGate Table Preparation •  Trandata •  Understand columns for CDR •  Keep it Simple by Using the Same Column for CDR •  Determine method to instantiate data used for Conflict Detection / Resolution (CDR) •  Instantiate CDR Column –  Beware the NULL Value in Some Versions of GoldenGate –  One Site or All Sites Copyright © 2015 Accenture All rights reserved.
  • 20. 20 Prepare GoldenGate Trail File Additional Data and Data Protection •  Exception handling •  Consider Metadata to Include in Trail •  Useful in the Debugging / Error Handling Process •  Can be Used in Rule Based Apply Within Replicat •  Handle Potential Transaction Loopback •  EXCLUDEUSER •  Process Tags in a Trail Record •  TRANLOGOPTIONS EXCLUDETAG (extract) •  DBOPTIONS SETTAG (replicat) Copyright © 2015 Accenture All rights reserved.
  • 21. 21 Target System CDR Parameters •  Integrated and Classic Replicat: –  COMPARECOLS –  ON UPDATE KEYINCLUDING (LAST_UPDT_TMSTP) –  ON DELETE KEYINCLUDING (LAST_UPDT_TMSTP)) –  UPDATEROWEXISTS, (DEFAULT, USEMAX (LAST_UPDT_TMSTP)) –  INSERTROWEXISTS, (DEFAULT, USEMAX (LAST_UPDT_TMSTP)) –  DELETEROWEXISTS, (DEFAULT, OVERWRITE) –  UPDATEROWMISSING, (DEFAULT, OVERWRITE) –  DELETEROWMISSING, (DEFAULT, DISCARD) –  REPERROR (DEFAULT, EXCEPTION); •  Classic Replicat or Mixed Extract / Replicat Requires Additional Parameters GETUPDATEBEFORES Copyright © 2015 Accenture All rights reserved. Prepare GoldenGate Source System CDR Parameters •  Supplemental logging ALLCOLS always required •  Integrated Extract: TRANLOGOPTIONS INTEGRATEDPARAMS (...) LOGALLSUPCOLS UPDATERECORDFORMAT COMPACT •  Classic Extract or Mixed Integrated / Classic: GETUPDATEBEFORES NOCOMPRESSDELETES NOCOMPRESSUPDATES •  Don’t Forget Token Data
  • 22. 22 Prepare GoldenGate Exception Handling –  Log All Occurrences of CDR Actions –  Triggered by Exception Handling of Prior Map Statement –  Decide Which Metadata to Include •  @DATE ('YYYY-MM-DD HH:MI:SS.FFFFFF', 'JTS', @GETENV ('JULIANTIMESTAMP')) •  @GETENV –  RECORD –  GGENVIRONMENT –  GGHEADER –  LASTERR –  TRANSACTION –  STATS •  @BEFORE Copyright © 2015 Accenture All rights reserved.
  • 23. Application Changes / Database Maintenance 23Copyright © 2015 Accenture All rights reserved.
  • 24. 24 Application Changes / Database Maintenance •  Decide / Document / Test allowable Changes •  Make sure Everything is Still Backward Compatible with Existing Trail Data –  Not null to null –  Column expansion –  Addition of Indexes –  Column addition •  Methodology also Useful for Database Maintenance –  Index Maintenance –  Table Shrink / HWM Modification –  Partitioning Changes Copyright © 2015 Accenture All rights reserved.
  • 25. 25 Application Changes / Database Maintenance Example Implementation Steps •  Modify GSS to Failover Traffic From One Site to Another •  Implement Schema Changes / Database Maintenance •  Modify GSS to Failover Traffic to Upgraded Site •  Complete Schema Changes / Database Maintenance on Other Site •  Modify GSS to Allow Traffic at Both Sites Copyright © 2015 Accenture All rights reserved.
  • 26. CDR Monitoring 26Copyright © 2015 Accenture All rights reserved.
  • 27. 27 CDR Monitoring –  Report CDR stats via ggsci interface •  stats replicat [replicat name] report cdr Cumulative totals for specified table(s): *** Total statistics since 2016-02-24 19:19:32 *** Total inserts 0.00 Total updates 1815508.00 Total deletes 0.00 Total discards 0.00 Total operations 1815508.00 Total CDR conflicts 900204.00 CDR resolutions succeeded 900204.00 CDR UPDATEROWEXISTS conflicts 866829.00 CDR UPDATEROWMISSING conflicts 33375.00 Copyright © 2015 Accenture All rights reserved.
  • 28. 28 CDR Monitoring –  Report CDR stats to the report file •  send replicat [replicat name] report From Table SOE.INVENTORIES to SOE.INVENTORIES: # inserts: 0 # updates: 915304 # deletes: 0 # discards: 0 # CDR conflicts : 900204 # CDR resolutions succeeded : 900204 # CDR UPDATEROWEXISTS conflicts : 866829 # CDR UPDATEROWMISSING conflicts: 33375 From Table SOE.INVENTORIES to SOE.CONFLICT_LOG: # inserts: 0 # updates: 900204 # deletes: 0 # discards: 0 Copyright © 2015 Accenture All rights reserved.
  • 29. 29 CDR Monitoring –  Report CDR stats to a table (enabled in replicat parameter file) •  @GETENV ('STATS','CDR_CONFLICTS') •  @GETENV ('STATS','CDR_RESOLUTIONS_SUCCEEDED') •  @GETENV ('STATS','CDR_RESOLUTIONS_FAILED’) Copyright © 2015 Accenture All rights reserved.
  • 30. 30 CDR Monitoring Why is There a Performance Difference? *** Total statistics since 2016-02-24 19:19:32 *** Total inserts/second: 0.00 Total updates/second: 596.70 Total deletes/second: 0.00 Total discards/second: 0.00 Total operations/second: 596.70 *** Total statistics since 2016-02-24 20:24:04 *** Total inserts/second: 0.00 Total updates/second: 1572.29 Total deletes/second: 0.00 Total discards/second: 0.00 Total operations/second: 1572.29 Copyright © 2015 Accenture All rights reserved.
  • 31. Questions? 31Copyright © 2015 Accenture All rights reserved.