An Alternative to Oracle Enterprise Managers GoldenGate Plugin

If you’ve arrived at this page then, most likely you’re a victim of the JAgent 🙂 Not to be confused with Agent J. I can’t tell you how many times I’ve been burned by it when using it for OEM monitoring. The symptoms, if you care to read, include:

  • Hanging Extract and Pumps
  • BDB datastore corruptions

The solution, most times, to the above problems was to either rebuild the datastore or remove the JAGENT completely.

After banging my head against the wall with MOS, who told me that they’re getting a lot reports from customers regarding JAGENTs, I decided to take things into my own hands. Fortunately, I am savvy enough with OEM and its Metric Extension architecture to build my own “plugin”. As a disclaimer to all perl guru’s, the attached script is my first attempt at writing in the language. I consider myself quite humle and wide open to improvements and suggestions. If you’re like me, then you want to consolidate your work into concise folder. I chose the GoldenGate installation directory.

# mkdir /u01/app/ggate/monitor

Copy monitor_gg.pl into this directory. The key parameter to consider is at the beginning of the script.

###################################################
# Change this variables as per your environment #
# Alternatively, this could just as well be a #
# parameter that is passed to this script. #
# For example: #
# #
# my $ggdir = $ARGV[0] #
# #
my $ggdir = "/tmp/ggate";
# #
###################################################

Reset the directory variables to your respective environment (by the way, the script works on Windows as well as long as you point it to perl binaries). Give it a test to make sure that it works. My output looks is the following:

# perl monitor_gg.pl
MANAGER|MANAGER|RUNNING|0|0
E_1|EXTRACT|RUNNING|0|10
P_2|EXTRACT|RUNNING|0|3

 

NewImage

It is concatenating the strings to represet the current object type, status, lag at checkpoint (seconds), and time since last check point (seconds) values. Here on, you simply need to create a Metric Extension (for a Host Target Type) within OEM and configure your incident rule sets accordingly. If I had more time, I would show you how I set up mine but I didn’t capture any screenshots. The documentation for it pretty straightforward and the GUI itself is intuitive. On my “All Metrics” for the host, I see the following:

There’s plenty to improve on in the script. Since I have an active ticket with Oracle Support, unless they come back with a solution quickly, I will continue to improve on the attached script. Hope this was helpful for at least some of you 🙂

April 9, 2014: Check out my follow-up post that describes how the metric extension was actually created in EM12c.

2 comments

  1. […] a year ago when I wrote about the GoldenGate monitoring using a Metric Extension, and then later on expanded upon the creation of a Metric Extension, I had installed and configured […]

  2. […] a year ago I wrote about GoldenGate monitoring using a Metric Extension, and then later on expanded upon the creation of a Metric Extension, which I’ve installed and […]

Leave a comment

Musings

Things I see and learn!

Thoughts from James H. Lui

If you Care a Little More, Things Happen. Bees can be dangerous. Always wear protective clothing when approaching or dealing with bees. Do not approach or handle bees without proper instruction and training.

bdt's blog

Sharing stuff (by Bertrand Drouvot)

Frits Hoogland Weblog

IT Technology; Yugabyte, Postgres, Oracle, linux, TCP/IP and other stuff I find interesting

Vishal desai's Oracle Blog

Just another WordPress.com weblog