zoukankan      html  css  js  c++  java
  • OS级别kill 进程

    1.     在修改之前查看对象持有锁的情况 

     http://blog.csdn.net/tianlesoftware/article/details/6822321

    2. 查一个session的状态 

    1. SELECT distinct S.SID SESSION_ID,  
    2.        S.STATUS,  
    3.        S.USERNAME,  
    4.        DECODE (LMODE,  
    5.                0, ' None ',  
    6.                1, ' Null ',  
    7.                2, ' Row-S(SS) ',  
    8.                3, ' Row-X(SX) ',  
    9.                4, ' Share',  
    10.                5, 'S/Row-X (SSX) ',  
    11.                6, 'Exclusive ',  
    12.                TO_CHAR (LMODE))  
    13.           MODE_HELD,  
    14.        DECODE (REQUEST,  
    15.                0, ' None ',  
    16.                1, ' Null ',  
    17.                2, ' Row-S(SS) ',  
    18.                3, ' Row-X(SX) ',  
    19.                4, ' Share',  
    20.                5, 'S/Row-X (SSX) ',  
    21.                6, 'Exclusive ',  
    22.                TO_CHAR (REQUEST))  
    23.           MODE_REQUESTED,  
    24.        O.OWNER || ' . ' || O.OBJECT_NAME || ' ( ' || O.OBJECT_TYPE || ' ) '  
    25.           AS OBJECT_NAME,  
    26.        S.TYPE LOCK_TYPE,  
    27.        L.ID1 LOCK_ID1,  
    28.        L.ID2 LOCK_ID2,  
    29.        S2.SQL_TEXT  
    30.   FROM V$LOCK L,  
    31.        SYS.DBA_OBJECTS O,  
    32.        V$SESSION S,  
    33.        V$ACCESS A,  
    34.        V$SQL S2  
    35.  WHERE     L.SID = S.SID  
    36.        AND L.ID1 = O.OBJECT_ID  
    37.        AND S.SID = A.SID  
    38.        AND S2.HASH_VALUE = S.SQL_HASH_VALUE  
    39.        AND A.OBJECT = 'PROC_VALIDATE_RULE_V3';  

     3. 确认killed 状态的session是否使用回滚段

    1.   SELECT s.username,  
    2.          s.sid,  
    3.          s.serial#,  
    4.          t.used_ublk,  
    5.          t.used_urec,  
    6.          rs.segment_name,  
    7.          r.rssize,  
    8.          r.status  
    9.     FROM v$transaction t,  
    10.          v$session s,  
    11.          v$rollstat r,  
    12.          dba_rollback_segs rs  
    13.    WHERE     s.saddr = t.ses_addr  
    14.          AND t.xidusn = r.usn  
    15.          AND rs.segment_id = t.xidusn  
    16.          AND s.sid IN  
    17.                 (850, 968, 991, 1039, 968, 991, 1039, 1009, 732, 850, 732)  
    18. ORDER BY t.used_ublk DESC;

     4. OS 级别kill 进程

    前面已经获取了对象上持有的session ID,这里根据Session ID 查出相关的系统SPID. Sql 语句如下:

    1. SELECT spid, osuser, s.program  
    2.   FROM v$session s, v$process p  
    3.  WHERE     s.paddr = p.addr  
    4.        AND s.sid IN  
    5.               (850, 968, 991, 1039, 968, 991, 1039, 1009, 732, 850, 732);  

     [oracle@qs-xezf-db1 ~]$ ps -ef|grep 6101

    oracle   6101     1  0 May13 ?        00:01:06 oraclexezf (LOCAL=NO)

    oracle  16790 16606  0 05:14 pts/2    00:00:00 grep 6101

    [oracle@qs-xezf-db1 ~]$ kill -9 6101   

    [oracle@qs-xezf-db1 ~]$ ps -ef|grep 6279

    oracle   6279     1  0 May13 ?        00:00:57 oraclexezf (LOCAL=NO)

    oracle  16824 16606  0 05:14 pts/2    00:00:00 grep 6279

    [oracle@qs-xezf-db1 ~]$ kill -9 6279

     5.     检查

    在OS级别kill 掉这些状态为killed 的session 之后,对象的Row-X(SX)全部释放,过程对象上的操作也顺利进行,没有出现等待。

    这里注意的是,修改之后会导致一些对象的无效,需要查看并重新编译这些无效对象。

    路在脚下
  • 相关阅读:
    Hbase 统计行数的四种方式
    Solr、MongoDB和Hadoop比较
    三种方法更改MAC OS X下的HOSTS文件
    史上最全前端面试题(含答案)
    图文-水平垂直居中兼容ie6+
    CSS3动画
    jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com)
    web app变革之rem
    MAC中通过gem命令安装compass
    mac下升级ruby环境版本
  • 原文地址:https://www.cnblogs.com/shined/p/2588663.html
Copyright © 2011-2022 走看看