Oracle終止session

來源:互聯網
上載者:User

有時候,Oracle終止當前的session是必要的。例如,你想執行一個管理操作,需要終止所有非管理員的session。下面描述的是終止session的各個方面,包括以下:

    1.標識哪些session需要終止
    2.終止一個Active Session
    3.終止一個Inactive Session

  當一個session被終止,session的任何活動交易回復,並且立即釋放所有的資源,比如locks and memoryareas。
    使用ALTERSYSTEM KILL SESSION終止一個會話。下面的例句sid 7,serial# 15:
    ALTER SYSTEMKILL SESSION '7,15';

1. 標識哪些session需要終止
  為了標識需要終止的session,需要知道session的sid和serial#,可以查詢v$session得到。例如,下面的查詢標識了使用者wxlun的所有session:

SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';

      SID    SERIAL#STATUS
---------- ---------- --------
      81    19713 ACTIVE
      95    27537 INACTIVE

  當一個session正在調用資料庫,session狀態為ACTIVE,當一個session非正在調用資料庫,session狀態為INACTIVE。

2. 終止一個Active Session
  如果一個使用者session正在處理事務(ACTIVE),終止這個會話,則交易回復,使用者立即收到下面的資訊:
ORA-00028: your session has been killed
如果,接到ORA-00028錯誤後,再重新串連資料庫前繼續執行語句,oracle會返還下面的資訊:
ORA-01012: not loggedon(使用不同的工具串連到資料庫可能收到的資訊不同,但是類似,都是指和庫的session斷了)
  當一個session正在執行網路I/O或者交易回復時,是不能終止的。這類session只能等操作完成才可以終止。這種情況下,直到session終止,資源才會釋放。另外,發出ALTERSYSTEM去終止session的會話,等待60秒後沒有終止session,會收到一個資訊表明session已標識為終止。被標記為終止的session在v$seession的status為KILLED,某些終止服務status可能為PSEUDO。

3. 終止一個Inactive Session
  如果終止一個InactiveSession,並不會立即收到ORA-00028錯誤。直到使用者接著使用被終止的session才會收到ORA-00028錯誤。
    當一個inactivesession,session的status變成KILLED,當使用者再次使用這個session和收到ORA-00028錯誤,這個終止的session會從v$session刪除。

下面是一個終止inactive session的例子。

SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';

      SID    SERIAL#STATUS
---------- ---------- --------
      95    27591 INACTIVE

SQL> alter system kill session '95,27591';

System altered.

SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';

      SID    SERIAL#STATUS
---------- ---------- --------
      95    27591 KILLED

SQL>

快速找到跟蹤其他session產生的trc檔案

Oracle 徹底 kill session

MySQL主從故障處理--session 層級參數複製錯誤

如何查看Oracle資料庫的session阻塞

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.