Solved

Orcl_Error_ORA_12520.

Posted on 2011-09-02
6
249 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

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
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…
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

912 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now