程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORACLE 查詢被鎖住的對象,並結束其會話的方法,oracle鎖住

ORACLE 查詢被鎖住的對象,並結束其會話的方法,oracle鎖住

編輯:Oracle教程

ORACLE 查詢被鎖住的對象,並結束其會話的方法,oracle鎖住


使用Oracle時,發現有表被鎖,又不知道是誰(或者哪個程序)鎖的,怎麼辦 ?

兩步走:

1、查找出被鎖對象的會話ID和序列號

執行如下SQL:

-- 查詢出被鎖對象,並提供 kill 腳本
SELECT S.SID, S.MACHINE, O.OBJECT_NAME, L.ORACLE_USERNAME, L.LOCKED_MODE, S.OSUSESR,
 'ALTER SYSTEM KILL SESSION '''|| S.SID || ', '|| S.SERIAL#||''';' AS KILL_COMMAND
 FROM V$LOCKED_OBJECT L, V$SESSION S, ALL_OBJECTS O
 WHERE L.SESSION_ID=S.SID AND L.OBJECT_ID=O.OBJECT_ID

2、KILL

復制出第1步查詢結果中的 KILL_COMMAND 字段值,執行。

-- kill 的基本語法

ALTER SYSTEM KILL SESSION '$SID, $SERIAL#';

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved