Oracle-11g-R2
如何確定Oracle表是否被鎖定?
我們一直在使用安裝在 Oracle Enterprise 11gR2 上的 BI 軟體和儲存庫數據庫。
其中一些批處理報告將嘗試訪問可能仍被鎖定的數據庫表。如何確定 Oracle 表是否被鎖定?是否有任何 SQL 語句顯示類似歷史詳細資訊以供分析?
以下查詢提供了所有鎖的詳細資訊。
SELECT B.Owner, B.Object_Name, A.Oracle_Username, A.OS_User_Name FROM V$Locked_Object A, All_Objects B WHERE A.Object_ID = B.Object_ID
以下腳本可用於快速辨識 Oracle 系統中的所有鎖定對象。
select c.owner, c.object_name, c.object_type, b.sid, b.serial#, b.status, b.osuser, b.machine from v$locked_object a , v$session b, dba_objects c where b.sid = a.session_id and a.object_id = c.object_id;
參考:-Burleson Consulting 的 Oracle Tips http://www.dba-oracle.com/t_find_oracle_locked_objects.htm