<html>
<head>
</head>
<body>
I received a few requests about this, so I'm submitting it to the list.  I
don't know if this belongs in the contrib section of the nagios-plugins,
because it doesn't exactly fit the form.  If I improve it significantly,
then I'll formally resubmit it.<br>
<br>
Anyway, this requires that Java JDK1.3.1 or higher is installed on the monitoring
machine, but you don't need to install the Oracle client.  You only need
the Oracle JDBC libraries, found in the form of classes12.zip or classes12.jar.
 My code uses the Java Thin Client to connect to the DB.  <br>
<br>
You first need to compile the NagiosDBTest.java file to get NagiosDBTest.class.
 Then, in the shell script, you'll see that I set the $CLASSPATH to wherever
the classes12 file is.  My script then takes 4 args:  host, sid, username,
and password.  <br>
<br>
The args that actually get passed to the java program are (in order), the
connection string (which contains the host and sid), username, password,
and query string (in quotes).  You can vary the shell script as you like
to run different queries or take different args, as long as these 4 args
get passed to the java program (or edit the .java file to set up your own
defaults).<br>
<br>
The java code simply makes a connection to the Oracle DB and runs the query.
 If a SQLException occurs, or the resultset of the query is empty, the java
code returns a critical, and either the Exception message or "Empty Set"
will be returned as output.  If the query returns a resultset that has content,
the java code returns an OK and outputs the result of the query.  If you
write smarter shell scripts, you can use the resultset output to do more
calculations (check # of connections, etc).<br>
<br>
This code should work with non-Oracle databases are long as you have the
proper JDBC libraries in the $CLASSPATH and use the correct connection string.<br>
<br>
Please feel free to email if you have any questions.<br>
<br>
Russell Scibetti<br>
<br>
Carroll, Jim P [Contractor] wrote:<br>
<blockquote type="cite" cite="mid:74D428BDBFD5D04CB54E84499ECA29DB014E1484@PKDWB03C.ad.sprint.com">
  <pre wrap="">Perhaps something which could be added to the contrib directory...?<br><br>jc<br><br></pre>
  <blockquote type="cite">
    <pre wrap="">-----Original Message-----<br>From: Russell Scibetti [<a class="moz-txt-link-freetext" href="mailto:russell@quadrix.com">mailto:russell@quadrix.com</a>]<br>Sent: Monday, February 10, 2003 1:11 PM<br>To: <a class="moz-txt-link-abbreviated" href="mailto:nagios-users@lists.sourceforge.net">nagios-users@lists.sourceforge.net</a><br>Subject: [Nagios-users] Oracle DB Query check<br><br><br>I have created a "plugin" to check connecting and querying an <br>Oracle DB. <br> However, instead of needing the Oracle client installed on your <br>monitoring machine, I use java (JDK1.3.1 and up) and a <br>Jar/Zip file of <br>the Oracle JDBC libraries (classes12.zip for those that know <br>it).  It is <br>a small java class that connects, runs a query and exits, and you can <br>wrap it with any number of different shell scripts for <br>running different <br>queries and processing the results.  <br><br>The class takes a connection string, user, password, and <br>query to run. <
 
br> It returns OK if the query executes and returns any <br>resultset, which is <br>printed to the OUTPUT string.  It returns a Critical if a <br>SQLException <br>occurs or the resultset of the query is empty.  The <br>SQLException message <br>is printed as the OUTPUT if one occurs.<br><br>Is anyone interested in this code?  If so, I will email it out to the <br>list.  I was just trying to avoid installing the Oracle <br>client where I <br>didn't need it, and take advantage of an already existing <br>Java installation.<br><br>Russell Scibetti<br><br>-- <br>Russell Scibetti<br>Quadrix Solutions, Inc.<br><a class="moz-txt-link-freetext" href="http://www.quadrix.com">http://www.quadrix.com</a><br>(732) 235-2335, ext. 7038<br><br><br><br><br>-------------------------------------------------------<br>This SF.NET email is sponsored by:<br>SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!<br><a class="moz-txt-link-freetext" href="http://www.vasoftware.com">http://
 
www.vasoftware.com</a><br>_______________________________________________<br>Nagios-users mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Nagios-users@lists.sourceforge.net">Nagios-users@lists.sourceforge.net</a><br><a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/nagios-users">https://lists.sourceforge.net/lists/listinfo/nagios-users</a><br><br></pre>
    </blockquote>
    <pre wrap=""><!----><br><br>-------------------------------------------------------<br>This SF.NET email is sponsored by:<br>SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!<br><a class="moz-txt-link-freetext" href="http://www.vasoftware.com">http://www.vasoftware.com</a><br>_______________________________________________<br>Nagios-users mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Nagios-users@lists.sourceforge.net">Nagios-users@lists.sourceforge.net</a><br><a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/nagios-users">https://lists.sourceforge.net/lists/listinfo/nagios-users</a><br><br><br></pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="$mailwrapcol">-- 
Russell Scibetti
Quadrix Solutions, Inc.
<a class="moz-txt-link-freetext" href="http://www.quadrix.com">http://www.quadrix.com</a>
(732) 235-2335, ext. 7038
</pre>
    <br>
    </body>
    </html>