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
引发卡死原因:因为在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
相关文章推荐
- oracle编译存储过程提示表或视图不存在的问题分析
- Oracle 中重新编译无效的存储过程, 或函数、触发器等对象(转)
- Oracle存储过程本地编译方式
- oracle恢复被误编译覆盖的存储出过程
- Oracle编译存储过程卡死的问题
- ORACLE 存储过程被锁,编译不了,怎么解锁?
- 编译oracle失效的函数、存储过程、视图等
- ORACLE 存储过程被锁,无法编译
- 在Oracle中重编译所有无效的存储过程
- oracle 编译存储过程 等待锁定对象 时超时问题解决
- Oracle搜索编译有问题或者失效的存储过程,包,函数等
- ORACLE 存储过程被锁,编译不了,解锁
- 一个Oracle存储过程编译死锁的奇怪现象
- oracle 存储过程无法编译解决方法
- Oracle 中重新编译无效的存储过程, 或函数、触发器等对象
- oracle环境下在dos中使用编译sql脚本执行存储过程的方法
- oracle编译存储过程提示表或视图不存在的问题分析
- 查看Oracle 存储过程编译有错误信息
- Oracle 中重新编译无效的存储过程, 或函数、触发器等对象
- Oracle中重新编译无效的存储过程, 或函数、触发器等对象