OALL8 is in an inconsistent state

Sometimes (quite randombly) the Oracle 10 JDBC driver will throw an SqlException with the message “OALL8 is in an inconsistent state“.

This, apparently, is a bug on the JDBC code, and shows up when using the driver to connecto to any Oracle version (I was using it agains an 8i version, and I have seen reports against both 9i and 10g).

The easiest solution, when possible, is to use a lower version of the driver (version 9.2.0.8 is working fine for me… I can’t use 8i because of some newer features I use).

If that’s not an option, bear in mind that the error will leave your connection useless, so you’ll need to code some magic to remove it from your pool. Most pools support using a ping query to test a connection, which might be enough. If you test this approach, please let me know.

I’m just guessing now, but due to the random nature of this error, maybe just detecting the message and retrying the same query in a different connection could recover from it.

In this thread, you can get more information about symptoms, workarounds and affected versions. Or you can google for the error code… it’s quite popular.

About these ads


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: