APPLIES TO:Oracle Net Services - Version 11.2.0.4 to 12.2.0.1 [Release 11.2 to 12.2]
Information in this document applies to any platform.
SYMPTOMS
DB init parameter processes is set to 3000, TNS-12520 is seen in listener.log intermittently even v$resource_limit only shows a max value 2723 for process MAX_UTILIZATION:
processes 1025 2723 3000 3000 0
sessions 935 2199 4536 4536 0
CAUSE
This is an expected behavior when login storm occurred with below justification:
pmon will register to listener periodically, and it sends the DB current process number to the listener. In this case, max allowed processes is 3000, and current processes is 2700, so that the listener will only allow 300 new connections (3000 - 2700) until another pmon registration happened.
It could be sufficient in most cases, since the PMON or LREG will register to the listener in a short time, and nowadays applications are most likely using connection pool.
But if a login storm or significant spike in the number of connections occurs, the TNS-12520 error can occur then clear in the time it takes for the instance to update the listener process.
This is a case where the error is fleeting then self corrects.
eg: Below is example of service registration
SOLUTION
Identify the client or application server where these connections originate and tune that client so that the number of connections can be managed by your database.