发布网友 发布时间:2022-04-09 04:40
共5个回答
懂视网 时间:2022-04-09 09:02
手动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时卡死问题
标签:plsql
热心网友 时间:2022-04-09 06:10
不是因为锁住了,是因为你编译的时候,正好有人在调用你的那个存储过程,热心网友 时间:2022-04-09 07:28
编译时有人在调用或使用你的那张表(也有可能是线程内存问题等)热心网友 时间:2022-04-09 09:02
如果有dblink的话,是可能锁住的热心网友 时间:2022-04-09 10:54
有其他人正在用的存储过程