Case · FAQ
2008-10-29
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的告警日志信息提示越来越全面详尽。
历史上的今天
- 2011-10-29 欧洲纪行 - 布拉格 何处是灵魂之最后归所
- 2010-10-29 感谢杨廷琨加盟恩墨科技 - 恩墨科技 成就所托
- 2007-10-29 《循序渐进Oracle》一书序言
- 2006-10-29 游览的勇气 香山归来记
- 2006-10-29 香山赏红叶 北京秋意浓
- 2005-10-29 Oracle HowTo:如何解决Oracle10gR2 ORA-19554关于SBT_TAPE问题
- 2005-10-29 如何简单测试Rman的备份恢复功能?
前段时间有个库也经常碰到这个错,连接数其实没到processes上限。
最后原因是有个程序使用短连接反复连接断开,
而监听是通过pmon的serivce update来得到实际连接,但是监听只记录连接数,不记录断开的连接数,所以两次serivce update之中放行的连接数是最大processses减去上次得到的数据库连接,短连接过多最终导致这个报错。