Dostaję następujący excpetion:Wyjątek SQLException: naruszenie protokołu. Oracle JDBC kwestia sterowników
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)
System Oracle pracuje 10.2.0.3.0 Solaris 5.10. Sterownik jdbc działa w JDK 1.6.0_21 (jeśli jest importowany, java działa również na komputerze z systemem Solaris 5.10). Wypróbowałem kilka różnych rzadkich sterowników, w tym najnowsze i te, które wydają się dokładnie pasować do wersji Oracle.
Zapytanie, które mam uruchomione, jest dość proste: "wybierz * z some_table order by key1, key2, key3" Następnie przejrzyj zestaw wyników i zapisz do pliku. Tabela ma około 12 milionów wierszy, więc spodziewam się, że proces trwa długo, ale zdaje się, że umiera w ciągu 5-15 minut. Za każdym razem, gdy go uruchamiam, wieje w innym rzędzie, więc nie sądzę, że problem dotyczy danych.
Znalazłem dziennik alarmów oracle, ale nie mogłem powiedzieć, że coś tam było związane z moim procesem. Wciąż nie jestem ekspertem od oracle i być może jest to ustawienie, na które muszę spojrzeć. O dziwo, mam około pięciu takich zapytań (kilka jest nieco bardziej skomplikowanych) na różnych połączeniach, a tylko dwa najprostsze z nich mają ten problem.
Każda pomoc lub pomysł na co zwrócić uwagę, aby zawęzić problem, byłby doceniony.
Być może są na wyczerpaniu pamięci na serwerze DB? Czy prawidłowo zamykasz zasoby w Javie? Czy dzieje się to przy pierwszym zapytaniu uruchamianym w Twojej serii lub w jednym z późniejszych? – Riggy