摘要:[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
之前每次要用到都去查書
這一次就把它記下來 下次直接拿來用就好
在 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