怎么查看oracle锁 查看oracle被锁的表

查询oracle 数据库里有哪些表锁死用如下语句查询锁死的表怎么查看oracle锁:
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;
其中object_name就是被锁的表名怎么查看oracle锁,如图怎么查看oracle锁:
oracle如何查看是因为什么锁表--锁定对象锁表查询
select s.SID,s.SERIAL#,o.object_name, s.USERNAME, s.MACHINE, s.BLOCKING_SESSION, s.SQL_ID, lo.*
from V$LOCKED_OBJECT lo, DBA_OBJECTS o, V$SESSION S
where lo.object_id=o.object_id AND lo.SESSION_ID=s.SID( );
oracle 如何查看有没有死锁-- 死锁查询语句
SELECTbs.username "Blocking User", bs.username "DB User",
【怎么查看oracle锁 查看oracle被锁的表】ws.username "Waiting User", bs.SID "SID", ws.SID "WSID",
bs.serial# "Serial#", bs.sql_address "address",
bs.sql_hash_value "Sql hash", bs.program "Blocking App",
ws.program "Waiting App", bs.machine "Blocking Machine",
ws.machine "Waiting Machine", bs.osuser "Blocking OS User",
ws.osuser "Waiting OS User", bs.serial# "Serial#",
ws.serial# "WSerial#",
DECODE (wk.TYPE,
'MR', 'Media Recovery',
'RT', 'Redo Thread',
'UN', 'USER Name',
'TX', 'Transaction',
'TM', 'DML',
'UL', 'PL/SQL USER LOCK',
'DX', 'Distributed Xaction',
'CF', 'Control FILE',
'IS', 'Instance State',
'FS', 'FILE SET',
'IR', 'Instance Recovery',
'ST', 'Disk SPACE Transaction',
'TS', 'Temp Segment',
'IV', 'Library Cache Invalidation',
'LS', 'LOG START OR Switch',
'RW', 'ROW Wait',
'SQ', 'Sequence Number',
'TE', 'Extend TABLE',
'TT', 'Temp TABLE',
wk.TYPE
) lock_type,
DECODE (hk.lmode,
0, 'None',
1, 'NULL',
2, 'ROW-S (SS)',
3, 'ROW-X (SX)',
4, 'SHARE',
5, 'S/ROW-X (SSX)',
6, 'EXCLUSIVE',
TO_CHAR (hk.lmode)
) mode_held,
DECODE (wk.request,
0, 'None',
1, 'NULL',
2, 'ROW-S (SS)',
3, 'ROW-X (SX)',
4, 'SHARE',
5, 'S/ROW-X (SSX)',
6, 'EXCLUSIVE',
TO_CHAR (wk.request)
) mode_requested,
TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2,
DECODE
(hk.BLOCK,
0, 'NOT Blocking',/**//* Not blocking any other processes */
1, 'Blocking',/**//* This lock blocks other processes */
2, 'Global',/**//* This lock is global, so we can't tell */
TO_CHAR (hk.BLOCK)
) blocking_others
FROM v$lock hk, v$session bs, v$lock wk, v$session ws
WHERE hk.BLOCK = 1
AND hk.lmode != 0
AND hk.lmode != 1
AND wk.request != 0
AND wk.TYPE( ) = hk.TYPE
AND wk.id1( ) = hk.id1
AND wk.id2( ) = hk.id2
AND hk.SID = bs.SID( )
AND wk.SID = ws.SID( )
AND (bs.username IS NOT NULL)
AND (bs.username'SYSTEM')
AND (bs.username'SYS')
ORDER BY 1;
查询发生死锁怎么查看oracle锁的select语句
select sql_text from v$sql where hash_value in (
select sql_hash_value from v$session where sid in (select session_id from v$locked_object)
)
关于怎么查看oracle锁和查看oracle被锁的表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读