solaris下oracle批量kill session

1.批量kill 掉session
    SELECT CONCAT('ALTER SYSTEM KILL SESSION ''',CONCAT(CONCAT(CONCAT(SID,','),SERIAL#),''';')) FROM V$SESSION WHERE USERNAME='SCOTT'
结果会生成ALTER SYSTEM KILL SESSION 'SID,SERIAL';这样的语句

2.批量将kill掉的session对应的process查找出来,并在Solaris系统级别上杀掉对应进程

    SELECT CONCAT('kill -9 ',SPID) FROM V$PROCESS WHERE V$PROCESS.ADDR IN(
    select p.addr from v$process p where pid <> 1
    minus
    select s.paddr from v$session s)

    至于为什么这么做,其实我是参考了这篇文章:http://www.eygle.com/faq/Kill_Session.htm

由于windows是多线程的,因此在windows中,每个session对应的并非操作系统上的进程,怎么办呢?有orakill,呵呵.我后面会提到.

原文地址:https://www.cnblogs.com/leipei2352/p/2082691.html