How many ways to monitor oracle golden gate-Collaborate 14


Published on

The different ways that Oracle Golden Gate can be monitored

Published in: Technology

How many ways to monitor oracle golden gate-Collaborate 14

  1. 1. Bobby Curtis Sr. Technical Consultant Enkitec
  2. 2. • Douglasville, Georgia • Senior Technical Consultant • IOUG, ODTUG, GOUSER, RMOUG • Expert OEM12c (2013)/Practical ODA (2014) • Twitter: @dbasolved • Blog: • Email:
  3. 3. Home: Registration: Location: Training Days Following E4: Early bird discount expires April 15, 2014!
  4. 4. • What is Oracle GoldenGate? • Use Cases • Monitoring • GGSCI • Command Line • SQL • GUI Driven
  5. 5. • Comprehensive software for real-time data integration in heterogeneous environments • Benefits • High-Availabity Solutions • Real-Time Data Integration • Transactional Change Data Capture • Data Replication • Transformation of Data • Verification of Data • Primary Replication Tool in Oracle Database 12c ( • Oracle Upgrade Guide, Sections 8.1.6 & 8.1.7
  6. 6. • Five Different Approaches • Manual • Scripts Based • SQL Based • Oracle GoldenGate Director • Oracle Enteprise Manager 12c
  7. 7. • Manual Monitoring • Simplest Approach • Monitoring parameters are used inside of parameter files (Manager/Extract/Replicat) • Uses GoldenGate Service Command Interface (GGSCI) • GoldenGate Error Log (ggserr.log)
  8. 8. Parameter Process Description REPORT EXTRACT/REPLICAT Specify the interval at which EXTRACT or REPLICAT generates interim runtime statistics in a process report REPORTCOUNT EXTRACT/REPLICAT Report a count of transaction records that EXTRACT or REPLICAT processed since startup REPORTROLLOVER EXTRACT/REPLICAT Force report files to age on a regular schedule, instead of when a process starts UPREPORTMINUTES UPREPORTHOURS Manager Specify the frequency with which Manager reports, EXTRACT, and REPLICAT processes run LAGREPORTMINUTES LAGREPORTHOURS Manager Specify the interval at which Manager checks for EXTRACT and REPLICAT lag LAGCRITICALSECONDS LAGCRITICALMINUTES LAGCRITICALHOURS Manager Specify a lag threshold that is considered critical, and to force a warning message to the error log when the threshold is reached LAGINFOSECONDS LAGINFOMINUTES LAGINFOHOURS Manager Specify a basic lag threshold; if lag exceeds the specified value, Oracle GoldenGate reports lag information to the error log. If the lag exceeds the value specified with the LAGCRITICAL parameter, Manager reports the lag as critical; otherwise, it reports the lag as an informational message
  9. 9. Command Process Description INFO MANAGER STATUS MANAGER Manager Determine whether or not the Manager process is running. If Manager is running, the port number is displayed. This command is an alias for STATUS MANAGER SEND MANAGER Manager Retrieve the status of the active Manager process or to retrieve dynamic port information as configured in the Manager parameter file INFO EXTRACT EXTRACT The status of EXTRACT (STARTING, RUNNING, STOPPED or ABENDED). LAG EXTRACT EXTRACT Determine a true lag time between EXTRACT and the data source. LAG EXTRACT calculates the lag time more precisely than INFO EXTRACTbecause it communicates with EXTRACT directly, rather than reading a checkpoint position in the trail SEND EXTRACT EXTRACT Communicate with a running EXTRACT process. The request is processed as soon as EXTRACT is ready to accept commands from users. STATUS EXTRACT EXTRACT Determine whether or not EXTRACT is running INFO REPLICAT REPLICAT Retrieve the processing history of a REPLICAT group. The output of this command includes: The status of REPLICAT (STARTING, RUNNING, STOPPED or ABENDED). STARTING means that the process has started but has not yet locked the checkpoint file for processing. (Oracle database) The REPLICAT mode: non-integrated or integrated. Whether or not REPLICAT is in coordinated mode and, if so, how many threads it currently uses. Approximate REPLICAT lag. The trail from which REPLICAT is reading. Etc … The basic command displays information only for online (continuous) REPLICAT groups. Tasks are excluded. LAG REPLICAT REPLICAT Determine a true lag time between REPLICAT and the trail. LAG REPLICAT estimates the lag time more precisely than INFO REPLICAT because it communicates with REPLICAT directly rather than reading a checkpoint position SEND REPLICAT REPLICAT Communicate with a starting or running REPLICAT process. The request is processed as soon as REPLICAT is ready to accept commands from users STATUS REPLICAT REPLICAT Determine whether or not REPLICAT is running
  10. 10. • Script Based • Using manual commands in scripts • Any script type • Shell • Perl • Etc… • Write once, Run multiple times • Repeatable process with no memorization • Portable between environments
  11. 11. • #!/bin/sh export GGS_HOME=/opt/oracle/product/ggate $GGS_HOME/ggsci <<EOF info all exit EOF
  12. 12. • PROCESSES="mgr ggcmd extract replicat" for GGPROCESS in $PROCESSES do FLAG=`ps -ef | grep $GGPROCESS` if [ $_ ] then "No GoldenGate Process Found" else ps -C $GGPROCESS -O rss | awk '{print $2/1024, "MB", $12}' | sort -k 2 fi done exit 0
  13. 13. • Ability to monitor from SQL*Plus or SQL Developer • Hybrid in nature (Scripts/SQL) • Can only see what is going on currently • Moving parts • Script to write text file • Need to schedule run • Use of External Tables
  14. 14. • . [Code Removed] open (GGPROC, ">$outfile") or die "Unable to open file"; foreach (@buf){ if(/MANAGER/||/JAGENT/||/EXTRACT/||/REPLICAT/) { no warnings 'uninitialized'; chomp; my ($program, $status, $group, $lagatchkpt, $timesincechkpt) = split(" "); if ($group eq "") { $group = $program; } if ($lagatchkpt eq "" || $timesincechkpt eq "") { $lagatchkpt = "00:00:00"; $timesincechkpt = "00:00:00"; } print GGPROC "$program|$status|$group|$lagatchkpt|$timesincechkptn"; } } close (GGPROC);
  15. 15. • Golden Gate specific tables • (few) • (little more) • (moving forward) • 50 Objects (to date)
  16. 16. • Multi-tier, client-server application • Can manage GoldenGate from a remote client • Many moving parts • See Architecture (Next Slide) • Client – GUI interface for users • Mid-Tier Server – Weblogic, Application & Monitor agent • Central Repository – i.e. Database
  17. 17. • Quickly becoming monitoring tool of choice • GoldenGate monitoring available since • Support via a plug-in • JAgent is used to interact with OEM Agent/Plug-In • Enabled via GLOBALS file • ENABLEMONITORING parameter
  18. 18. • GoldenGate Plug-in Installed • Oracle Management Server • Oracle Agent • Current Release ( • Ensure update of plug-in • Setup -> Extensibility -> Self Update
  19. 19. • GoldenGate Access • Deployed on OMS/Agent • JAgent started • Targets -> GoldenGate
  20. 20. Image provided by Maaz Anjum (here)
  21. 21. • Hybrid Approach • Metric Extensions • Metric Extensions • Uses Scripts/More Texted based • Can be deployed to any agent • Does not have up/down issues with JAgent/Agent interaction
  22. 22. • #!/usr/bin/perl -w # # use strict; use warnings; #Static Variables my $gghome = "/oracle/app/product/12.1.2/ggate"; #Program my @buf = `$gghome/ggsci << EOF info all EOF`; foreach (@buf) { if(/EXTRACT/||/REPLICAT/) { s/s+/|/g; print $_."n"; } }
  23. 23. • Metric Extension • Enterprise -> Monitoring -> Metric Extensions • Metric seen under All Metrics for Hosts (yellow star) • Packaged and deployed to multiple agents
  24. 24. • Metric Extension -> All Metrics
  25. 25. Topic Bug Resolution Manual Bugs are associated with application software MOS Note ID: 1298817.1 Scripts Often occur due to user errors within the scripts Normal code reviews would minimize error in scripts Oracle GoldenGate Director A few bugs! Bugs have been documented in MOS MOS Note ID: 1298817.1 Oracle Enterprise Manager 12c Few bugs have been identified. Oracle recommends using the plug-in to monitoring Oracle GoldenGate or later MOS Note ID: 1495998.1 (Berkley Database Data Store Bug) No Monitoring Solution is 100%! Choose wisely for your data!
  26. 26. Please remember to fill out evaluations! Bobby Curtis Monitor you data wisely!!!!
  27. 27. Script Repo Location:
  28. 28. • Douglasville, Georgia • Senior Technical Consultant • IOUG, ODTUG, GOUSER, RMOUG • Expert OEM12c (2013)/Practical ODA (2014) • Twitter: @dbasolved • Blog: • Email: