how many ways to monitor oracle golden gate - oow14
DESCRIPTION
Oracle Open World 2014 presentation on different ways of monitoring Oracle GoldenGateTRANSCRIPT
How many ways to monitor Oracle GoldenGate?
Session: UGF9217
Oracle Open World 2014
User Group Sunday
Sunday, September 28 Cloud Computing SIG: 1:30 p.m. - 2:30 p.m.
Monday, September 29
Exadata SIG: 2:00 p.m. - 3:00 p.m.
BIWA SIG: 5:00 p.m. – 6:00 p.m.
Tuesday, September 30
Internet of Things SIG: 11:00 a.m. - 12:00 p.m.
Storage SIG: 4:00 p.m. - 5:00 p.m.
SPARC/Solaris SIG: 5:00 p.m. - 6:00 p.m.
Wednesday, October 1
Oracle Enterprise Manager SIG: 8:00 a.m. - 9:00 a.m.
Big Data SIG: 10:30 a.m. - 11:30 a.m.
Oracle 12c SIG: 2:00 p.m. – 3:00 p.m. Oracle Spatial and Graph SIG: 4:00 p.m. (*OTN lounge)
IOUG SIG Meetings @ Oracle Open World
Note:
All Meeting located in Moscone
South – Room 208
Accenture Enkitec Group Enkitec joined Accenture’s Infrastructure Services as Accenture
Enkitec Group (May 2014) Ø 17,000 Infrastructure Services professionals
Ø 52,000 Oracle professionals
Focus on Oracle Engineered Systems Solutions Ø Database Migrations & Transformations
Ø Database-as-a-Service
Ø Oracle Applications on Engineered Systems
Ø Cloud-based solutions leveraging Engineered Systems
Speaker
Douglasville, Georgia
Senior Technical Consultant
IOUG, RMOUG, GAOUG, RACSIG
@dbasolved
http://dbasolved.com
Session Agenda
1. What is Oracle GoldenGate?
2. Use Cases/Topologies
3. Monitoring ü GGSCI
ü Command Line
ü SQL
ü Management Pack
Oracle GoldenGate • Comprehensive software for real-time data integration in heterogeneous
environments
• Benefits
• High Availability Solutions
• Real-Time Data Integration
• Transactional Change Data Capture
• Data Replication
• Transformation of Data
• Verification of Data
• Primary Replication Tool in Oracle Database 12c (12.1.0.1/12.1.0.2)
• Oracle Upgrade Guide, Sections 8.1.6 & 8.1.7
Unidirec(onal Query Offloading Zero-‐Down3me Migra3on Data Integra3on Cloud or On-‐Premise
Bi-‐Direc(onal Ac3ve-‐Ac3ve for Mul3-‐Master/HA Cloud or On-‐Premises
Data Distribu(on via Messaging
Cloud Apps Integra(on
Big Data Delivery
Real/Time and Batch Delivery Structured Data to Data Reservoir
Monitoring • Different Approaches to Monitoring
• Manual
• Scripts Based
• SQL Based
• Oracle Management Pack For Oracle GoldenGate
• Oracle GoldenGate Monitor (not discussed)
• Oracle GoldenGate Director
• Oracle Enteprise Manager 12c
Manual Monitoring • Simplest Approach
• Monitoring parameters in parameter files
• Uses GoldenGate Service Command Interface (GGSCI)
• Error Reporting -> ggserr.log
• SQL Errors -> Discard File (*.dsc)
Monitoring: Scripts • Wrappers for manual commands
• Any language
• Shell
• Perl
• Etc…
• Write once, Run multiple times
• Repeatable process -> no memorization
• Portable between environments
Monitoring: Scripts
#!/bin/sh #info_all.sh export GGS_HOME=/opt/oracle/product/ggate $GGS_HOME/ggsci <<EOF info all exit EOF
Example: Info_all.sh
Monitoring: Scripts
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
Example: gg_mem_mon.sh
Monitoring: SQL • Golden Gate specific tables
• 11.2.0.3 (few)
• 11.2.0.4 (little more)
• 12.1.0.1 (moving forward)
• 50 Objects (to date)
• Integrated Capture/Apply
• 11.2.0.3 (Capture)
• 11.2.0.4 (Capture/Apply)
• 12.1.0.1
• Non-PDB (classic/integrated)
• PDB (integrated only)
• Increase in views (AQ_*)
Monitoring: SQL & SQL Developer • Hybrid (Scripts/SQL)
• Ability to monitor from SQL*Plus or SQL Developer
• Can only see what is going on currently
• Moving parts
• Script to write text file • Need to schedule run (crontab/dbms_scheduler)
• Usage of External Tables
Monitoring: SQL & SQL Developer
. [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|$timesincechkpt\n"; } } close (GGPROC);
Example: gg_mon_sqldev.pl
Monitoring: Director
• 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
Monitoring: Enterprise Manager 12c • Quickly becoming monitoring tool of choice
• GoldenGate monitoring available in OEM 12c (12.1.0.1)
• Support via a plug-in
• JAgent is used to interact with OEM Agent/Plug-In • Plug-in (12.1.0.2), separate JAgent install (12.1.3)
• GLOBALS (ENABLEMONITORING)
Monitoring: Enterprise Manager 12c • GoldenGate Plug-in Installed
• Oracle Management Server
• Oracle Agent
• Current Release (12.1.0.2)
• Ensure update of plug-in
• Setup -> Extensibility -> Self Update
Monitoring: Enterprise Manager 12c GoldenGate Access
• Deployed on OMS/Agent
• JAgent started
• Targets -> GoldenGate
Monitoring: Enterprise Manager 12c
Metric Extensions
• 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
• Not restricted to a minimum version of GoldenGate
Monitoring: Enterprise Manager 12c
Metric Extensions #!/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"; } }
Monitoring: Enterprise Manager 12c
Metric Extensions • Metric Extension • Enterprise -> Monitoring -> Metric Extensions
• Metric seen under All Metrics for Hosts (*)
• Packaged and deployed to multiple agents