Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 








ORA-12540: TNS: Internal Limit Restriction Exceeded Tips

Oracle Error Tips by Stephanie F.

Question:  The basic error we're getting is ORA-12540 when we're trying to allocate sessions on a Redhat Linux 7.1 server running Oracle Here is some example output of the DB error our program is catching:

Error while trying to retrieve text for error ORA-12540

We have tried raising the kernel limits as follows:

kernel.shmmax = 400000000
kernel.shmall = 400000000
kernel.shmseg = 32
kernel.sem = 10000 32000 100 100

We have tried configuring the Oracle DB in dedicated and MTS modes and it doesn't seem to make a lot of difference. What seems to happen is when the Oracle DB is running in Dedicated mode, it starts allocated new processes to handle the connections and then we seem to get to about 512 processes across the system and then we see the failure. We have tried altering the number of processes, as above, but it doesn't seem to make a lot of difference and we still get ORA-12540.

So what we need to understand is what is causing the error and how we can fix it.

AnswerUsing the oerr utility to look up the ORA-12540 error yields the following:

ORA-12540: TNS:internal limit restriction exceeded  

Cause: Too many TNS connections open simultaneously.  

Action: Wait for connections to close and re-try.

This error is not an indication of a network problem unless it occurs on all connections (in other words you have never been able to connect). If so it is a .ora configuration problem.

If you can make connections up to a certain point but then fails it is an indication of a resource limitation at the os level (this sounds like your scenario).

Typical problems are:

  • Out of system memory / swap
  • Out of process slots in the process table
  • Streams resources depleted
  • Physical connections allows by the kernal.
  • Out of File Handles

Note 2064862.102 Has troubleshooting techniques for this error.
Others can be found by searching MOSC with "12500" as the keyword.  

You may be able to get an indication of which OS resource is the root of the problem by tracing the listener. The originating linux error can then be researched.

All OS error codes can be found in:


Listener tracing:

Add the lines below to the listener.ora file:

trace_directory_listener=/tmp #
Or a known directory

This will define FULL listener tracing to the file /tmp/listener.trc.
(Restart the listener to start tracing)



Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2020

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.


Hit Counter