12.13.07

Oracle - more trouble than it’s worth?

Posted in Technology at 4:37 pm by Stoner

Oracle - you suck!

A client I work with has an application that uses the Oracle JDBC/THIN drivers. Fairly common - everyone’s doing it these days. No biggie, right?

Now, before I get too much further, let me preface this by saying I inherited this environment. I did not set it up. Now that we got that out of the way, the client’s app works fine in staging, which has Oracle Client 10g (10.2.0.1.0) installed on it. It doesn’t work in production which has Oracle Client 10g Patch Set 2 (10.2.0.3.0) installed.

So let me get this straight. Within a major version, Oracle broke backwards compatibility with a patch? I can understand breaking things when going from 9i to 10g - but a minor patch?! It’s not like my clients are doing something funky with the JDBC driver…they’re using the published interfaces (ie. following the standard) and the patch broke their app.

Nice, eh? I got more!

Oracle has a component called Oracle Notification Service (ONS.) It’s a piece of “middleware” to use when you have an Oracle RAC database cluster and a non-RAC-aware program. Oracle RAC does require some special programming - you can’t just slap Oracle RAC in your environment where you had regular Oracle before and expect everything to work just peachy. I don’t care what Oracle says - they’re full of shit if they tell you that. So, it was determined by our DBAs that client needs to use ONS so their app will play nicely with RAC. No problem, right?

Go ahead and try installing it on Windows. The component is there in the Universal Installer. Clickly clickly. Slight issue: it needs to run as a Windows Service. Here’s the kicker: it wasn’t programmed to run as a Windows Service! There is no way run it as a Service, natively. I had to write a custom application and install the Windows Resource Toolkit (so I could use the instsrv and srvany tools) to create a ONS Service.

Oh and Oracle has no documentation about ONS on their web site. None. Nada. Zip.

Jerks.