zoukankan      html  css  js  c++  java
  • Oracle kill会话

    基本语法是:

    alter system kill session 'sid,serial#';
    

    如果是RAC环境,可以指定inst_id:

    alter system kill session 'sid,serial#,@inst_id';
    

    kill session不会真正killi掉会话。只是告诉会话把主机kill掉。有些场景下,比如等待远程数据库replay、或者事务回滚,会话则不会立即kill掉自己,而是等待操作完成。这时,在v$session中的状态就是“marked for kill”。后续会kill掉自己。

    还可以加上immediate参数:

    alter system kill session 'sid,serial#' immediate;
    

    immediate只是立即将控制权返回给当前会话,而不是等待kill操作完成。

     

    如果被标记为kill的会话存在很久,可以从操作系统层面kill掉对应的进程。在操作系统层kill进程之前,建议查看一下是否在执行回滚操作。

    -- -----------------------------------------------------------------------------------
    -- File Name    : https://oracle-base.com/dba/monitoring/session_undo.sql
    -- Author       : Tim Hall
    -- Description  : Displays undo information on relevant database sessions.
    -- Requirements : Access to the V$ views.
    -- Call Syntax  : @session_undo
    -- Last Modified: 29/03/2005
    -- -----------------------------------------------------------------------------------
    SET LINESIZE 200
    
    COLUMN username FORMAT A15
    
    SELECT s.username,
           s.sid,
           s.serial#,
           t.used_ublk,
           t.used_urec,
           rs.segment_name,
           r.rssize,
           r.status
    FROM   v$transaction t,
           v$session s,
           v$rollstat r,
           dba_rollback_segs rs
    WHERE  s.saddr = t.ses_addr
    AND    t.xidusn = r.usn
    AND    rs.segment_id = t.xidusn
    ORDER BY t.used_ublk DESC;
    

    等着会话的USED_UREC减少,回滚事务结束再执行kill操作。

    alter system disconnect session

    也是用来kill会话,和alter system kill session的原理类似。语法略有差别:

    SQL> ALTER SYSTEM DISCONNECT SESSION 'sid,serial#' POST_TRANSACTION;
    SQL> ALTER SYSTEM DISCONNECT SESSION 'sid,serial#' IMMEDIATE;
    

    post_transaction选项在断开会话之前,会等待事务结束;immediate会立即断开会话,在进行的事务会回滚。

    alter system cancel sql

    在18C中,引入了alter system cancel sql,取消会话中的sql语句:

    alter system cancel sql 'sid, serial[, @inst_id][, sql_id]';
    

      

  • 相关阅读:
    Do You See Me? Ethical Considerations of the Homeless
    ELDER HOMELESSNESS WHY IS THIS AN ISSUE?
    Endoflife support is lacking for homeless people
    html内联框架
    html字体
    html块 div span
    html列表
    html表格
    SQL Server管理员专用连接的使用   作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况
    如何配置最大工作线程数 (SQL Server Management Studio)
  • 原文地址:https://www.cnblogs.com/abclife/p/15699949.html
Copyright © 2011-2022 走看看