Resolving "java.sql.SQLException: OALL8 is in an inconsistent state".

Resolving "java.sql.SQLException: OALL8 is in an inconsistent state".

book

Article ID: KB0083678

calendar_today

Updated On:

Products Versions
Spotfire Server All versions

Description

Description:
When trying to access a Web Player client, or the installed client, you may get an error after logging in stating, "Error accessing preference storage." This error message can have multiple causes. We generally recommend referencing the TIBCO Spotfire Server logfiles for further information on why you are experiencing this issue. Looking at the logfiles, you may see that the logged errors sometimes ends with a "java.sql.SQLException: OALL8 is in an inconsistent state." exception.

Symptoms:
In the TIBCO Spotfire Server logfile, you see error messages regarding accessing the library and the server database.

Caused by: java.sql.SQLException: OALL8 is in an inconsistent state.
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
    at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:474)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:180)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791)
    at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)

    ...

    ...

 

For example as part of the following error:

ERROR 2015-08-26T09:39:30,550+0900 [username, #3932] ws.library.BookmarkService: An exception occurred in method 'checkForUpdates'.
com.spotfire.ws.library.StorageException: java.sql.SQLException: OALL8 is in an inconsistent state, DATABASE_ERROR
    at com.spotfire.ws.library.AbstractPersister.search(AbstractPersister.java:1324)
    at com.spotfire.ws.library.LibraryManagerImpl.search(LibraryManagerImpl.java:1529)
    at com.spotfire.ws.library.BookmarkManager.checkFolderDate(BookmarkManager.java:1472)
    at com.spotfire.ws.library.BookmarkManager.checkForUpdatesNew(BookmarkManager.java:1110)
    at com.spotfire.ws.library.BookmarkManager.checkForUpdates(BookmarkManager.java:154)
    at com.spotfire.ws.library.BookmarkService.checkForUpdates(BookmarkService.java:141)
    at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    ...

    ...

Caused by: java.sql.SQLException: OALL8 is in an inconsistent state.
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)

    ...

    ...


Cause:
This error means that the protocol engine in the JDBC thin driver that you are using, and the protocol engine in the RDBMS are out of synch. There is no way for the connection to recover from this error and a new connection needs to be initialized.

Issue/Introduction

Resolving "java.sql.SQLException: OALL8 is in an inconsistent state".

Resolution

Update to a newer release of the Oracle Thin JDBC driver, as this exception no longer occurs after the release of the 11.2 driver.