DBAtlas · Atlas für Datenbankbetrieb

ORA-00020: maximum number of processes (N) exceeded

Oracle

Was bedeutet das?

Die Prozessanzahl der Instanz hat die durch den Initialisierungsparameter PROCESSES festgelegte Obergrenze erreicht, und es kann keine neue Verbindung bzw. kein neuer Prozess erzeugt werden. Neue Sessions können sich nicht verbinden; selbst ein Administrator kann sich unter Umständen nicht verbinden.

Ursache

Ein übergroßer Connection Pool der Anwendung, nie geschlossene Verbindungen (Leaks), mehr gleichzeitige Benutzer als erwartet oder ein zu niedrig gesetzter Parameter PROCESSES führen zur Überschreitung des Limits. Manchmal verbrauchen auch hängende Hintergrundjobs oder Parallel-Query-Prozesse Prozesse.

Lösung

Du kannst dich mit sqlplus -prelim / as sysdba verbinden, aber diese Verbindung kann kein SQL ausführen (v$session ist nicht abfragbar); sie ist nur für oradebug (z. B. hanganalyze) und SHUTDOWN ABORT nutzbar. Um Plätze freizugeben, beende vorsichtig inaktive Serverprozesse der Anwendung auf Betriebssystemebene (ps -ef | grep 'LOCAL=NO'); finde dann mit einer normalen SYSDBA-Verbindung über v$session/v$process verwaiste Sessions und schließe sie mit ALTER SYSTEM KILL SESSION. Erhöhe als dauerhafte Lösung PROCESSES und starte die Instanz neu (ist SESSIONS explizit im spfile gesetzt, wird es nicht neu abgeleitet; passe es ebenfalls an). Korrigiere auf Anwendungsseite das Maximum des Connection Pools und die Bereinigung inaktiver Verbindungen.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank