oracle 学习积累(3)

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,A.USERNAME,A.OSUSER,a.logon_time,a.last_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解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值