背景:数据库出现存储过程长期执行不完导致资源耗费过大的情况通过下列预计可以快速定位存储过程,快速干预处理,恢复数据库性能。通过下列语句长期运维?T以上数据库?个,屡试不爽。
--查询正在执行的存储过程
select * from v$db_object_cache where locks > 0 and pins > 0 and type='PROCEDURE';
--查询活动的执行存储过程 session id
select b.sid,b.SERIAL#
from SYS.V$ACCESS a, SYS.V$session b
where a.type = 'PROCEDURE'
and (a.OBJECT like upper('%PR_SEA_PAD_JKF_LGK_GOODS_TOP%') or
a.OBJECT like lower('%PR_SEA_RTK_JKF_E_ENTRY_COUNT%'))
and a.sid = b.sid
and b.status = 'ACTIVE';
--停止会话
alter system kill session '539,2022';