如果连接数超过固定限制(例如 maxActive),有谁知道如何驱逐或终止打开的连接(是否使用无关紧要) 目前我在 Sun One 6.1 下使用来自 Apache 的 DBCP。提前致谢!,
问问题
478 次
1 回答
0
ALTER SYSTEM KILL SESSION 'nnn,mmmm' 可以终止会话(nnn 是 SID,mmmm 是 SERIAL#)。您可以查看 v$session seconds_in_wait 并使用“来自客户端的 SQL*Net 消息”事件来查看一段时间内没有执行任何操作的会话。该事件基本上说“我正在等待客户告诉我下一步该做什么。”
还要确保会话没有打开的事务
select sid, serial# from v$session
where event = 'SQL*Net message from client'
and saddr not in (select ses_addr from v$transaction)
order by seconds_in_wait desc;
虽然这是一个丑陋的解决方案。
于 2010-09-07T23:06:04.767 回答