您的位置:首页 > 数据库 > Oracle

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

2017-05-08 16:31 260 查看
在调试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      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息