0

I am using oracle 11g database and application deployed on weblogic 12.2.1 while I tried to access my application today, I faced an issue as "Listener refused the connection with the following error:

ORA-12516, TNS:listener could not find available handler with matching protocol stack".

Verified the process parameter limit which was almost near the max limit so I altered the process value and increment it to 500 using the below alter command:

alter system set processes=500 scope=spfile;

Now, everything is fine. But I provided the process count on a vague idea.

My question is:

  1. How do I decide the processes count. Is that based on my user count?
  2. Do oracle have any calculation method for this or any other dependency?

closed as off-topic by Philᵀᴹ, JSapkota, Mat, mustaccio, Erik Oct 25 '16 at 20:14

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Too localized - this could be because your code has a typo, basic error, or is not relevant to most of our audience. Consider revising your question so that it appeals to a broader audience. As it stands, the question is unlikely to help other users (regarding typo questions, see this meta question for background)." – Philᵀᴹ, JSapkota, Mat
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    This is completely dependent on your hardware, application, business requirements etc etc. Not really answerable – Philᵀᴹ Oct 25 '16 at 13:14
1

Yes, it depends on your user count. But not only that, it also depends on which way your users connect to the database and the number of background processes your instance requires.

There are basically two types of server processes that services user processes (client processes): dedicated server process, where there is an one-to-one mapping between user process and server process, and shared server process, where, like the name suggests, a server process can be shared between two or more user processes.

If your application (client) connects directly to the Oracle database, it will spawn a dedicated server process to handle its requests. If your application connects to a dispatcher, then you are using one of many shared processes to handle your requests.

Basically, if you use shared server connections you can service many users with fewer processes, but you may have a performance penalty. More information about dedicated and shared server processes can be found at: https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN11166

Also, please beware that what prevents you from connecting to an instance is reaching the SESSION limit, which is a derived metric from the number of processes:

sessions =  (1.5 * PROCESSES) + 22

Since every login requires a session, it's the sessions parameter that actually determines the number of concurrent users on the instance. Please refer to the following url for more details: https://docs.oracle.com/cd/E18283_01/server.112/e17110/initparams229.htm

Not the answer you're looking for? Browse other questions tagged or ask your own question.