Oracle Health Check

Mar 24, 2011 at 3:34 AM

I need the same behavior that exists in the SqlScalar health check, but for Oracle.  I can create a contrib project for it, but it seems to make more sense right in the core, especially since a large chunk of the sql code could be reused.  It's a simple sql statement.

Mar 24, 2011 at 12:32 PM

ok, I agree - makes sense to extend core rather than create a contrib. 

I'll take a look at refactoring the SqlScalarCheck to allow it to be reused for other db's

Mar 24, 2011 at 2:11 PM

what do you use to connect to Oracle? I was going to download ODAC - http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html

Is this the best way of connecting to an Oracle db via ADO.net?

Mar 24, 2011 at 2:43 PM

I've got the ScalarCheck working.

I personally use ODP.Net (ODAC), but there are some possible issues with that.

1. Additional dependency to distribute (not sure if you even CAN redistribute it)
2. It doesn't work nice with "Any CPU".  I had to compile ALL of MonitorWang.sln in x86.
3. The built in System.Data.OracleClient is marked as Obsolete, but it's still there in .Net 4.0
4. The command that we're running (SELECT COUNT(*)) is not a really intensive query.

I think we should probably try to go with System.Data.OracleClient 

 

Mar 24, 2011 at 3:07 PM

Cool - ok, I'm code complete for this against System.Data.Oracle but can't test - no Oracle db available.

Mar 24, 2011 at 3:51 PM

Unfortunately, I have an Oracle db available.  I can test it if you send it over.

Mar 24, 2011 at 4:18 PM

heh ;)

Ok, can I just drop you the source files? there are two (OracleAdhocCommand, OracleStatement + associated check/binding config entries)

Mar 24, 2011 at 6:19 PM

Sure.  RobGibbens @ gmail dot com

Mar 25, 2011 at 6:11 AM

The other nice thing about having an Oracle check is that you now support Oracle's Advanced Queuing system (like MSMQ, except a database).  Since it's just database tables, you can (and I am) just add a scalar check and have it perform like the MSMQ checks.  One more selling feature.

Mar 25, 2011 at 9:30 AM

Ok, so starting with a vanilla Oracle Scalar Check could we build on this to create a new check specific to these Advanced Queue queries? Essentially pre-can the query and only expose the (I guessing) queue name? You save having to "know" the query text to configure the vanilla scalar check - would that be worth creating a new check for?