2017-02-02 2 views
0

Ich habe eine Java-Webanwendung, die Apache DBCP verwendet, um eine Verbindung zu einer Oracle DB herzustellen. Die Verbindung wird mit JNDI hergestellt. In meiner Anwendung muss ich eine Abfrage an die Datenbank ausführen, die Ergebnisse verarbeiten und dann die Updates speichern.
Das Problem ist, dass egal, welche Eigenschaften ich für die DB-Verbindung Parameter (maxWait, minEvictableIdleTimeMillis, testOnBorrow, etc - Ich habe alle von ihnen mit verschiedenen Werten versucht), immer wieder eine "Verbindung geschlossen" -Fehler, nach aprox . 2,5 Minuten Die Ergebnismenge I Prozess ist groß, und die Ausführung dauert länger als 2,5 Minuten, aber selbst wenn ich die paginierte Abfrage, um die Datenbank oft zu treffen, bekomme ich immer noch den gleichen Fehler. Eine andere seltsame Sache ist, dass egal welchen Wert ich für die Größe des Verbindungspools (mit MaxActive, MaxIdle, InitialSize), wenn ich die maximale physikalische offene Verbindungen loggen den Wert 1 ist. Haben Sie eine Idee, warum dies passiert? Könnte das durch eine Einstellung auf DB/Netzwerkseite verursacht werden?Oracle Connection geschlossen

Antwort

0

Dies kann aufgrund mehrerer Probleme auftreten.

1) Alle Änderungen, die Sie vorgenommen haben, sind auf der Clientseite. Sie sollten wahrscheinlich auch in anderen Bereichen suchen. 2) Überprüfen Sie Oracle/Server-Einstellungen wie sqlnet.ora und die maximale Anzahl der Verbindungen/Sitzung und Prozesse auf der Datenbankebene erlaubt. 3) Überprüfen Sie, ob Soft/Hard Firewall-Einstellungen Ihre Sitzung/Verbindung schließen. Dies könnte der Grund für Ihre "Verbindung geschlossen" sein.

Danke Rahul