plsql编译存储过程卡死,解决方法

--解决方法如下:
--1:查V$DB_OBJECT_CACHE

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

--注意:P_COUNT_CMP_DATA_SAT为存储过程的名称。
--发现locks=1,

--2:按对象查出sid的值
select /*+ rule*/  SID from V$ACCESS WHERE object='P_COUNT_CMP_DATA_SAT';

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

--3:查sid,serial#

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='2148';
select a.SID,a.SERIAL#,b.SPID,a.STATUS from v$session a,v$process b where a.SID=2148 and a.PADDR=b.ADDR;
alter system kill session '2148,15267';

你可能感兴趣的:(plsql编译存储过程卡死,解决方法)