我希望查杀那些状态为:'INACTIVE'的session。
发现语法应该是这样的:alter system kill session ‘SID,serial#’。想问一下能否做出一个批量的例如这样:
alter system kill session  
select SID,serial# from v$session where status='INACTIVE'

解决方案 »

  1.   

    -- 将下面的语句所得的结果再次去执行即可:
    SELECT 'ALTER SYSTEM KILL SESSION '''||SN.SID||','||SN.SERIAL#||''';'
    FROM V$SESSION SN 
    WHERE SN.SID IN (SELECT LK.SID FROM V$LOCK LK); 
      

  2.   

    这个语句倒是可以用,不过我这样看到的结果这些session的状态都是activeselect logon_time,status
     from V$SESSION where SID in (SELECT LK.SID FROM V$LOCK LK) --查出它的登录时间和状态
      

  3.   

    SELECT 'ALTER SYSTEM KILL SESSION '''||SN.SID||','||SN.SERIAL#||''';'
    FROM V$SESSION where status ='INACTIVE';
      

  4.   


    -- 我的 SQL 语句是用于 kill 死锁的会话!-- 一般只有死锁的会话才去 kill !