Oracle包编译,调用或调试Package时卡死问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle包编译,调用或调试Package时卡死问题相关的知识,希望对你有一定的参考价值。
网上百度到了出现这种现象原因,说的好像还挺有道理的,所以就copy过来:
在对Procedure、Function或Package进行Debug时,如果长时间没有操作,公司的防火墙会杀掉会话连接。这个时候数据库不会主动的释放会话的资源,如果再次对Procedure、Function或Package进行Debug的话,就会产生等待。因为被防火墙杀掉的会话还在运行着上次的Debug,会有锁的存在。只用等到数据库回收上次Debug的会话资源或者DBA手动将会话KILL掉。
手动kill session的方法:
1.SELECT * FROM V$DB_OBJECT_CACHE WHERE NAME=upper(‘PROCEDURE_NAME‘) AND LOCKS!=‘0‘; 注意: PROCEDURE_NAME为存储过程的名称。
2.SELECT SID FROM V$ACCESS WHERE OBJECT=‘PROCEDURE_NAME‘;
3.SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID=‘SID‘;
4.ALTER SYSTEM KILL SESSION ‘SID,SERIAL#‘ IMMEDIATE;
或者 select vs.SID, vs.SERIAL#, vs.PADDR, ‘ALTER SYSTEM KILL SESSION ‘‘‘ || vs.SID || ‘,‘ || vs.SERIAL# || ‘‘‘ IMMEDIATE;‘ from V$ACCESS va, V$SESSION vs where 1 = 1 and va.SID = vs.SID and va.OBJECT = upper(‘SZA_PA_BGT_ADJ_COMMON_PUB‘)
本文出自 “11768293” 博客,谢绝转载!
以上是关于Oracle包编译,调用或调试Package时卡死问题的主要内容,如果未能解决你的问题,请参考以下文章
oracle Plsql 运行update或者delete时卡死问题解决的方法
oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX