如何在PLSQL Developer中单击终止所有会话?

时间:2016-03-07 13:07:51

标签: oracle plsqldeveloper

我正在使用PL/SQL Developer。 现在我需要通过单击在我的oracle数据库中终止具有特定状态的所有会话(例如 INACTIVE )。目前我正在逐个查杀。  我目前的策略是

首次GOTO 会话

enter image description here

然后点击鼠标右键并逐行选择 kill

enter image description here

我已尝试 Shift CTR 键,一次选择多行但是他们无法选择多行。

期待答案以节省我的时间。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

使用自定义模板可以通过3次点击来杀死非活动会话。

(如果你真的需要一键式解决方案,你可能需要使用Delphi创建一个自定义插件。但这需要很多工作。)

一旦你创建并习惯了模板,它只需要一秒钟来运行一个。首先,转到模板窗口,通常位于屏幕的左下角。右键单击背景并选择"新模板..."。输入模板的名称。

Crate PL/SQL Developer template

现在输入此文字。它是一个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块。

enter image description here