ORA-00020: maximum number of processes (N) exceeded
OracleWas 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.
Weitere Einträge zu dieser Datenbank
- ORA-04061existing state of package/procedure has been invalidated
- ORA-01466unable to read data - table definition has changed
- ORA-08176consistent read failure; rollback data not available
- ORA-01113file N needs media recovery
- ORA-02393exceeded call limit on CPU usage
- ORA-12801error signaled in parallel query server Pnnn