oracle中,可用select語句查詢導致鎖定表的語句,該語句用於對錶資料進行簡單的查詢,語法「select*from v$session t1,v$locked_object t2 where t1.sid= t2.SESSION_ID」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
--查看鎖定表程式SQL語句1:
--被鎖定物件表、資料庫物件表、資料session表關聯來取得被鎖定物件對應的是那個session;
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
--查看鎖定表程式SQL語句2:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
--檢視導致鎖定表的sql語句是那一條
select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name, s.machine, s.terminal, a.sql_text, a.action from v$sqlarea a, v$session s, v$locked_object l where l.session_id = s.sid and s.prev_sql_addr = a.address order by sid, s.serial#;
--殺掉鎖定表程序:
--透過上面的查詢取得SID和serial#,替換下面的x,y,就可以解除被鎖定的狀態
alter system kill session 'x,y';
推薦教學:《Oracle影片教學》
以上是oracle查詢鎖表的語句是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!