Задать вопрос
silverhawk90
@silverhawk90
Серверный Java Developer

Почему возникает такая ошибка при работе с Java-JDBC-Oracle?

Мой сервер написанный на Java получает различные данные с Oracle используя JDBC драйвер и во время работы очень часто неожиданное выдает ошибку Connection Wrong и дальше отказывается работать с Oracle, причем возникает такое даже при небольшой нагрузке на БД(больше 2-3 одновременных соединений не бывает). При этом через SQL Plus и SQL Developer все нормально работает, и проблема решается только перезапуском Oracle.
Подскажите, в чем может быть причина.
Возникает такая ошибка:
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
com.database.JdbcConnect.Connect(JdbcConnect.java:21)
com.database.DBOperation.connect(DBOperation.java:45)
com.database.DBOperation.getNotify(DBOperation.java:293)
com.database.DBOperation.getUnreadNotifyCount(DBOperation.java:249)
com.server.ClientHandler.getUnreadNotifyCount(ClientHandler.java:223)
com.server.ClientHandler.messageReceived(ClientHandler.java:76)
com.server.ClientHandler.handle(ClientHandler.java:40)
com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)


1) Соединения у сервера dedicated
2) ограничение на максимально кол-во соединений:
e02f225651cc44a6a368dc5f88245686.bmp
  • Вопрос задан
  • 4194 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
silverhawk90
@silverhawk90 Автор вопроса
Серверный Java Developer
Проблема была решена. Проблема была в переполнении выделенной памяти для Oracle из-за того что автоматически не закрывались открытые курсоры при разъединении с БД.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Ke1eth
software engineer
Есть какая-то статистика через какое время это происходит?
И еще такой вопрос: это единственное соединение созданное или взятое из пула соединений?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы