Solved

Orcl_Error_ORA_12520.

Posted on 2011-09-02
6
252 Views
Last Modified: 2012-05-12
We have a SAP client that runs batch processes against oracle.
Recently we noticed

OCI call <OCIServer Attach> for connection <tips> failed: <ORA-12520: TNS: listener could not find available handler for requested type of server.

Is this related to number of connections allowed in PROCESSES parameter?

Any ideas for troubleshootng and resolving.
0
Comment
Question by:sam15
  • 3
  • 3
6 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 36475507
I assume you have looked at the cause and action for this error:
http://ora-12520.ora-code.com/

Maxing out processes might cause this.  When you receive this error how many connections are there and what is processes set at?
0
 

Author Comment

by:sam15
ID: 36475648
I looked at this whioh does not sound it is related to number of connections
http://download.oracle.com/docs/cd/B14117_01/network.101/b10775/troublestng.htm#CEGJGEEC

Processes=150

and normally number of session is about 100.

Does oracle count inactive processes as part of the 150 max? Someone said there is a bunch of dead unix processes showing. Does oracle normally kill the server processes after they are idle or certain time or it keeps it as long as a client is there.
0
 
LVL 76

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 36476211
If they aren't in v$session then they aren't counted.

Oracle is supposed to clean up 'dead' connections but there have been several 'features' where connections are not recognized as dead and are left around.

150 is pretty low.  I would go ahead and increase it just for grins.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:sam15
ID: 36476461
so it counts INACTIVE sessions as part of the 150.
How does oracle clean up the dead connections/sessions? is there a parameter to make this faster?

Also, i found out they are not using Connection ppoling. Can this be setup in the oracle client or this is something the client application has to do?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 36476715
I ran into issues in an ASP setup many years ago where the connections were not 'disposed' and Oracle would still see them as active and not clean them up.

I'm not sure of any setting that will detect these faster or more accurately.

Pooling can help but not if the app properly disposes of old connections.  If not, once the pool fills up, new connections will be created and you will have the same issue.
0
 

Author Comment

by:sam15
ID: 36476748
but where do you set the connection pooling? is it using the client application or the oracle client config file?

According to this

http://www.orafaq.com/wiki/SQL*Net_FAQ

http://www.orafaq.com/wiki/Sqlnet.ora#sqlnet.expire_time


I am not sure if configuring SQLNET.EXPIRE_TIME to 1 minute will help or setting up prespawned servers or multiple listeners.

or is it simplu bumping up the PROCESSES prameter
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Read only access to a Procedure in oracle? 4 65
Consolidating oracle query results to a single line 8 60
PL/SQL Display based on value 4 26
pl/sql - query very slow 26 59
Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
Via a live example, show how to take different types of Oracle backups using RMAN.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question