oracle中inactive会话的处理方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle中inactive会话的处理方法
参考
1.方法一
(1)UNIX的方法
A。

sql>select usename,sid,paddr,status
from v$session
where usename='USERNAME'
AND STATUS='INACTIVE';
B。

sql>SELECT SPID FROM V$PROCESS WHERE ADDR=上一步查出的PADDR
C。

$KILL SPID
(2)WINDOWSnt/2000的方法
c:\>orakill SID SPID
2 ,方法二
select
A.SID,
B.SPID,A.SERIAL#,a.lockwait,ERNAME,A.OSUSER,a.log on_time,st_call_et/3600 LAST_HOUR,A.STATUS,
'orakill '||sid||' '||spid HOST_COMMAND,
'alter system kill session '''||A.sid||','||A.SERIAL#||'''' SQL_COMMAND
from v$session A,V$PROCESS B where A.PADDR=B.ADDR AND SID>6
3 ,方法三
可以先设置IDLE_TIME(给用户指定PROFILE),INACTIVE状态的连接超过IDLE_TIME,SESSION的状态将改为SNIPED。

再先一个定时进程,使用楼上XIE3000的方法,杀进程就可以了。

KILLED 状态说明连接在回滚,当然会占用资源。

可以再将系统进程杀掉,再到数据库中杀一次进程。

4,方法四
我觉得可以在sqlnet.ora文件里面加上sqlnet.expire_time这个参数来解决,设置一个分钟数,这是ORACLE建议的DCD解决方法。

相关文档
最新文档