oracle编译存储过程卡死,随笔录5.8

来源:互联网 发布:苹果软件更新 编辑:程序博客网 时间:2024/04/29 16:49

在调试oracle存储过程时,经常遇到过程一编译,plsql就卡死的情况,在这里记录一下解决办法。


引发卡死原因:因为在web工程中有定时器在循环调用当前这个过程,在调用过程中会产生ddl锁(ddl)对当前这个过程进行上锁,

            在锁上的过程中,我对当前这个过程进行编译,导致编译时间过长,从而卡死,产生死锁。


 解决方案:

1、查询ddl   (a.name = 存储过程名称)

select b.SID, b.SERIAL#   from dba_ddl_locks a, v$session b  where a.session_id = b.SID    and a.name = 'ITF_IMPORT_APINVOICE_PKG';

2、杀掉进程

alter system kill session '624,55055';

如果通过plsql客户端无法进行成功杀掉进程,需要进入数据库服务器进行操作,

具体操作可参考:  oracle随笔录3.24      

0 0
原创粉丝点击