2011-09-06 24 views
8

Otrzymujemy ten błąd sporadycznie. Dzięki temu samemu TNS jesteśmy w stanie dokonać poprawnych połączeń z bazą danych. Ale widzimy to w dziennikach, podczas gdy czasami wykonujemy połączenia. Poniżej znajduje się ślad stosu. To jest połączenie db do Oracle z komputera z systemem Linux i aplikacji Java. Każda pomoc jest doceniana.ORACLE: wyjątek Io: adapter sieciowy nie może nawiązać połączenia

java.sql.SQLException: Io wyjątek: karta sieciowa nie może ustanowić połączenia w oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112) na oracle.jdbc.driver.DatabaseError .throwSqlException (DatabaseError.java:146) w oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:255) w oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:387) w oracle.jdbc .driver.PhysicalConnection. (PhysicalConnection.java:439) na oracle.jdbc.driver.T4CConnection. (T4CConnection.java:165) na oracle.jdbc.driver.T4CDriverExtension.getConnection (T4CDriverEx tension.java:35) na oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:801) na oracle.jdbc.pool.OracleDataSource.getPhysicalConnection (OracleDataSource.java:297) na oracle.jdbc.pool. OracleDataSource.getConnection (OracleDataSource.java:221) w oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection (OracleConnectionPoolDataSource.java:157) w oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection (OracleConnectionPoolDataSource.java:94) w wyroczni. jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection (OracleImplicitConnectionCache.java:1567) na oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection (OracleImplicitConnectionCache.java:478) na oracle.jdbc.pool.OracleImplicitConnection Cache.getConnection (OracleImplicitConnectionCache.java:347) w oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:404) w oracle.jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:189) w wyroczni. jdbc.pool.OracleDataSource.getConnection (OracleDataSource.java:165)

+0

To nie byłby problem Cisco UCCX, prawda? Mam ten sam problem, ten sam komunikat o błędzie i dzieje się to sporadycznie. Czy kiedykolwiek znalazłeś rozwiązanie? – AsherMaximum

+0

Oczyściliśmy pamięć podręczną DNS i to pomogło! –

Odpowiedz

10

try po

  1. (oczywiste) adres IP jest nieprawidłowy - spróbuj PING
  2. port nie jest otwarty, czy jest zablokowany przez zaporę ogniową - wypróbuj TELNET
  3. DB słuchacz nie jest uruchomiony lub wiąże się z inną siecią interfejsu - po raz kolejny, TELNET powinien potwierdzić (również użyć Oracle Client narzędzi do łączenia)
  4. Brak porty lokalne są dostępne dla wychodzącego połączenia (mało prawdopodobne) - tylko jeśli wykonujesz tysiące połączeń lub co minutę tworzy setki nowych połączeń.
+0

Dzięki za odpowiedź. Punkty 1 - 4 którekolwiek z tych problemów spowoduje, że stanie się to sporadycznie? TELNET działa. –

0

Sprawdź https://forums.oracle.com/forums/thread.jspa?messageID=2540479, może musisz zmienić parametr hosta pliku listener.ora na parametr hosta. Można sprawdzić, który parametr jest nazwą hosta w systemie Windows, cmd> nazwa hosta

+0

Sprawdź, dlaczego? Chodzi o inną wiadomość. – EJP

+0

@EJB Różne opisy wiadomości nie oznaczają, że nie mogą nam pomóc w różnych sytuacjach. Właśnie to mi pomogło, to wszystko. –

1

Wygląda na to, że pula połączeń kończy się z połączeniami ... Gdy przychodzący bufor odbiorczy DBMS odbierany jest przez wiele jednoczesnych żądań połączeń. Niektóre z nich zawiodą.

można mieć sen gwint trochę (co pół sekundy do sekundy lub tak) pomiędzy kolejnymi żądań połączeń. Następnie nie zamykaj połączeń, dopóki się nie zepsują. Zachowaj je i wykorzystaj ponownie.

Powiązane problemy