zoukankan      html  css  js  c++  java
  • 关于Oracle进程锁

    以下Sql可以找出锁表的进程
    
    select sess.sid, 
        sess.serial#, 
        lo.oracle_username, 
        lo.os_user_name, 
        ao.object_name, 
        lo.locked_mode 
        from v$locked_object lo, 
        dba_objects ao, 
        v$session sess 
    where ao.object_id = lo.object_id and lo.session_id =sess.sid; 
    
    以下Sql可以找出编译存储过程、函数、包的进程
    
    SELECT *
      FROM V$SESSION s, sys.x$kglob o, sys.x$kglpn p
     WHERE upper(o.kglnaobj) LIKE upper('%不能编译的包体%')
       AND p.kglpnhdl = o.kglhdadr
       AND s.SADDR = p.kglpnuse;
    
    select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 
    
     找出SID与Serial#后执行以下语句闭关Session
    alter system kill session  '144,46679'  ; 
    
    
     但我们想停止正在运行的Job时,dbms_jobs.broken + remove时无法将其停止只是打上停止标记,需要用以下方法:
      执行下面的语句获得进程(线程)号:
         select spid, osuser, s.program
         from v$session s,v$process p
         where s.paddr=p.addr and s.sid=524 (524是上面的sid)
     
      在OS上杀死这个进程(线程):
         unix上,用root身份或是相应的oracle身份执行命令:
         #kill -9 98469846 上一步查询出的spid)
         windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令 ,此命令需在命令窗口中运行。用法为:
         orakill sid thread
         PS:
            sid:表示要杀死的进程属于的实例名
            thread:是要杀掉的线程号,即第3步查询出的spid。
         exp:
            c:>orakill orcl 9846
    
    
    ————————————————
    版权声明:本文为CSDN博主「大巧不工」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/saijie1983/article/details/102336381

    杀进程

  • 相关阅读:
    MySQL备份与恢复-innobackupex
    MySQL备份与恢复-mysqldump备份与恢复
    font-size对展示的影响
    IE8及以下的数组处理与其它浏览器的不同
    正则表达式处理的基本步骤
    str += "a" + "b" & str = str + "a" + "b"的性能比较
    为非ajax请求绑定回调函数的方法
    ajax操作的链式写法
    各种控制元素显示和隐藏的方法优劣
    跟鸟哥学到的一招
  • 原文地址:https://www.cnblogs.com/wangjp-1233/p/11870504.html
Copyright © 2011-2022 走看看