今天中午接到同事求助,说是一个应用里面报出了一个ORACLE错误,因而帮助他看了看,虽然最终没有解决他的问题(问题不是出在ORACLE数据库层面),仍是把分析步骤发出来分享一下。数据库
问题状况:
一个应用程序执行失败了,在问题日志中,发现以下报错。session
问题分析:
这个报错很明显,是ORA-12519
错误,具体的意思就是TNS:no appropriate service handler found
(没有合适的服务处理器) ,咱们能够上网去查一查这个错误号,基本的矛头都指向了数据库的Session和Process被占满。oracle
问题细化分析:app
select count(*) from v$process ;
select value from v$parameter where name = 'processes' ;
show parameter session;
select count(*) from v$session;
localhost.localdomain
这台机器,有1061个session在sys$user
下执行,这明显不正常。V$process
这张表,因而我又查了一些内容,发现一个问题,那就是:密码过时会致使Oracle process耗尽 这里我放一个连接:http://blog.csdn.net/leftfist...dom
这篇文章说的状况,大概是这样的,即Process吃满,可是Session数特别小,这样就排除了数据库自己的操做引发process数的暴涨,跟今天分析的内容不太同样,可是特别具备预警意义,可能不少11g的oracle都没有注意这一部分,文章中的描述很详细,内容也很好,强烈推荐你们看一看。spa