Estoy recibiendo el siguiente excpetion:SQLException: violación de protocolo. Oracle JDBC problema de controladores
java.sql.SQLException: Protocol violation
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
at oracle.jdbc.driver.T4C80all.receive(T4C80all.java:766)
at oracle.jdbc.driver.T4CPreparedStatement.do0all8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1225)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:373)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:284)
El sistema Oracle se ejecuta en Solaris 10.2.0.3.0 5.10. El controlador jdbc se ejecuta en JDK 1.6.0_21 (si es importado, el java también se ejecuta en una máquina Solaris 5.10). He probado varios controladores delgados de Oracle incluyendo el último y el que parece coincidir exactamente con la versión Oracle.
La consulta que estoy ejecutando es bastante simple: "select * from_al_table order by key1, key2, key3" Luego iterando a través del conjunto de resultados y escribiendo en un archivo. La tabla tiene alrededor de 12 millones de filas, por lo que espero que el proceso se prolongue, pero parece que falle dentro de 5-15 minutos. Cada vez que lo ejecuto, explota en una fila diferente, así que no creo que el problema sea con los datos.
Encontré el registro de alerta de Oracle, pero no pude decir que haya algo relacionado con mi proceso. Aún así, no soy un experto en oráculos y tal vez haya una configuración de oráculo que necesito ver. Curiosamente, estoy ejecutando alrededor de cinco de este tipo de consultas (un par es un poco más complicado) en diferentes conexiones y solo dos más simples tienen este problema.
Se agradecerá cualquier ayuda o ideas sobre qué buscar para reducir el problema.
Quizá se ejecuta fuera de la memoria en el servidor de base de datos? ¿Está cerrando correctamente los recursos en Java? ¿Esto sucede en la primera consulta ejecutada en su serie o en una de las últimas? – Riggy