查询正在执行的存储过程

1、找正在执行的PROCEDURE的 sid ,serial#
select   b.sid,b.SERIAL#,a.OBJECT, 'alter system kill session   ' || '''' || b.sid || ',' ||b.SERIAL# ||  ''';' kill_command
         from   SYS.V_$ACCESS a, SYS.V_$session b
         where    a.type = 'PROCEDURE'
            and   (a.OBJECT like upper('%PROCEDURE名%') or
                      a.OBJECT like lower('%PROCEDURE名%'))
           and a.sid = b.sid
           and b.status = 'ACTIVE';
          
2、Kill 正在执行的PROCEDURE
alter system kill session 'sid,SERIAL#';

3、查询正在执行的存储过程另外一种方法:
select name from v$db_object_cache where locks > 0 and pins > 0 and type='PROCEDURE';

猜你喜欢

转载自wuhuizhong.iteye.com/blog/2256551
今日推荐