Oracle
 sql >> Database >  >> RDS >> Oracle

java.sql.SQLException:eccezione Io:pipe rotta come ripristinare senza riavvio?

Le seguenti potrebbero essere le possibilità che potrebbero causare l'eccezione:

  1. Problema di rete:è la rete tra il database e il server delle applicazioni che causa l'interruzione della connessione fisica dopo un periodo di tempo. Probabilmente è dovuto a un firewall in esecuzione dietro la rete che è configurato per interrompere le connessioni db dopo un periodo di tempo specificato. È possibile prendere in considerazione una soluzione alternativa per mantenere la connessione sempre attiva semplicemente riconfigurando il server delle applicazioni. Per Tomcat, puoi provare ad aggiungere validationQuery="select 'validationQuery' from dua l nel file di configurazione dell'origine dati Tomcat (context.xml)

  2. Le connessioni al server del database vengono reimpostate e il client non viene informato dal driver del database. Il problema in questo caso è che il driver Oracle sta scoprendo che il suo socket sul DBMS in qualche modo (di nuovo il firewall, forse?) è stato chiuso dall'altra parte. Potresti considerare l'impostazione del timeout di connessione (nel pool) più breve del timeout del server di rete/DB come soluzione.