How to check and resolve : ORA-00020: maximum number of processes
ps -ef|grep oracle
kill -9
select inst_id, username, machine, program, status, count(*) "Connections"
from gv$session
where username is not null
group by inst_id, username, machine, program, status
order by 1, 6 desc;
SQL> alter system set processes=700 scope=spfile sid='*';
System altered.
SQL> alter system set sessions=1072 scope=spfile sid='*';
System altered.
if Oracle RAC
[oracle@ test-db2 ~]$ srvctl stop database -d DB_NAME
[oracle@ test-db2 ~]$ srvctl start database -d DB_NAME
[oracle@ test-db2 ~]$ srvctl status database -d DB_NAME
Instance TEST1 is running on node test-db1
Instance TEST2 is running on node test-db2
1. Login into the Oracle Database and if you cannot sqlplus into it. Try killing a few oracle server processes.
ps -ef|grep oracle
kill -9
2. Try to sqlpus now, check existing sessions:
select inst_id, username, machine, program, status, count(*) "Connections"
from gv$session
where username is not null
group by inst_id, username, machine, program, status
order by 1, 6 desc;
3. Increase the number of processes and sessions
SQL> alter system set processes=700 scope=spfile sid='*';
System altered.
SQL> alter system set sessions=1072 scope=spfile sid='*';
System altered.
4. Bounce the db
if Oracle RAC
[oracle@ test-db2 ~]$ srvctl stop database -d DB_NAME
[oracle@ test-db2 ~]$ srvctl start database -d DB_NAME
[oracle@ test-db2 ~]$ srvctl status database -d DB_NAME
Instance TEST1 is running on node test-db1
Instance TEST2 is running on node test-db2
5. Verify if the parameters are increased using the below query
select * from gv$resource_limit
where resource_name in ('processes', 'sessions')
order by 2, 1;
For example:
No comments:
Post a Comment