天天看点

存储过程被锁定无法编译

原因: 存储过程执行过程中,关闭或者中断存储过程,重新编译是等待时间很长,无法删除

解决:

先查出被锁定存储过程的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