菜鸟lei的学习成长空间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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,呵呵.我后面会提到.

posted on 2011-06-16 14:52  菜鸟-雷  阅读(1595)  评论(0编辑  收藏  举报