ORACLE: Io исключение: сетевой адаптер не может установить соединение - PullRequest
8 голосов
/ 06 сентября 2011

Мы получаем эту ошибку время от времени.С помощью того же TNS мы можем правильно подключаться к базе данных.Но мы видим это в логах, пока устанавливаем соединения несколько раз.Ниже приводится трассировка стека.Это соединение БД с Oracle с компьютера с Linux и Java-приложения. Любая помощь приветствуется.

java.sql.SQLException: Io исключение: сетевому адаптеру не удалось установить соединение на oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112) в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:146) в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java. Jj5)driver.T4CConnection.logon (T4CConnection.java:387) в oracle.jdbc.driver.PhysicalConnection. (PhysicalConnection.java:439) в oracle.jdbc.driver.T4CConnection. (T4CConnection.java:165) atd.j.T4CDriverExtension.getConnection (T4CDriverExtension.java:35) в oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:801) в oracle.jdbc.pool.OracleDataSource.getPhysicalConnection (OracleDataSource.java.jc: 29)pool.OracleDataSource.getConnection (OracleDataSource.java:221) в oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection (OracleConnectionPoolDataSource.java:157) по адресу oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection (OracleConnectionPoolDataSource.java:94) по адресу oracle.jdbc.pool.OracleImplicitcacheCacheCache (.OracleImplicitConnectionCache.getCacheConnection (OracleImplicitConnectionCache.java:478) в oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection (OracleImplicitConnectionCache.java:347) в oracle.jdbc.pool.OracleDataSction.jj.jpgpool.OracleDataSource.getConnection (OracleDataSource.java:189) в oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:165)

Ответы [ 3 ]

10 голосов
/ 06 сентября 2011

попробуйте следующий

  1. (очевидно) IP-адрес неверен - попробуйте PING
  2. Порт не открыт или заблокирован брандмауэром - попробуйте TELNET
  3. Слушатель БД не работает или привязан к другой сети интерфейс - снова, TELNET должен подтвердить это (также используйте клиент Oracle инструменты для подключения)
  4. Нет локальных портов для исходящего соединения (маловероятно) - только если вы делаете тысячи соединений, или создавая сотни новых соединений каждую минуту.
1 голос
/ 11 октября 2017

Кажется, в пуле соединений закончились соединения ... Когда буфер входящих запросов слушателя СУБД перегружен многими одновременными запросами на соединение.Некоторые из них завершатся с ошибкой.

Вы можете сделать так, чтобы поток немного спал (от полсекунды до секунды) между последовательными запросами соединения.После этого не закрывайте соединения, пока они не разорвутся.Сохраните их и используйте повторно.

0 голосов
/ 27 ноября 2012

Проверьте https://forums.oracle.com/forums/thread.jspa?messageID=2540479, возможно, вы должны изменить параметр хоста файла listener.ora на ваш параметр хоста. Вы можете проверить, какой параметр является вашим именем хоста в Windows, cmd> hostname

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...