oracle查詢鎖表與解鎖情況提供解決方案建站知識
導讀:1建站知識如果發生了鎖等待,我們可能更想知道是誰鎖了表而引起誰的等待,本文將詳細問您介紹此等問題的解決方法,有這如何seo優化推廣網站網站seo優化培訓。
如果發生了鎖等待,我們可能更想知道是誰鎖了表而引起誰的等待 以下的語句可以查詢到誰鎖了表:
復制代碼 代碼如下:
SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK', NULL) LOCK_LEVEL, o.owner,o.object_name,o.object_type, s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser FROM v$session s,v$lock l,dba_objects o WHERE l.sid = s.sid AND l.id1 = o.object_id(+) AND s.username is NOT NULL
以下的語句可以查詢到誰在等待:復制代碼 代碼如下:
SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name, o.owner,o.object_name,o.object_type,s.sid,s.serial# FROM v$locked_object l,dba_objects o,v$session s WHERE l.object_id=o.object_id AND l.session_id=s.sid ORDER BY o.object_id,xidusn DESC
解鎖命令:復制代碼 代碼如下:
alter system kill session 'sid,serial#'
1).復制代碼 代碼如下:
select LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME as "已鎖物件名稱", --物件名稱(已經被鎖住) LOCK_INFO.SUBOBJ_NAME as "已鎖子物件名稱", -- 子物件名稱(已經被鎖住) SESS_INFO.MACHINE as "機器名稱", -- 機器名稱 LOCK_INFO.SESSION_ID as "會話ID", -- 會話SESSION_ID SESS_INFO.SERIAL# as "會話SERIAL#", -- 會話SERIAL# SESS_INFO.SPID as "OS系統的SPID", -- OS系統的SPID (SELECT INSTANCE_NAME FROM V$INSTANCE) "實例名SID", --實例名SID LOCK_INFO.ORA_USERNAME as "ORACLE用戶", -- ORACLE系統用戶名稱 LOCK_INFO.OS_USERNAME as "OS用戶", -- 作業系統用戶名稱 LOCK_INFO.PROCESS as "進程編號", -- 進程編號 LOCK_INFO.OBJ_ID as "對象ID", -- 對象ID LOCK_INFO.OBJ_TYPE as "對象類型", -- 對象類型 SESS_INFO.LOGON_TIME as "登錄時間", -- 登錄時間 SESS_INFO.PROGRAM as "程式名稱", -- 程式名稱 SESS_INFO.STATUS as "會話狀態", -- 會話狀態 SESS_INFO.LOCKWAIT as "等待鎖", -- 等待鎖 SESS_INFO.ACTION as "動作", -- 動作 SESS_INFO.CLIENT_INFO as "客戶資訊" -- 客戶資訊 from (select obj.OWNER as OWNER, obj.OBJEC網站優化seo培訓T_NAME as OBJ_NAME, obj.SUBOBJECT_NAME as SUBOBJ_NAME, obj.OBJECT_ID as OBJ_ID, obj.OBJECT_TYPE as OBJ_TYPE, lock_obj.SESSION_ID as SESSION_ID, lock_obj.ORACLE_USERNAME as ORA_USERNAME, lock_obj.OS_USER_NAME as OS_USERNAME, lock_obj.PROCESS as PROCESS from (select * from all_objec網站seo優化培訓ts where object_id in (select object_id from v$locked_object)) obj, v$locked_object lock_obj where obj.object_id = lock_obj.object_id) LOCK_INFO, (select SID, SERIAL#, LOCKWAIT, STATUS, (select spid from v$process where addr = a.paddr) spid, PROGRAM, ACTION, CLIENT_INFO, LOGON_TIME, MACHINE from v$session a) SESS_INFO where LOCK_INFO.SESSION_ID = SESS_INFO.SID order by LOCK_INFO.SESSION_ID;
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章oracle查詢鎖表與解鎖情況提供解決方案建站知識主要講述解鎖,解決方案,oracle查詢鎖表與解鎖情況提供解決網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5434.html