TNS-12519 与 processes 参数设置
今天遇到这样一个小问题,客户程序连接数据库遇到了TNS-12519错误:TNS-12519: TNS:no appropriate service handler found
在监听器日志中也能看到这个错误信息。
这个错误以前还真是没有遇到过,Oracle文档提示:ORA-12519: TNS:no appropriate service handler found
Cause: The listener could not find any available service handlers that are appropriate for the client connection.
Action: Run "lsnrctl services" to ensure that the instance(s) have registered with the listener, and are accepting connections.
检查了数据库的监听等一切正常,唯一的问题在于processes进程数量设置的太小,仅有40.
将这个参数修改为150,重启数据库一切恢复正常:SQL> alter system set processes=150 scope=spfile;
System altered.
此外在数据库的日志中还能够看到如下提示:Tue Oct 28 20:01:25 2008
starting up 4 shared server(s) ...
Oracle Data Guard is not available in this edition of Oracle.
发现Oracle的告警日志信息提示越来越全面详尽。
By eygle on 2008-10-29 10:00 |
Comments (1) |
Case |
FAQ | 2072 |
1 Comment
前段时间有个库也经常碰到这个错,连接数其实没到processes上限。
最后原因是有个程序使用短连接反复连接断开,
而监听是通过pmon的serivce update来得到实际连接,但是监听只记录连接数,不记录断开的连接数,所以两次serivce update之中放行的连接数是最大processses减去上次得到的数据库连接,短连接过多最终导致这个报错。