Ich habe eine Einrichtung, in der 180 Aufträge versuchen, Orakel zur gleichen Zeit zugreifen, d. H. Sie schließen Verbindungen nicht schnell, da sie auf z. Eine FTP-Verbindung zum Öffnen.Oracle: Bestimmen der maximalen Anzahl der unterstützten Verbindungen
von Oracle, erhalte ich die Fehlermeldung:
Listener refused the connection with the following error:
ORA-12520, TNS:listener could not find available handler for requested type of server
Ich glaube, dies ist darauf zurückzuführen, zu viele Verbindungen offen. Dies betrifft auch die GUI der Anwendung, die die Anmeldung ablehnt.
Wie kann ich eine sichere Anzahl von Jobs ermitteln, die gleichzeitig ausgeführt werden?
Wie soll ich mit dem Fehler umgehen? Ich versuchte, es durch Schlafen und Wiederholen zu behandeln, aber der einzige Effekt davon scheint zu sein, dass der TNS-Listener immer gesättigt ist und die Anzahl der gleichzeitig ausgeführten Jobs auf 180 erhöht.
Warum öffnen Sie eine Verbindung zu der Datenbank, bevor der Auftrag ausgeführt werden kann? Überprüfen Sie vor dem Abfragen von Oracle, ob eine FTP-Verbindung verfügbar ist, und führen Sie den Job nur aus, wenn eine FTP-Verbindung gesichert ist. – Nathan
Das ist ein guter Vorschlag, obwohl die Verbindungsdaten für den FTP-Server aus der Datenbank stammen. – Adder
Verbindungspooling ist möglicherweise eine gute Idee, um die Verwendung von DB-Verbindungen durch Ihre App zu regeln. Ihr aktuelles Setup ist im Grunde ein DoS-Angriff auf Ihre eigene Datenbank. – tbone