Monitor Oracle Golden Gate from SQL
One of my presentations at Collaborate 14 this year revolves around how many different ways there are to monitor Oracle Golden Gate. As I was putting the presentation together, I was listing out the different ways for monitoring. I have covered a few of the ways already in earlier posts. What I want to show you here is how to execute a simple “info all” command and see the results from SQL*Plus or SQL Developer using SQL.
First, a script (shell, Perl, etc..) needs to be written to write the output of the “info all” command to a text file. In this case, I’m going to write the text file in /tmp since I’m on Linux.
#!/usr/bin/perl -w # #Author: Bobby Curtis, Oracle ACE #Copyright: 2014 #Title: gg_monitor_sqldev.pl # use strict; use warnings; #Static Variables my $gghome = "/oracle/app/product/12.1.2/oggcore_1"; my $outfile = "/tmp/gg_process_sqldev.txt"; #Program my @buf = `$gghome/ggsci << EOF info all EOF`; 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|$timesincechkpt\n"; } } close (GGPROC);
Next, is the text file needs to be placed into a table to be read by SQL*Plus or SQL Developer. External Tables are great for this.
create directory TEMP as '/tmp'; grant read on directory TEMP to PUBLIC; drop table ggate.os_process_mon; create table ggate.os_process_mon ( process char(15), status char(15), group char(15), lagatchk char(15), timelastchk char(15) ) organization external (type oracle_loader default directory TEMP access parameters ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY '|' MISSING FIELD VALUES ARE NULL ( process char(15), status char(15), ggroup char(15), lagatchk char(15), timelastchk char(15) ) ) location ('gg_process_sqldev.txt') ); select * from ggate.os_process_mon;
Lastly, with these two pieces in place, I can now select the status from SQL*Plus or SQL Developer using SQL. Image 1 shows a sample from my testing environment, I’m building.
Image 1:
Enjoy!
twitter: @dbasolved
blog: http://dbasolved.com
Bobby Curtis
I’m Bobby Curtis and I’m just your normal average guy who has been working in the technology field for awhile (started when I was 18 with the US Army). The goal of this blog has changed a bit over the years. Initially, it was a general blog where I wrote thoughts down. Then it changed to focus on the Oracle Database, Oracle Enterprise Manager, and eventually Oracle GoldenGate.
If you want to follow me on a more timely manner, I can be followed on twitter at @dbasolved or on LinkedIn under “Bobby Curtis MBA”.
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
Hello!
buy backlink buys
Good luck 🙂
Hello!
buy backlink cookie
Good luck 🙂
Hello.
buy backlink seo venda bot
Good luck 🙂
Hello!
buy backlink globo sexo
Good luck 🙂
movves mais est aqui Permanently https://www.bancobpi.pt/empresas/servicos-24-7/bpi-net-empresas – Moved Permanently>>>
Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://www.binance.info/hu/register?ref=FIHEGIZ8
Good way of telling, annd pleasant post tto get information about my presentation topic, which i am goiing to convey in university. https://Yv6Bg.Mssg.me/
Have you ever considered about including a little bit
more than just your articles? I mean, what you say is valuable and everything.
However think of if you added some great photos or videos to give your posts
more, “pop”! Your content is excellent but with images and clips, this site could certainly be one of the most beneficial in its niche.
Awesome blog!
What’s up, all the time i used to check weblog posts
here in the early hours in the dawn, as i love to find out
more and more. https://www.Cvcompany.nl/employer/tonebet-casino/
Thank you for the good writeup. It in fact was once a entertainment account it.
Look complex to more added agreeable from you! However, how could we keep in touch?
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.