August 2, 2014

New Blog for Oracle GoldenGate replication

This is an entirely new blog and a new blog concept about Oracle GoldenGate replication.

Instead of me posting articles on using, parameters, configuring, tuning and troubleshooting Oracle GoldenGate replication, I want users of Oracle GoldenGate to submit their ideas/interests for articles or test cases that they feel are needed and valuable to the community as a whole.

I will then setup the test case(s) in my test environment, demonstrate those particular GoldenGate features/use cases and post the setup/configuration and test results to this blog monthly. Also, include the GoldenGate version requested (11.1.x, 11.2.x or 12.1.2.x).

I have been implementing GoldenGate for right at 10 years now. I was fortunate to have learned from 3-4 guys who worked for GoldenGate before the acquisition by Oracle and who were probably the best implementators available. My experience includes over 300 implementations, implementations for all topology types, including JMS integrations (majority of implementations in the Oracle to Oracle space). Enough about me though, I just enjoying showing customers (enterprise architects, DBAs, data modelers/integrators/developers) how to use GoldenGate in their enterprise applications/infrastructure to achieve and complete impossible projects. I also enjoy setting up the test cases and teaching the community and our own GoldenGate experts about this powerful product and how to get tremendous value from it.
I suspect the majority of my posts will be geared towards Oracle-to-Oracle replication, but I can also do test cases for other platforms, such as SQLServer or MySQL or to JMS or a custom Java interface (Java User Exit).

Oracle GoldenGate is a great tool, no.......it is an extremely valuable tool to do the impossible or do data integration/replication with much less effort than writing custom data movement/change data capture movement code. It truly is an asset to have in your IT "tool belt" for many data integration/replication solutions.

Below are just some of my ideas for future blog posts that I would like for followers to vote on, then I can get to work setting it up, testing and publishing the results/configurations posted for all to see:

1) Using exception tables in GoldenGate
     - the information available to see and the value of using this information to troubleshoot
     - a global generic exception table (rather than using a Discard file)
     - per base-table exception tables (with a global and without a global exception

2) Logdump
    - using Logdump to gather transactional statistics, troubleshoot and view transactional data

3) Classic and Integrated Extracts
     - when to use, how to configure, what is supported with various source RDBMS versions
     - benefits of "Integrated Capture" over classic capture as it relates to TDE and table compression

4) Classic, coordinated and integrated replicats
    - configurations for each
    - pro/cons of each type, potential use cases where one may be more appropriate
    - managing parameter changes to each (ie. thread changes to a coordinated replicat)

5) Transactional statistics in Oracle GoldenGate
     - STATS command
    - mappings to pull statistics
    - Report files

6) Monitoring Oracle GoldenGate
    - various products and methods:
       - custom scripts (including scripts registered as OEM metric extensions)
       - products from Oracle: Director, GoldenGate Monitor, Grid Control/OEM OGG plug-in
   - JAGENT configuration and pitfalls
     
7) Conflict Detection and Resolution Rules (CDR rules)
    - for Active-Active or Active-Passive implementations
   - CDR exception reporting statistics and handing any CDR exceptions which fail in CDR
   - why this is built-in code is so beneficial and how we did it in the old days

8) Data validation for any topology or implementation
   - custom queries/scripts to validate data between source/target
   - Veridata for data comparison (optional product from Oracle)
      - awesome tool for like-to-like replication, can also do unlike replication, but more difficult)

9) Macros/Variables
    - using macros/variables to standardize/streamline mappings, especially complex mappings
    - macros/variables for parameters, mappings and exception handling
    - using macro libraries per process type (mappings are process type specific)
    - how global changes to all mappings can be accomplished very quickly

10) Transformations
     - using column mapping parameters
     - using Oracle GoldenGate internal functions to transform/check/test/default data
     - using queries/stored procedures to do complex lookups/transformations using DB functions
     - using stored procedures to do many transforms or lookups
       - limitations to number of calls a single map can make

11) INCLUDE files
     - used to standardize/modularize/streamline configurations and configuration changes
          - how to make a global change to mappings/parameters in seconds across all processes
          - automate configurations (push out configurations from SVC or staging systems)
    - used with macros and variables to implement a cookie cutter configuration approach

12) Instantiations (a fancy term for copying source data to a target as part of replication setup)
      - all the methods for instantiations
         - exp/imp
         - DataPump (expdp/impdp) - with and without FLASHBACK_SCN
         - Transportable Tablespace (TTS)
         - Cross-platform incremental backups with TTS (called XTTS)
         - GoldenGate initial load methods
         - via DBLinks and IAS/CTAS (Insert As Select./Create Table as Select)
             - data type restrictions (but you can do some cool things and selective data copies)
             - a scripted framework for pulling table data over in parallel or single table at a time

13) Overview of GoldenGate, all its components and related products
       - Seems to be plenty of this content already, but I don't mind filling in any gaps or confusions
       - All the options for GoldenGate (topologies, products)
       - ODI and GoldenGate (which is right and for what use cases)
          - how to use ODI and OGG together
          - how to try the line between one or the other (ODI is another great product)
  
If you have an idea that does not fit into the areas above please submit it to me anyway. I like to hear new ideas/interests that my brain simply could not come up with in terms of new things to do with Oracle GoldenGate.

Please submit your suggestions so I can get started sharing information about this incredible tool.

My contact info is below if anyone wants to contact me directly.

Gregory Thomas
gthomas@enkitec.com
Accenture Enkitec Group
Technical Director for Data Integration and Migration