初探oracle高级队列锁V$LOCK

本文通过查询v$transaction, v$session, v$sql等动态性能视图,展示了如何定位并解决Oracle数据库中的死锁问题。从查询被锁定的会话信息,到识别引发死锁的SQL语句,最后介绍如何终止死锁会话以恢复正常操作。" 129099417,16546593,樽海鞘群算法改进:集成随机惯性权重与差分变异的优化求解,"['优化算法', '群体智能', '机器学习', 'Matlab编程', '数值计算']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先了解V$lock视图字段的意义

SQL> desc v$lock
 Name   Null?    Type
 ----------------- -------- ------------
 ADDR    RAW(8)         锁在内存中的地址
 KADDR    RAW(8)         锁在内存中的地址
 SID    NUMBER         持有锁的会话
 TYPE    VARCHAR2(2)    锁的类型:如TM,TX
 ID1    NUMBER         锁的标识符1(不同类型的锁,ID1和ID2的含义也不相同)
 ID2    NUMBER         锁的标识符2
 LMODE    NUMBER         会话持有锁的级别
 REQUEST    NUMBER         请求持有锁的级别
 CTIME    NUMBER         请求锁的时间,单位秒
 BLOCK    NUMBER         是否堵塞了其它会话。0或1,0表示没有阻塞


Session 1
sqlplus / as sysdba
startup
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL> select * from v$lock;

ADDR KADDR SID TY        ID1  ID2   LMODE    REQUEST CTIME
---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- -
00000000BED5BA20 00000000BED5BA78   2 XR 4    0       1  0    52
00000000BED5BB00 00000000BED5BB58   2 RD 1    0       1  0    52
00000000BED5BBE0 00000000BED5BC38   2 CF 0    0       2  0    52
00000000BED5BE80 00000000BED5BED8   2 RS 25    1       2  0    48
00000000BED5CC98 00000000BED5CCF0  43 KD 0    0       6  0    47
00000000BED5C660 00000000BED5C6B8  43 KT      12876    0       4  0    47
00000000BED5D0F8 00000000BED5D150  44 TS 3    1       3  0    47
00000000BED5D730 00000000BED5D788  45 AE        100    0       4  0    47
00000000BED5D650 00000000BED5D6A8  45 TO      79833    1       3  0    47
00000000BED5C4A0 00000000BED5C4F8 129 AE        100    0       4  0    47
00000000BED5C740 00000000BED5C798 170 MR 7    0       4  0    48

ADDR KADDR SID TY        ID1  ID2   LMODE    REQUEST CTIME
---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- -
00000000BED5C838 00000000BED5C890 170 MR 8    0       4  0    48
00000000BED5BDA0 00000000BED5BDF8 170 MR 9    0       4  0    48
00000000BED5CD78 00000000BED5CDD0 170 MR 10    0       4  0    48
00000000BED5D018 00000000BED5D070 170 MR 11    0       4  0    48
00000000BED5C120 00000000BED5C178 170 MR 1    0       4  0    48
00000000BED5C200 00000000BED5C258 170 MR 2    0       4  0    48
00000000BED5C918 00000000BED5C970 170 PW 1    0       3  0    46
00000000BED5CBB8 00000000BED5CC10 170 MR 4    0       4  0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值