Oracle
 sql >> Datenbank >  >> RDS >> Oracle

java.sql.SQLException:Io-Ausnahme:Gebrochene Pipe, wie kann man ohne Neustart wiederherstellen?

Folgende Möglichkeiten könnten die Ausnahme verursachen:

  1. Netzwerkproblem:Das Netzwerk zwischen Datenbank und Anwendungsserver führt dazu, dass die physische Verbindung nach einiger Zeit getrennt wird. Es liegt wahrscheinlich an einer Firewall, die hinter dem Netzwerk läuft und so konfiguriert ist, dass sie DB-Verbindungen nach einer bestimmten Zeit beendet. Sie können eine Problemumgehung in Betracht ziehen, um die Verbindung die ganze Zeit aufrechtzuerhalten, indem Sie einfach Ihren Anwendungsserver neu konfigurieren. Für Tomcat können Sie versuchen, validationQuery="select 'validationQuery' from dua hinzuzufügen l in der Konfigurationsdatei der Tomcat-Datenquelle (context.xml)

  2. Die Verbindungen zum Datenbankserver werden zurückgesetzt und der Client wird nicht vom Datenbanktreiber benachrichtigt. Das Problem in diesem Fall ist, dass der Oracle-Treiber entdeckt, dass sein Socket zum DBMS irgendwie (vielleicht wieder Firewall?) vom anderen Ende geschlossen wurde. Als Lösung können Sie erwägen, Ihr Verbindungs-Timeout (im Pool) kürzer als das Netzwerk-/DB-Server-Timeout einzustellen.