oracle資料庫查詢鎖表與解鎖語句

來源:互聯網
上載者:User

查詢鎖表語句

 代碼如下 複製代碼

SELECT A.OWNER 方案名,
A.OBJECT_NAME 表名,
B.XIDUSN 復原段號,
B.XIDSLOT 槽號,
B.XIDSQN 序號,
B.SESSION_ID 鎖表SESSION_ID,
B.ORACLE_USERNAME 鎖表使用者名稱,
decode(D.type,
‘XR’,
‘NULL’,
‘RS’,
‘SS(Row-S)’,
‘CF’,
‘SS(Row-S)’,
‘TM’,
‘TABLE LOCK’,
‘PW’,
‘TABLE LOCK’,
‘TO’,
‘TABLE LOCK’,
‘TS’,
‘TABLE LOCK’,
‘RT’,
‘ROW LOCK’,
‘TX’,
‘ROW LOCK’,
‘MR’,
‘S(Share)’,
NULL) 鎖定方式,
C.MACHINE 使用者組,
C.TERMINAL 機器名,
B.OS_USER_NAME 系統使用者名稱,
B.PROCESS 系統進程id,
DECODE(C.STATUS, ‘INACTIVE’, ‘不活動’, ‘ACTIVE’, ‘活動’) 活動情況,
C.SERVER,
C.SID,
C.SERIAL#,
C.PROGRAM 串連方式,
C.LOGON_TIME
FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C, v$lock d
WHERE (A.OBJECT_ID = B.OBJECT_ID)
AND (B.PROCESS = C.PROCESS)
and C.sid = d.sid
and B.LOCKED_MODE = D.LMODE
ORDER BY 1, 2;

例2

查詢鎖定的表:

 代碼如下 複製代碼

  SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

  l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

  FROM v$locked_object l, all_objects o, v$session s

  WHERE l.object_id = o.object_id

  AND l.session_id = s.sid

  ORDER BY sid, s.serial# ;

 

然後刪除掉系統鎖定的此記錄

例1

 代碼如下 複製代碼

ALTER system KILL session 'SID,serial#';

如果有多個sid 和serial# 重複刪除每條記錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.