Oracle存储过程锁表

存储过程:
解决方法如下:

1:查V$DB_OBJECT_CACHE

SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LOCKS!='0';

注意:CRM_LASTCHGINFO_DAY为存储过程的名称。

发现locks=2

2:按对象查出sid的值

select /*+ rule*/  SID from V$ACCESS WHERE object='CRM_LASTCHGINFO_DAY';

注意:CRM_LASTCHGINFO_DAY为存储过程的名称。

3:查sid,serial#

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';

4alter system kill session 'sid值,serial#值' immediate;


注意:存储过程名要是大写,查出来复制存储过程到2里面再查第二句

 

posted @ 2020-10-28 10:58  阿宝叔  阅读(641)  评论(0编辑  收藏  举报