ITPub博客

首页 > 数据库 > Oracle > 如何检测被锁住的Oracle存储过程

如何检测被锁住的Oracle存储过程

原创 Oracle 作者:531968912 时间:2016-07-18 17:46:42 0 删除 编辑
今天遇到了这个情况,然后在网上找了到了这篇文章,借鉴过来做参考吧! 

1.查看是哪一个存储过程被锁住
查V$DB_OBJECT_CACHE视图
select * from V$DB_OBJECT_CACHE where owner='过程的所属用户' AND LOCKS!='0'


2.查看是哪一个sid,通过sid可以知道是哪一个session
查v$access视图
select * from v$access where owner='过程的所属用户' and name='刚才查到的过程名'
3.查出sid和serial#
查v$session视图
select sid,serial#,paddr from v$session where sid='刚才查到的sid';
查v$process视图
select spid from v$process where addr='刚才查到的paddr';
4.杀进程
4.1先杀oracle进程
alter system kill session '查出的sid,查出的serial#';
4.2再杀操作系统进程
如果是unix
kill -9 刚查出的spid
如果是windows
orakill 刚查出的sid 刚查出的spid

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25462274/viewspace-2122184/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-09-24

  • 博文量
    576
  • 访问量
    1111460