ORA-12519: TNS: no appropriate service handler found after Windows 2003 is upgraded to CentOS 5.7.
Recently, the company upgraded its system from windows2003 Oracle10.2.0.1 to Centos5.7 x64 Oracle11.2.0.3 x64.
Through optimization of the array and memory allocation, it is easy to obtain the first 7.5 times of performance after testing. The response speed of subsidiaries was greatly improved.
However, there was a problem:
When the number of users reaches about 140, the application cannot connect to the database (the application has many nonstandard jdbc links, which is not the focus of this record ). Why?
According to the fault tree principle, my first response is to view listener. ora,
In the 11g, his path has changed/u01/diag/tnslsnr/centos1/listener/trace/listener. log
The ORA-12519: TNS: no appropriate service handler found was found
This is related to the upper limit of process.
But why didn't I find this problem before using windows?
In windows, oracle runs in a single process and multiple threads, while in linux, oracle runs in multiple processes.
When the application submits many nonstandard jdbc connections, there will be a corresponding number of background processes in linux to respond, of course, it will also be reflected as multi-process in the OS layer;
In windows, this problem is avoided. Of course, other performance scheduling problems caused by this problem are not verified for the time being.
If the problem is found, adjust it quickly.
It is estimated that the number of users in the system is more than 400, so we should set the process parameter to 600 first. It is relatively safe.
Select count (*) from v $ process -- current number of connections
Select value from v $ parameter where name = 'processs' -- maximum number of connections allowed by the database
Modify the maximum number of connections:
Alter system set processses = 600 scope = spfile;
Restart the database:
Shutdown immediate;
Startup;
Problem Solving