首页 > 应用开发 > IT综合 > 判断某过程是否在执行的方法
之前用的是v$access视图来判断:
SELECT COUNT(*) INTO v_num FROM v$access a,v$session b
WHERE a.SID=b.SID
AND a.OBJECT = UPPER(p_process);
其实不用关联v$session视图.
今日看tom的书(9i&10g编程艺术 P216)又发现一个新的方法:
通过DBA_DLL_LOCKS视图,这个视图10g以前需要手工运行catblock.sql脚本来建立.
此视图实际上是记录某个对象的可中断解析锁的信息,也就是当一个session调用某个过程时,就会在这个过程上加上一个锁以防止其它session对其编译和修改.
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/271283/viewspace-1005174/ ,如需转载,请注明出处,否则将追究法律责任。