当前位置:  数据库>oracle

杀掉(kill)Oracle中会话或死锁

    来源: 互联网  发布时间:2017-04-11

    本文导语: -- 根据机器名称、SQL_HASH_VALUE过滤特殊的会话,并形成批量kill脚本 SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';' FROM v$session c   WHERE c.MACHINE='hffwbz1' and c.SQL_HASH_VALUE='2639167965' --可以以Oralce管理员权限用户登录Oracle...

-- 根据机器名称、SQL_HASH_VALUE过滤特殊的会话,并形成批量kill脚本

SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';'
FROM v$session c  
WHERE c.MACHINE='hffwbz1' and c.SQL_HASH_VALUE='2639167965'

--可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。

SELECT a.object_id, a.session_id, b.object_name, c.*   
   FROM v$locked_object a, dba_objects b, v$session c   
WHERE a.object_id = b.object_id   
    AND a.SESSION_ID = c.sid(+)


   

--杀Seesion的SQL语句语法如下:

alter system kill session 'sid, serial#'   

--如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句

alter system kill session '53,663'  

--拼凑kill语句的方式如下,下面加了一个过滤条件和一个排序,杀除真正关心的表,并且着重注意超时时间过长的会话。

SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';',  
       a.object_id, a.session_id, b.object_name, c.*  
FROM v$locked_object a, dba_objects b, v$session c  
WHERE a.object_id = b.object_id  
   AND a.SESSION_ID = c.sid(+)  
   AND schemaname = 'Unmi'  
ORDER BY logon_time






    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎么杀掉父进程为1的僵尸进程?
  • 程序推出时,如何杀掉其子进程?
  • cron里配置的任务在每次cron再次调用前 会自动杀掉么?
  • 杀掉运行超过一个小时的进程
  • 怎么杀掉父进程为1的僵尸进程? iis7站长之家
  • 到底怎样杀掉进程啊?????????????
  • 如何杀掉一个服务的所有进程,如http服务.紧急!!!
  • 一张软盘上安装的linux系统,无法重启,也不能杀掉进程
  • 杀掉oracle在线用户脚本分享
  • 怎样用一条kill命令杀掉一批进程?
  • 根据名称杀掉daemon进程的shell脚本
  • 在unix下,后台trf001同时并发了很多进程,请用一条命令,杀掉所有trf001并发的进程
  • 如何写程序控制:某个程序运行超过一定时间后,就杀掉它这样的功能。
  • 关于 网站挂马 彻底的杀掉的方法
  • 如何编写一个sh脚本杀掉另一个进程!
  • 在Linux下,想让自己写的程序在运行时不能被杀掉,有什么简单方法?
  • Ubuntu在自启动中我设置了一项,但系统启动时,因为此卡住了,请问我如何杀掉这个进程?因为按ctrl+c也不管用.
  • oracle查看被锁的表和被锁的进程以及杀掉这个进程
  • 怎么查看Linux中所运行的进程,并且知道哪些是停止响应的,用什么命令可以杀掉停止响应的进程?
  • 如何杀掉一个线程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3