存储过程被锁定无法编译
原因: 存储过程执行过程中,关闭或者中断存储过程,重新编译是等待时间很长,无法删除
解决:
先查出被锁定存储过程的spid
SELECT spid
FROM V$DB_OBJECT_CACHE OC,
V$OBJECT_DEPENDENCY OD,
DBA_KGLLOCK W,
V$SESSION S,
V$PROCESS P
WHERE OD.TO_OWNER = OC.OWNER
AND OD.TO_NAME = OC.NAME
AND OD.TO_ADDRESS = W.KGLLKHDL
AND W.KGLLKUSE = S.SADDR
AND P.ADDR = S.PADDR
AND OC.NAME = 'SP_PS_DATAWWTPFLOWSUM_U'//存储过程名称
登陆被锁定存储过程所属Oracle的安装服务器, 开始->运行->CMD ,输入格式 orakill SID实例 SPID如:C:\>orakill orcl 540