Monitoring Oracle Database Servers With Nagios

Picture of Scott Wilkerson
Scott Wilkerson
Nagios Library Home Page Image

This month Anders provides insight on monitoring Oracle databases using Nagios.

Since Oracle’s database server is designed to meet a very broad range of usage scenarios, it can be quite time-consuming to maintain Oracle installations. The database administrator has to keep track of the current usage of several kinds of resources and extents, make sure that the SID-resolution works as expected, tune cache-settings, make sure that log archiving works properly, keep track of backup-modes, manually run test-queries to verify that the database works as expected for specific applications, and verify that transactions work as they should.

The individual tasks are not very time-consuming, but the hours add up when executed over and over again on several installations.

Luckily, there’s a Nagios plugin which can do most of the job for you – check_oracle.pl.

There are several Nagios plugins for Oracle available on the web. The one described in this tech tip was designed in co-operation with an Oracle DBA.

There are several nagios-plugins for Oracle available on the web. The one described in this tech tip was designed in co-operation with an Oracle DBA.

check_oracle.pl depends on Oracle Instant Client and a user with sufficient access to the databases you want to monitor. The plugin can monitor:

  • database availability (tnsping)
  • login or dummy login
  • cache hit ratio
  • tablespace usage
  • datafile usage
  • total number of datafiles
  • available extents per table or tablespace
  • log archiving enabled or not
  • backupmode
  • user defined query, match for string or numeric value
  • locks
  • broken transactions
  • failed transactions
  • transactions in the deferred error queue
  • invalid transactions

The plugin supports placing authentication credentials in an auth-file and can handle hostname as input instead of using a .ora-file for SID-lookups.

The upstream version of the plugin is available from the original authors here:
http://git.op5.org/git/?p=nagios/op5plugins.git;a=blob_plain;f=check_oracle.pl;hb=HEAD

Share: