ORA-00020: Maximum Number of Processes Exceeded

Sometimes you may encounter ” ORA-00020: maximum number of processes exceeded ” error while login oracle database via sqlplus and application may encounter TNS errors.

If you got ORA-00020 error like following, it means process parameter has exceeded its max value.
ORA-00020: maximum number of processes (1000) exceeded

To solve ORA-00020: maximum number of processes exceeded error, You can increase processes parameter in Oracle database as follows.

SQL> alter system set processes=2000 scope=spfile; 
System altered.

But this parameter is activated after database restart. If you cannot restart database, then you may solve this problem to kill inactive sessions like following.

  SELECT 'kill -9 ' || p.SPID,
         s.USERNAME,
         'alter system kill session ''' || sid || ',' || s.serial# || ''';',
         s.STATUS
    FROM v$session s, v$process p
   WHERE s.PADDR = p.ADDR(+) AND s.STATUS = 'INACTIVE' AND s.USERNAME = 'TYPE_YOUR_SCHEMA_NAME'
ORDER BY 1;

But If you cannot login database and specify inactive sessions, then you can change processes parameter like following then restart database. You can think that how can you alter process parameter without login database, I just kill some inactive sessions then I login database.

SQL> show parameter processes;

NAME 		        TYPE 		VALUE
-----------------------	----------- 	------------------------------
processes 	        integer 	1000
SQL>
SQL> alter system set processes=2000 scope=spfile;
System altered.

Restart database after this operation as follows.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
SQL>
SQL> show parameter processes

NAME 		        TYPE 		VALUE
-----------------------	----------- 	------------------------------
processes 	        integer 	2000
SQL>

Thats All…

Yorum bırakın