原文网址:http://xzh2000.itpub.net/post/96/222199
原文作者:xzh2000
昨晚收到短信报警,有两台DB报ORA-00020错误,如果你不太清楚ORA-20代表了什么,在linux/unix平台下,可以用oerr ora 20来查看它比较详细的错误代码;在生产环境中,processes参数一般都设置的比实际的processes多一些,所以DB一旦报ORA-20错误,基本上可以确定是程序出了问题,那该如何着手解决呢?
$oerr ora 20
00020, 00000, "maximum number of processes (%s) exceeded"
// *Cause: All process state objects are in use.
// *Action: Increase the value of the PROCESSES initialization parameter.
查v$session,看看是那个program引起的,脚本如下:
select program,count(*)
from v$session
group by program;
找到出问题的program,确定原因就比较方便啦,当然导致ORA-20也有其它的问题,比如library cache lock/pin等,所以我们在处理故障时,event/lock等是需要都要特别关注的;至于ORA-20错误的防范,最主要的就是加强对session的监控,如果某个program的session数超出了正常的水平,就要及时处理。。。
高手就是高手,高手写的东西,一般是最关键的那几个字,就是我们看不明白的字.