My Oracle Support Banner

Tomcat Application JDBC Connections Fail Intermittently with java.sql.SQLException: Protocol violation Intermittently (Doc ID 1367031.1)

Last updated on APRIL 26, 2018

Applies to:

JDBC - Version 11.1.0.7 and later
Information in this document applies to any platform.

Symptoms

Application using JDBC 11.1.0.7 against an 11.1.0.7 RAC fails intermittently with the following errors:


java.sql.SQLException: Protocol violation
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:119)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:134)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:247)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:327)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:352)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:642)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1114)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1038)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:1145)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1471)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3888)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3958)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:3614)

java.sql.SQLException: OALL8 is in an inconsistent state
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:119)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:134)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:247)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:327)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:352)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:642)
at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:494)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:201)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1038)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:1145)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1471)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3888)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3958)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:3614)

In an effort to solve the issue, the JDBC drivers were upgraded to JDBC 11.2.0.2, but even though the java.sql.SQLException: OALL8 is in an inconsistent state no longer exists with this version,  the protocol violation errors still persist.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.