ORACLE: exception Io: l’adaptateur réseau n’a pas pu établir la connexion

Nous obtenons cette erreur de manière sporadique. Avec le même TNS, nous pouvons établir des connexions correctes avec la firebase database. Mais nous voyons cela dans les journaux tout en établissant des connexions. Voici la trace de la stack. Ceci est une connexion db à Oracle à partir d’une machine Linux et d’une application Java. Toute aide est appréciée.

java.sql.SQLException: exception Io: l’adaptateur réseau n’a pas pu établir la connexion à oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112) à oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:146 ) à oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:255) à l’adresse oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:387) à l’adresse oracle.jdbc.driver.PhysicalConnection (PhysicalConnection.java:439). ) oracle.jdbc.driver.T4CConnection. (T4CConnection.java:165) at oracle.jdbc.driver.T4CDriverExtension.getConnection (T4CDriverExtension.java:35) at oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:801 ) oracle.jdbc.pool.OracleDataSource.getPhysicalConnection (OracleDataSource.java:297) à l’adresse oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:221) à l’adresse oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection (OracleConnectionPoolDataSource.java: 157) sur oracle.jdbc.pool.OracleConnectionPoolDataSourc e.getPooledConnection (OracleConnectionPoolDataSource.java:94) sur oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection (OracleImplicitConnectionCache.java:1567) sur oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection (OracleImplicitConnectionCache.java:478) sur oracle.jdbc.pool .OracleImplicitConnectionCache.getConnection (OracleImplicitConnectionCache.java:347) sur oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:404) sur oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:189) sur oracle.jdbc. pool.OracleDataSource.getConnection (OracleDataSource.java:165)

essayer de suivre

  1. L’adresse IP (évidente) est incorrecte – essayez PING
  2. Le port n’est pas ouvert ou est bloqué par un pare-feu – essayez TELNET
  3. L’écouteur de firebase database ne s’exécute pas ou est lié à une autre interface réseau – encore une fois, TELNET devrait le confirmer (utilisez également les outils client Oracle pour se connecter)
  4. Aucun port local n’est disponible pour la connexion sortante (peu probable) – uniquement si vous créez des milliers de connexions ou créez des centaines de nouvelles connexions chaque minute.

Il semble que le pool de connexions soit à court de connexions … Lorsque le tampon de demandes entrantes de DBMS Listener est surchargé par de nombreuses demandes de connexion simultanées. Il échouera certains d’entre eux.

vous pouvez faire en sorte que le thread s’endorme un peu (une demi-seconde à une seconde ou plus) entre les demandes de connexion successives. Après cela, ne fermez pas les connexions avant qu’elles ne soient brisées. Gardez-les et réutilisez-les.

Vérifiez https://forums.oracle.com/forums/thread.jspa?messageID=2540479 , vous devez peut-être changer le paramètre hôte du fichier listener.ora en votre paramètre hôte. Vous pouvez vérifier que ce paramètre correspond à votre nom d’hôte dans Windows, cmd> hostname