SELECT sid, serial#, username
FROM v$session
SID SERIAL# USERNAME
----- --------- ----------------
1 1
2 1
3 1
4 1
5 1
7 1
8 28 OPS$BQUIGLEY
10 211 OPS$SWIFT
11 39 OPS$OBRIEN
12 13 SYSTEM
13 8 SCOTT
The following statement kills the session of the user scott using the SID and
SERIAL# values from V$SESSION:
ALTER SYSTEM KILL SESSION ’13, 8’;

解决方案 »

  1.   

    jiezhi(西域浪子) :我怀疑你将帖主的意思弄错了。
      具我所知,ORACLE中没有直接杀掉运行中的存储过程功能,也不能看到哪个连接启动了哪个存储过程。我们只能看到连接的信息,只能杀掉一个连接。但如果某个存储过程是由系统自动启动,既使用定时JOB,就很难解决了。我遇到这种情况都是象jiezhi(西域浪子)所说的杀掉整个SESSION,你可以观察各SESSION对ORACLE资源的利用情况来判断应该杀掉哪个SESSION。
      不知哪位大虾有更好的办法?
      关注中...
      

  2.   


    select machine,sql_text sql,sid
    from v$sqltext a,v$session b
     where address=sql_address
       and machine like '% %' ---机器名称
    ORDER BY hash_value,piece;select machine,pid,spid from v$process a,v$session b
        where a.addr=b.paddr
        and sid=&SID; 
    然后根据找出来的spid 号,kill 掉就可以了