Oracle GoldenGate Real-time Access to Real-time InformationGavin SoormaSenior Principal Consultant, 						OnCall DBA
IntroductionOracle buys GoldenGate -transaction closed September 3, 2009
A private company, founded in 1995 and based in San Francisco, CA
 Recognized by industry analysts as a leader in real-time data integration
 Fortune 500 customers across several key industries including Financial Services,Communications, Healthcare, Public Sector, Retail and Utilities
 Extends Oracle’s data integration capabilities with the fastest, most scalable realtime Heterogeneous data integration solution
Another Oracle High Availability solution
Oracle Streams not widely accepted by the community – a strategic replacement?Real-Time Data IntegrationHigh AvailabilityGoldenGate Oracle Product PositioningContinuous Low Latency Data MovementOracle GoldenGateContinuous Operations©2009 Oracle Corporation3
GoldenGate is Strategic to OracleBest-in-class leader in real-time data solutions
Complements existing Oracle products
Continuous Availability for heterogeneous systems
Real-time data access for Reporting & BI/EPM
Zero-downtime migrations / upgrades to Oracle Database and Applications
Over 500 customers with 4,000+ implementations across Fortune 500 companies: Financial Services, Communications, Healthcare, Public Sector, Retail & Utilities industries
Top 3 of 5 largest commercial banks
Top 3 of 3 busiest ATM networks
Top 7 of 10 financial data services companies
Top 4 of 5 telecommunications providers
Top 3 of 5 largest food & drug storesSome Success StoriesSupports 1.6TB of data movement per day to read-only servers
Source– Oracle 10g | Target – MySQL
Real-time data integration from Siebel CRM on Oracle to central TeradataWarehouseGoldenGatemoves 150-200 million records per day with 1.5 second latency.5 way Active-Active configuration providessame data across worldwide plantsZero downtime DB migration to new version using phased approach
High PerformanceExtensibility &FlexibilityReliabilityWhat is Oracle GoldenGate?Oracle GoldenGate provides low-impact capture, routing, transformation, and delivery of transactional dataacross heterogeneous environments in real-timeWhy Oracle GoldenGate?Non-intrusive, low-impact, sub-second latencyOpen, modular architecture - Supports heterogeneous sources and targetsMaintains transactional integrity - Resilient against interruptions and failures6
Oracle GoldenGate HeterogeneitySupports Applications running on ….
Oracle GoldenGate ProductsOracle GoldenGate
GoldenGate Management Pack
Golden Gate Veridata
Available for download on Oracle E-Delivery web site.
Available on all major platforms for Oracle versions 10g and 11g Oracle GoldenGate SolutionsEnterprise-wide Solution for Real Time Data NeedsDisaster Recovery, Data ProtectionStandby(Open & Active)Microsoft SQL ServerZero Downtime Migration and UpgradesLog Based, Real-Time Change Data CaptureOracleOperational ReportingReportingDatabaseGoldenGateETLEDWODSETLSybaseHeterogeneous Source SystemsReal-time BIEDWQuery OffloadingData Distribution
Oracle GoldenGate TopologiesBi-DirectionalLive Standby orActive-Active for HAPeer-to-PeerLoad Balancing, Multi-MasterUnidirectionalQuery OffloadingBroadcast Data DistributionIntegration/ConsolidationData WarehouseCascadingData Marts
Integration with Data WarehousingIntegration via:Staging tablesFlat filesMessaging
ArchitectureManager process
Capture – Extract process
Delivery – Replicat process
Data Pump
Trail files
Checkpoints
Data definition files
Log files, Discard filesGoldenGate ArchitectureNetwork (TCP/IP)Source DatabaseCollectorExtractTransaction LogsReplicatData PumpRemote TrailLocal TrailManagerManagerTarget Database
ManagerManager process runs on source and target
One manager per GoldenGate installation
Supports multiple Extract and Replicat processes
Starts other GoldenGate processes
Performs trail file management – purge old extracts
Responsible for Event and Error reporting ExtractExtract process runs on the source system
Capture mechanism of GoldenGate
Configure extract for
Initial Data Load

Insync10 goldengate

  • 1.
    Oracle GoldenGate Real-timeAccess to Real-time InformationGavin SoormaSenior Principal Consultant, OnCall DBA
  • 2.
    IntroductionOracle buys GoldenGate-transaction closed September 3, 2009
  • 3.
    A private company,founded in 1995 and based in San Francisco, CA
  • 4.
    Recognized byindustry analysts as a leader in real-time data integration
  • 5.
    Fortune 500customers across several key industries including Financial Services,Communications, Healthcare, Public Sector, Retail and Utilities
  • 6.
    Extends Oracle’sdata integration capabilities with the fastest, most scalable realtime Heterogeneous data integration solution
  • 7.
    Another Oracle HighAvailability solution
  • 8.
    Oracle Streams notwidely accepted by the community – a strategic replacement?Real-Time Data IntegrationHigh AvailabilityGoldenGate Oracle Product PositioningContinuous Low Latency Data MovementOracle GoldenGateContinuous Operations©2009 Oracle Corporation3
  • 9.
    GoldenGate is Strategicto OracleBest-in-class leader in real-time data solutions
  • 10.
  • 11.
    Continuous Availability forheterogeneous systems
  • 12.
    Real-time data accessfor Reporting & BI/EPM
  • 13.
    Zero-downtime migrations /upgrades to Oracle Database and Applications
  • 14.
    Over 500 customerswith 4,000+ implementations across Fortune 500 companies: Financial Services, Communications, Healthcare, Public Sector, Retail & Utilities industries
  • 15.
    Top 3 of5 largest commercial banks
  • 16.
    Top 3 of3 busiest ATM networks
  • 17.
    Top 7 of10 financial data services companies
  • 18.
    Top 4 of5 telecommunications providers
  • 19.
    Top 3 of5 largest food & drug storesSome Success StoriesSupports 1.6TB of data movement per day to read-only servers
  • 20.
    Source– Oracle 10g| Target – MySQL
  • 21.
    Real-time data integrationfrom Siebel CRM on Oracle to central TeradataWarehouseGoldenGatemoves 150-200 million records per day with 1.5 second latency.5 way Active-Active configuration providessame data across worldwide plantsZero downtime DB migration to new version using phased approach
  • 22.
    High PerformanceExtensibility &FlexibilityReliabilityWhatis Oracle GoldenGate?Oracle GoldenGate provides low-impact capture, routing, transformation, and delivery of transactional dataacross heterogeneous environments in real-timeWhy Oracle GoldenGate?Non-intrusive, low-impact, sub-second latencyOpen, modular architecture - Supports heterogeneous sources and targetsMaintains transactional integrity - Resilient against interruptions and failures6
  • 23.
    Oracle GoldenGate HeterogeneitySupportsApplications running on ….
  • 24.
  • 25.
  • 26.
  • 27.
    Available for downloadon Oracle E-Delivery web site.
  • 28.
    Available on allmajor platforms for Oracle versions 10g and 11g Oracle GoldenGate SolutionsEnterprise-wide Solution for Real Time Data NeedsDisaster Recovery, Data ProtectionStandby(Open & Active)Microsoft SQL ServerZero Downtime Migration and UpgradesLog Based, Real-Time Change Data CaptureOracleOperational ReportingReportingDatabaseGoldenGateETLEDWODSETLSybaseHeterogeneous Source SystemsReal-time BIEDWQuery OffloadingData Distribution
  • 29.
    Oracle GoldenGate TopologiesBi-DirectionalLiveStandby orActive-Active for HAPeer-to-PeerLoad Balancing, Multi-MasterUnidirectionalQuery OffloadingBroadcast Data DistributionIntegration/ConsolidationData WarehouseCascadingData Marts
  • 30.
    Integration with DataWarehousingIntegration via:Staging tablesFlat filesMessaging
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    Log files, DiscardfilesGoldenGate ArchitectureNetwork (TCP/IP)Source DatabaseCollectorExtractTransaction LogsReplicatData PumpRemote TrailLocal TrailManagerManagerTarget Database
  • 39.
    ManagerManager process runson source and target
  • 40.
    One manager perGoldenGate installation
  • 41.
    Supports multiple Extractand Replicat processes
  • 42.
  • 43.
    Performs trail filemanagement – purge old extracts
  • 44.
    Responsible for Eventand Error reporting ExtractExtract process runs on the source system
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
    Multiple Extract processescan operate on multiple database objectsData PumpSecondary extract group within source GoldenGate configuration
  • 50.
  • 51.
    When not used,Extract sends data over network to remote trail on destination
  • 52.
    When used, Extractprocess writes to local trail. Data Pump reads this trail and writes to the remote trail
  • 53.
    Data pump isolatesthe primary extract process from TCP/IP activity
  • 54.
    Performs data filtering,mapping and conversion
  • 55.
    Protects against networkand target failuresReplicatRuns on target system
  • 56.
    Reads and extractsdata changes (and DDL changes when configured)
  • 57.
    Configured for initialload or online change synchronization.
  • 58.
    Multiple replicatprocesses to increase throughput
  • 59.
    Configured with aapply delay if requiredTrail FilesSeries of files stored on disk to enable continuous extraction and propagation of changes
  • 60.
    Can exist onthe source (local trail), target (remote trail) or on intermediary systems
  • 61.
    By default 10MB in size
  • 62.
    Files are namedat configuration time with a two letter identifier and are appended with an unique 6 digit serial number
  • 63.
    GoldenGate writes totrail files in Universal Data Format – a proprietary format
  • 64.
    This proprietary formatenables the heterogeneous data integration
  • 65.
    Checkpoints provide knownposition in trail from where to start in case of unexpected failure
  • 66.
    Records of checkpointsmaintained in file on disk or database checkpoint table How Oracle GoldenGate WorksCaptureDeliverSource TrailTarget TrailDeliverCaptureSource TrailTarget TrailBi-directionalCapture: Committed changes are captured (and can be filtered) as they occur by reading the transaction logs.Trail files: Universal data format enables heterogeneity.Route: No distance constraints via TCP/IP. Compression & encryption. Delivery: Applies transactional data with guaranteed integrity.Redo/archived logLAN / WAN / InternetSource Oracle Database TargetDatabase
  • 67.
    GoldenGate and OracleData SourceCaptureCommit Ordered TrailSupport for Oracle RAC
  • 68.
  • 69.
    Support for index-organizedtables (IOTs) with overflow
  • 70.
  • 71.
  • 72.
    Support for objecttypes (UDTs)
  • 73.
    Support for DDLoperations
  • 74.
  • 75.
  • 76.
  • 77.
    CaptureCommit Ordered TrailGoldenGateand Microsoft SQL ServerMicrosoft SQL Server Capture Ability to capture from native backups
  • 78.
    Coexistence with SQLServer Replication
  • 79.
    SQL Server Replicationcomponents are not required
  • 80.
    Support tables withno unique key (not supported by SQL Server Replication)
  • 81.
  • 82.
    Support for identitycolumnsCaptureTransaction LogBackupsODBC
  • 83.
    Zero-Downtime Upgrades, Migrationsand MaintenanceEliminate “planned downtime” during:Database Upgrades: Oracle 8i or 9i  11g
  • 84.
  • 85.
  • 86.
    Database Maintenance (e.g.de-fragmentation, table re-orgs, de-chaining rows, etc.)
  • 87.
    Application Upgrades (validatedfor Siebel CRM)Oracle 8i or 9i to 10/11g Upgrades/MigrationsWhat GoldenGate TDM offers:
  • 88.
    Minimal impact andcontinuous availability during the project
  • 89.
    Technology solution foreliminating database downtime
  • 90.
    Improved capabilities fordata integrity, accuracy
  • 91.
    Fail-back solution inthe event of unexpected issues/downtime
  • 92.
    Proven – withcustomers in productionCross Platform Migration123,49i Clone  10gSolaris9i SolarisStart GoldenGate TDM’s Capture processSet up Clone database, then Upgrade to 10g Cross platform transportable tablespaces metadata exportUse a full database NOROWS export (Views, Packages, etc)
  • 93.
    Cross Platform Migration123,456,79iClone  10gSolaris9i Solaris10gLinuxStart GoldenGate TDM’s Capture processSet up Clone database, then Upgrade to 10g Cross platform transportable tablespaces metadata exportUse a full database NOROWS export (Views, Packages, etc)Set up a new 10g vanilla target Cross platform transportable tablespaces metadata importFull import with IGNORE option
  • 94.
    Cross Platform Migration12583,46,79iClone  10gSolaris9i Solaris10gLinuxStart GoldenGate TDM’s Capture processSet up Clone database, then Upgrade to 10g Cross platform transportable tablespaces metadata exportUse a full database NOROWS export (Views, Packages, etc)Set up a new 10g vanilla target Cross platform transportable tablespaces metadata importFull import with IGNORE optionStart GoldenGate TDM Apply process at target **SWITCHOVER** (not depicted)
  • 95.
    Cross Platform Migration158101123,46,79iClone  10gSolaris9i SolarisFailback contingency10gLinuxStart GoldenGate TDM’s Capture processSet up Clone database, then Upgrade to 10g Cross platform transportable tablespaces metadata exportUse a full database NOROWS export (Views, Packages, etc)Set up a new 10g vanilla target Cross platform transportable tablespaces metadata importFull import with IGNORE optionStart GoldenGate TDM Apply process at targetVerify data (optional)**SWITCHOVER** (not depicted)Start TDM Capture at target (new source)Start TDM Apply at target (old source)
  • 96.
    GoldenGate Management Pack Graphicalinterface for designing, configuring, managing, monitoring, and reporting on the Oracle GoldenGate components.Golden Gate Director Server
  • 97.
  • 98.
    GoldenGate Web DirectorGoldenGateVeridata™“GoldenGateVeridata is a high-speed, low impact data comparison solution that identifies and reports data discrepancies between two databases, without interrupting those systems or the business processes they support.”High-speed data comparison solution
  • 99.
    Identifies and reportson data discrepancies between heterogeneous databases with minimal impact on infrastructure
  • 100.
    Companies can auditand verify large volumes of data across different business applications with certainty
  • 101.
    It enables usersto research root causes of the discrepancies and determine how to remedy the problem and avoid future risk. GoldenGateVeridata™
  • 102.
    GoldenGate Veridata: Howit WorksThe user chooses tables or files on the source and target databasesThe comparison is initiated from the GUI, command line or batchAs the databases continue to change, GoldenGate Veridata reports: Persistent discrepancies In-flight data discrepancies (user configurable)
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
    Create the Manager,Extract and Replicat Process./ggsciGGSCI (linux01.oncalldba.com) 1> edit params mgrPORT 7809USERID ggs_owner, PASSWORD ggs_ownerSource – Extract ProcessGGSCI (linux01.oncalldba.com) 1> ADD EXTRACT ext1, TRANLOG, BEGIN NOWEXTRACT added.GGSCI (linux01.oncalldba.com) 2> ADD RMTTRAIL /home/oracle/goldengate/dirdat/rt, EXTRACT ext1RMTTRAIL added.Target – Replicat ProcessGGSCI (linux03.oncalldba.com) 1> ADD REPLICAT rep1, EXTTRAIL /home/oracle/goldengate/dirdat/rtREPLICAT added.
  • 108.
    Start Manager (Source)[oracle@linux01goldengate]$ ./ggsciOracle GoldenGate Command Interpreter for OracleVersion 10.4.0.19 Build 002Linux, x86, 32bit (optimized), Oracle 10 on Sep 17 2009 23:49:42Copyright (C) 1995, 2009, Oracle and/or its affiliates. All rights reserved.GGSCI (linux01.oncalldba.com) 1> start managerManager started.GGSCI (linux01.oncalldba.com) 2> info allProgram Status Group Lag Time Since ChkptMANAGER RUNNING
  • 109.
    Start Manager (Target)[oracle@linux03goldengate]$ ./ggsciOracle GoldenGate Command Interpreter for OracleVersion 10.4.0.19 Build 002Linux, x86, 32bit (optimized), Oracle 11 on Sep 29 2009 08:50:50Copyright (C) 1995, 2009, Oracle and/or its affiliates. All rights reserved.GGSCI (linux03.oncalldba.com) 1> start managerManager started.GGSCI (linux03.oncalldba.com) 2> info allProgram Status Group Lag Time Since ChkptMANAGER RUNNING
  • 110.
    Source – StartExtract ProcessGGSCI (linux01.oncalldba.com) 4> view params ext1EXTRACT ext1USERID ggs_owner@oncalldb.world,passwordggs_ownerRMTHOST linux03, MGRPORT 7809RMTTRAIL /home/oracle/goldengate/dirdat/rtDDL INCLUDE ALLTABLE ggs_owner.myobjects;;GGSCI (linux01.oncalldba.com) 5> start extract ext1Sending START request to MANAGER ...EXTRACT EXT1 startingGGSCI (linux01.oncalldba.com) 6> info extract ext1EXTRACT EXT1 Last Started 2010-08-13 13:12 Status RUNNINGCheckpoint Lag 03:00:32 (updated 00:00:00 ago)Log Read Checkpoint Oracle Redo Logs 2010-08-13 10:12:23 Seqno 4, RBA 19823616
  • 111.
    Target – StartReplicat ProcessGGSCI (linux03.oncalldba.com) 3> view params rep1REPLICAT rep1ASSUMETARGETDEFSUSERID ggs_owner, PASSWORD ggs_ownerdiscardfile /home/oracle/goldengate/dirout/discard.txt,appendDDL INCLUDE MAPPEDMAP ggs_owner.myobjects, TARGET ggs_owner.myobjects;GGSCI (linux03.oncalldba.com) 4> start replicat rep1Sending START request to MANAGER ...REPLICAT REP1 startingGGSCI (linux03.oncalldba.com) 5> info replicat rep1REPLICAT REP1 Last Started 2010-08-13 13:15 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:04 ago)Log Read Checkpoint File /home/oracle/goldengate/dirdat/rt000010 2010-08-13 13:12:55.105247 RBA 1030
  • 112.
    Test DDL ReplicationCreatea table and index on source database[oracle@linux01 ~]$ sqlplusggs_owner/ggs_ownerSQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 13 13:09:38 2010Copyright (c) 1982, 2007, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> create table myobjects as select * from dba_objects where 1=2;Table created.SQL> alter table myobjects add constraint pk_myobjects 2 primary key (object_id);Table altered.
  • 113.
    Test DDL ReplicationOnTarget database MYOBJECTS table and index createdSQL> descmyobjects Name Null? Type ----------------------------------------- -------- ---------------------------- OWNER VARCHAR2(30) OBJECT_NAME VARCHAR2(128) SUBOBJECT_NAME VARCHAR2(30) OBJECT_ID NOT NULL NUMBER DATA_OBJECT_ID NUMBER OBJECT_TYPE VARCHAR2(19) CREATED DATE LAST_DDL_TIME DATE TIMESTAMP VARCHAR2(19) STATUS VARCHAR2(7) TEMPORARY VARCHAR2(1)SQL> select index_name from user_indexes where table_name='MYOBJECTS';INDEX_NAME------------------------------PK_MYOBJECTS
  • 114.
    Test Online ChangeSynchronizationINSERT rows on source tablesSQL> !dateFri Aug 13 13:24:14 WST 2010SQL> insert into myobjects select * from dba_objects where owner='SYSMAN';1341 rows created.SQL> commit;Commit complete.SQL> !dateFri Aug 13 13:27:01 WST 2010SQL> insert into myobjects select * from dba_objects where owner='SYS';22937 rows created.SQL> commit;Commit complete.
  • 115.
    Test Online ChangeSynchronizationSQL> !dateFri Aug 13 13:24:44 WST 2010SQL> select count(*) from myobjects; COUNT(*)---------- 1341SQL> !dateFri Aug 13 13:27:14 WST 2010SQL> select count(*) from myobjects; COUNT(*)---------- 24278Check target tables to see that all the rows have been inserted
  • 116.
    Monitor Replicat ProgressGGSCI(linux03.oncalldba.com) 8> stats replicat rep1Start of Statistics at 2010-08-13 13:35:39.DDL replication statistics:*** Total statistics since replicat started *** Operations 2.00 Mapped operations 2.00 Unmapped operations 0.00 Other operations 0.00 Excluded operations 0.00 Errors 0.00 Retried errors 0.00 Discarded errors 0.00 Ignored errors 0.00Replicating from GGS_OWNER.MYOBJECTS to GGS_OWNER.MYOBJECTS:*** Total statistics since 2010-08-13 13:24:33 ***Total inserts 24278.00 Total updates 0.00 Total deletes 0.00 Total discards 0.00 Total operations 24278.00
  • 117.
    Cleanup – somemore DDL ReplicationSOURCESQL> truncate table myobjects;Table truncated.TARGET SQL> select count(*) from myobjects; COUNT(*)---------- 0SOURCESQL> drop table myobjects;Table dropped.TARGETSQL> select count(*) from myobjects;select count(*) from myobjects *ERROR at line 1:ORA-00942: table or view does not exist
  • 118.