先查询出要kill的sessionSQL> select username,status,sid,serial# from v$session where username is not null;USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
SYS                            ACTIVE          11     38493SQL> /USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
TEMP                           INACTIVE         9     38038
SYS                            ACTIVE          11     38493SQL> alter system kill session '9,38038';系统已更改。SQL> select username,status,sid,serial# from v$session where username is not null;USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
TEMP                           KILLED           9     38038
SYS                            ACTIVE          11     38493SQL>

解决方案 »

  1.   

    在PL/SQL中阿!!!
    begin
     alter system......
     ...
    end;
    /
      

  2.   

    唉何必这么嚣张呢不就是因该是execute immediate 'alter....';
    吧祝8以上可以
      

  3.   

    何必呢,别人好心来说,结果……应该是execute immediate 'alter system....';吧
      

  4.   

    解决办法:
    10:55:52 SQL> begin
    10:55:58   2  execute immediate 'alter system kill session ''11,3031''';
    10:56:05   3  end;
    10:56:08   4  /PL/SQL 过程已成功完成。实际:761
    10:56:09 SQL> select username,status,sid,serial# from v$session where username is not null;USERNAME                       STATUS         SID   SERIAL#
    ------------------------------ -------- --------- ---------
    TEMP                           KILLED          11      3031
    SYS                            ACTIVE          13     26804实际:30
    10:56:17 SQL>
      

  5.   

    林子大了,什么鸟都有在存取过程中这么做,也不知道是什么想法?
    杀进程是DBA在必要的时候做的事情
    不是小孩子拿来玩的~~~~~~~~~