在windows下使用orakill清除oracle线程

windows下使用orakill清除oracle线程


由于windows 2000是基于线程的os,所有的用户session所需的内存均在oracle.exe进程中分配,如果想单独kill某个用户的会话并释放该会话所占用的资源可以使用oracle的提供的工具orakill.

      1.         orakill的基本用法

C:>orakill sid threadid

其中sidoraclesid,threadid是要kill的线程id

2.         获得线程id

1)      从微软下载中心获得qslice.exe工具,提取线程id.具体用法请参考相关文档.

2)      使用以下查询获得

select p.spid THREADID, s.osuser, s.program 

       from v$process p, v$session s

       where p.addr=s.paddr

       /

       select p.spid "OS Thread", b.name "Name-User", s.osuser, s.program

    from v$process p, v$session s, v$bgprocess b

    where p.addr = s.paddr

    and p.addr = b.paddr UNION ALL

    select p.spid "OS Thread", s.username "Name-User", s.osuser, s.program

    from v$process p, v$session s

    where p.addr = s.paddr

and s.username is not null

/

注意:osuserSYSTEMprogramoracle.exe的线程为oracle的后台进程,如果kill这些进程会导致数据库不可用。

可以用以下查询验证是否为后台进程:

select vb.name NOME, vp.program PROCESSNAME, vp.spid THREADID, vs.sid SID 

       from v$session vs, v$process vp, v$bgprocess vb 

       where vb.paddr <> '00' and 

       vb.paddr = vp.addr and 

       vp.addr = vs.paddr

       /

 

本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

http://blog.itpub.net/post/11/20675 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-21699/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6906/viewspace-21699/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值