oracle 干掉连接

最初由 lutheran 发布 [B]进程超出最大连接数,数据库不能连接,查看v$session里只有80多个会话,但是在v$process里有350个数据库进程,数据库使用的是专用服务器,有大部分的会话已经断开,但是进程没有释放,请问这是怎么引起的???急!!!!!!!!!!! [/B]

可见的原因大致有如下几个:

1、网络的抖动,即网络发生了瞬断。

2、你的数据库设置了profile等限制用户连接时间的设置

3、应用设计的问题。比如有几台数据库服务器,其中N-1台设有trigger,有行级触发,对其中一台做操作。

这样的问题解决起来也很容易:

1、检查网络、去掉限制时间的设置。

2、增大数据库的processes参数,多加几个连接。

3、解决燃眉之急可以用如下的办法,在os执行如下脚本生成的结果就可以了 

SELECT 'kill -9'||spid  

FROM V$PROCESS

WHERE ADDR IN

(SELECT ADDR    FROM V$PROCESS

WHERE PID <> 1  

MINUS  

SELECT PADDR FROM V$SESSION); 

ps: kill针对是unix及linux,如果是windows需要用orakill。

posted on 2013-08-28 13:59  佳静枫儿  阅读(164)  评论(0编辑  收藏  举报

导航