问题描述:登录oracle数据库,结果报ORA-00020: maximum number of processes (%s) exceeded错误,估计是连接数太多,超过最大值限度。
问题追踪过程:1.通过命令netstat -aup|more 查询到很多成功的数据库链接,状态是ESTABLISHED。
2.查询是什么程序在链接数据库,用root用户登录,取第一不查询到的一个端口,用lsof -i:15213跟踪,可查询到正在获取数据库链接的用户名,大概能定位到是什么项目了。
3.用sqlplus登录到数据库,通过
select sql_text,count(*) from v$sql s , v$session se
where se.prev_hash_value =s.hash_value
group by sql_text
来定位session 最后run的SQL,从而定位具体获取数据库链接的sql语句。