Как устранить исключение java.sql.SQLRecoverableException: ошибка ввода-вывода: время ожидания соединения истеклоJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как устранить исключение java.sql.SQLRecoverableException: ошибка ввода-вывода: время ожидания соединения истекло

Сообщение Anonymous »

У нас есть 13 серверов приложений, из которых для одного сервера приложений при запуске tomcat мы получаем


СЕРЬЕЗНУЮ: невозможно выполнить создайте первоначальные подключения пула. java.sql.SQLRecoverableException: Ошибка ввода-вывода: время ожидания соединения истекло. Причина: java.net.SocketException: время ожидания соединения истекло.


мы не получаем ошибку для остальных серверов.
поэтому мы написали Java-код для проверки jdbc, чтобы выяснить, связана ли ошибка с подключением к базе данных или приложением. и мы получаем ту же ошибку и для кода Java.

Что мы сделали для проверки подключения:
  • Telnet работает с сервером базы данных Oracle.
  • Сетевая группа проанализировала tcpdump и обнаружила успешное рукопожатие между приложением и сервером базы данных.
Код Java:

Код: Выделить всё

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcDemo {
public static void main(String[] args){
try{

Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("COnnection started");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@"+"db_ip"+":"+"1521"+"/"+"db_name","db_user","password");
System.out.println("COnnection Established");
//Statement st=con.createStatement();
System.out.println("connection name"+con);
//ResultSet rs=st.executeQuery("");

}
catch(Exception e){

e.printStackTrace();
}
}
Мы получаем ошибку:

Код: Выделить всё

root@app_server_ip # java -cp .:ojdbc7.jar JdbcDemo
COnnection started
java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:841)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:755)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:38)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:599)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at JdbcDemo.main(JdbcDemo.java:13)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at oracle.net.ns.Packet.receive(Packet.java:317)
at oracle.net.ns.DataPacket.receive(DataPacket.java:101)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:301)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:245)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:167)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:119)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:75)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:447)
at oracle.jdbc.driver.T4C8TTIdty.receive(T4C8TTIdty.java:706)
at oracle.jdbc.driver.T4C8TTIdty.doRPC(T4C8TTIdty.java:611)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:2161)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:564)
... 6 more
Сервер приложений: Red Hat Enterprise Linux Server версии 6.8

Версия Oracle Db: oracle 11g

Подробнее здесь: https://stackoverflow.com/questions/512 ... -timed-out
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»