Question about Oracle Database "ORA-00020: maximum number of process 1000 exceeded"

Hi Experts, Today we received a Alert from our Oracle Database by saying "maximum number of process 1000 exceeded". Once I checked Oracle Alert log I noticed below error was there.

"ORA-00020: maximum number of process 1000 exceeded"

(1). May I know the possible all reasons for this error ?
(2). And we are using Weblogic as midleware. How do i think about this ORA-00020 error with Weblogic level ?

Thank You
Pradeep SiriwardanaSystems EngineerAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Naitik GamitConnect With a Mentor Software DeveloperCommented:
Yes it is compulsory at both level DB & OS.please refer this links for more details

http://www.dba-oracle.com/t_ault_25_dbms_sql_alter.htm

http://www.dba-oracle.com/concepts/killing_side.htm
0
 
Naitik GamitSoftware DeveloperCommented:
The ORA-00020 is a serious production error because a user cannot connect.
 
The ORA-00020 is caused by two things:  

1->Disconnected processes:  Rogue “zombie” connections  to Oracle that are idle (not working).  To fix this, use the ALTER SYSTEM KILL command.  You may also need to kill session at the OS level with the KILL -9 or the ORAKILL command.  

2->Too few process buckets:  Oracle limits the number of connected processes with the processes parameter, and you may get the ORA-00020 error as the natural result in growth of system usage.

To fix this, increase the processes parameter, usually doubling the value to allow for future growth.  




The OERR command shows these details for the ORA-00020 error:

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

Cause: All process state objects are in use.  

Action: Increase the value of the PROCESSES initialization parameter

Simply increase your processes parameter and you are all set!  
0
 
Pradeep SiriwardanaSystems EngineerAuthor Commented:
Hello Naitik Gamit,

Thank You very much for your clear answer.
I need to get little bit more understanding about 1st reason.

In there, you have mentioned that
1st Point : "ALTER SYSTEM KILL command" can be used kill the idle (zombie) processes.
2nd Point : And later you have mentioned after that "we may need to kill sessions at OS level as well"

My Questions are,
(1). Does it mean,  we need to kill those processes from both level DB & OS  & is it  Compulsory ?
(2). Once server is shared for multiple databases, How do we identify the idle processes which related to the issue in OS Level ?

Thank You in advance,
Pradeep.
0
 
slightwv (䄆 Netminder) Commented:
Killing sessions can be dangerous and should only be done as a last resort.

Exceeding 1000 processes can just be normal for your system.  I would start by increasing the processes parameter to more that what is expected by the applications using the database.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.