I have been checking out some usage patterns on a database I am migrating to Exadata. I won't go into the 'drop all of the indexes' herd mentality... but I would like to know what is really being used on this system so we can make some educated guesses about what is really needed. Luckily it is a DW / ETL type of application that has a comprehensive nightly refresh. Yes, a nice way of saying flush and fill. Well at least I know they touch _every_ important object _every_ night.

Golden Gate Lag Graph + Alerting scripts on the way...

I posted my GoldenGate / Gnuplot lag time alerting shell scripts to a new GitHub repository:

The scripts worked on v8 and I don't think the INFO ALL screen has changed much since then so hoping it will work on v11 with a minimum of changes. I will post a more comprehensive walkthrough after I verify the v11 compatibility...

I also have an Alerting perl script that I will be tidying up and including in the ggtools repository ... but that won't be available until later this month.

Long Operations Real Time Viewer - Perl


Monitor Long Operations inside an Oracle Database using Perl/DBI.

This can be useful for monitoring Table Scans, Index Rebuilds, and Exports.

Source Code

Shell Script Example

Golden Gate Tools - Lag Graph + Alerting

I am polishing up and testing some of my *nix scripts I used with GG version 8 to work with version 11.


This set of scripts gathers lag information from the GoldenGate GGSCI utility and graph the results via GnuPlot.


This set of scripts will look for state changes (RUNNING/STOPPED/ABENDED) and alert when it detects them. The code is being slowly made available at I will post some more formal documentation after things are more fit for public consumption.

RDA and HCVE...

I haven't look at Oracle's Remote Diagnostic Agent (RDA) tool in a couple of years. Back when we ran our systems on Windows I remember using a clunky version of RDA that looked like it was cobbled together with batch files and VB code. What is RDA? From the Oracle website:

Changing spreport to run StatsPacks from the command line...

Statspack Reports can be useful for diagnosing performance problems, but they are only useful if they are generated and available!

Make your own Long Running Operation

Did you know you can make your own Long Running Operation that is available to the V$SESSION_LONGOPS system view?

At the bottom of the Oracle documentation for DBMS_APPLICATION_INFO is some example code:

In a previous post I posted Perl source code for a script that monitors V$SESSION_LONGOPS and reports progress of all current long operations: TODO

– Dave

Like the v$session_longops progress bar in OEM? You'll love this…

One of the redeeming qualities of the Java Oracle Enterprise Manager client is the progress bar that comes up when you are viewing the long operations of a session. I wanted this functionality but didn’t want to wake up the big lug to get this info (it takes a long time to start up the OEM client and navigate to the screen to see the long operations progress bar).

So I decided to write a short script to emulate that functionality but take it one step further and show me info about _all_ the longops currently running on an instance.

otop , a 'top' utility for Oracle

I recently discovered that someone else is publishing some Perl utilities to monitor Oracle!

I've been using Perl to get things done with Oracle for a while and have found it extremely helpful. The current environment that I work in has a mixture of OSes so sometimes its easier to install Perl and DBI everywhere and write a simple Perl Script than to try to do something in DOS Batch for one client and then do it again in a bash shell script for another.

Sean Hull published a video of his talk about otop, the PowerPoint slides, and the downloadable source on his company's site:

Subscribe to monitoring