我正在使用PL/SQL Developer。 现在我需要通过单击在我的oracle数据库中终止具有特定状态的所有会话(例如 INACTIVE )。目前我正在逐个查杀。 我目前的策略是
首次GOTO 会话
然后点击鼠标右键并逐行选择 kill :
我已尝试 Shift 和 CTR 键,一次选择多行但是他们无法选择多行。
期待答案以节省我的时间。谢谢你提前。
答案 0 :(得分:0)
使用自定义模板可以通过3次点击来杀死非活动会话。
(如果你真的需要一键式解决方案,你可能需要使用Delphi创建一个自定义插件。但这需要很多工作。)
一旦你创建并习惯了模板,它只需要一秒钟来运行一个。首先,转到模板窗口,通常位于屏幕的左下角。右键单击背景并选择"新模板..."。输入模板的名称。
现在输入此文字。它是一个PL / SQL块,可以杀死所有非活动会话。
begin
for sessions_to_kill in
(
select 'alter system kill session '''||sid||','||serial#||',@'||inst_id||''' immediate' v_sql
from gv$session
where status = 'INACTIVE'
) loop
execute immediate sessions_to_kill.v_sql;
end loop;
end;
要调用模板,右键单击SQL窗口中的某个位置,选择"插入模板"和名字。在SQL窗口中出现后运行PL / SQL块。