當前位置:首頁 » 操作系統 » 查詢oracle資料庫鎖

查詢oracle資料庫鎖

發布時間: 2023-08-18 23:19:01

㈠ 查看Oracle中是否有鎖表的sql

1、查看是否有鎖表的sql
代碼如下:
select 'blocker('||lb.sid||':'||sb.username||')-sql:'|| qb.sql_text blockers,
'waiter ('||lw.sid||':'||sw.username||')-sql:'|| qw.sql_text waiters
from v$lock lb,
v$lock lw,
v$session sb,
v$session sw,
v$sql qb,
v$sql qw
where lb.sid=sb.sid
and lw.sid=sw.sid
and sb.prev_sql_addr=qb.address
and sw.sql_address=qw.address
and lb.id1=lw.id1
and sw.lockwait is not null
and sb.lockwait is null
and lb.block=1 ;
2、查看被鎖的表
代碼如下:
select p.spid,a.serial#,c.object_name,b.session_id,b.oracle_username,b.os_user_name
from v$process p,v$session a, v$locked_object b,all_objects c
where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id ;
3、查看那個用戶那個進程造成死鎖,鎖的級別
代碼如下:
select b.owner,b.object_name,l.session_id,l.locked_mode fromv$locked_object l, dba_objects
4、查看連接的進程
代碼如下:
SELECT sid, serial#, username, osuser FROMv$session;
5、查看是哪個session引起的
代碼如下:
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;
6、殺掉進程
代碼如下:
alter system kill session 'sid,serial#';

㈡ Oracle 鎖表情況查詢sql

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.OBJECT_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_objects

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;

㈢ 查詢oracle 資料庫里有哪些表鎖死

用如下語句查詢鎖死的表:

selectp.spid,
a.serial#,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
fromv$processp,v$sessiona,v$locked_objectb,all_objectsc
wherep.addr=a.paddr
anda.process=b.process
andc.object_id=b.object_id;

其中object_name就是被鎖的表名,如圖:

熱點內容
配送寶源碼 發布:2025-03-10 16:07:08 瀏覽:632
安卓wifi路由器在哪裡看 發布:2025-03-10 15:47:09 瀏覽:268
id密碼怎麼設置密碼 發布:2025-03-10 15:26:02 瀏覽:88
linux打開終端怎麼更改配置文件 發布:2025-03-10 15:17:38 瀏覽:319
抽象介面php 發布:2025-03-10 15:09:14 瀏覽:805
tomcat配置ip地址訪問 發布:2025-03-10 14:54:54 瀏覽:689
注冊淘寶密碼多少 發布:2025-03-10 14:49:03 瀏覽:558
文件上傳設備 發布:2025-03-10 14:47:47 瀏覽:498
江西l2tp伺服器託管雲伺服器 發布:2025-03-10 14:47:38 瀏覽:886
微信如何給錢包設置手勢密碼 發布:2025-03-10 14:46:55 瀏覽:229