[Oracle]查詢被鎖定的Table

摘要:[Oracle]查詢被鎖定的Table

在 Oracle 下查詢 LOCK 的 USER

 
常常被程式師要求查詢誰在LOCK TABLE
之前每次要用到都去查書
這一次就把它記下來 下次直接拿來用就好

在 oracle 有提供一個 VIEW 可以查詢 V$LOCKED_OBJECT

各欄位說明 :
============================
XIDUSN 回覆區段編號
XIDSLOT 插槽編號
XIDSQN 序號
OBJECT_ID 被鎖定物件編號
SESSION_ID SESSION 編號
ORACLE_USERNAME ORACLE的使用者
OS_USER_NAME 作業系統的使用者
PROCESS 作業系統的行程代碼
LOCKED_MODE 鎖定模式

這麼多欄位 我只用到 SESSION_ID , ORACLE_USERNAME , OS_USER_NAME

SQL 語法如下 :

SELECT SESSION_ID,ORACLE_USERNAME,OS_USER_NAME FROMV$LOCKED_OBJECT

對照 對方給你的 ORACLE_USERNAME 及 OS_USER_NAME 查到 SESSION_ID
在把它 KILL PROCESS 就可以 UNLOCK
 
來源:http://erichuang89.blogspot.tw/2009/04/oracle-lock-user.html