有些情况数据库中存在大量执行某条相同sql的session卡死状态,手工逐一杀工作量过大,重启数据库不现实,此刻需要如下语句对目标session进行批量杀,分享给大家。 BEGIN
FOR i
IN (SELECT 'alter system kill session '''
|| m.sid
|| ','
|| m. serial#
|| ''' immediate;'
ss ,
m. username ,
m. status ,
M. INST_ID
FROM gv$session m
WHERE m. sql_id = '70ddwj7363cd7' AND ROWNUM < 25 )
LOOP
--execute immediate i.ss;
DBMS_OUTPUT.put_line ( i . ss );
END LOOP;
END;
/
DBMS output 看查结果
复制粘贴到数据库中执行即可
