v$lock显示数据库当前持有锁情况

Column Datatype Description
SID NUMBER 会话ID
TYPE VARCHAR2(2) 表示锁的类型。值包括TM,TX,等
ID1 NUMBER

对于TM锁:ID1表示被锁定表的object_id 可以和dba_objects视图关联取得具体表信息;

对于TX锁:ID1以十进制数值表示该事务所占用的回滚段号和事务槽slot number号

ID2 NUMBER 对于TM锁:ID2 值为0;对于TX锁:ID2 以十进制数值表示事务槽被重用的次数
LMODE NUMBER 持有锁模式:
0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)
REQUEST NUMBER 申请锁模式:
0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)
CTIME NUMBER 持有锁的时间
BLOCK NUMBER 是否正在阻塞其他会话锁申请 1:阻塞 0:不阻塞

示例展示:

会话1

 --查看当前会话1持有锁情况
select sid,type,id1,id2,lmode,request,block
from v$lock
where sid in (select sid from v$mystat where rownum=1); 无记录 --加锁
select * from t1 for update ; --查看加锁后的v$lock
SQL> select sid,type,id1,id2,lmode,request,block
2 from v$lock
3 where sid in (select sid from v$mystat where rownum=1); SID TY ID1 ID2 LMODE REQUEST BLOCK
---------- -- ---------- ---------- ---------- ---------- ----------
133 TM 53252 0 3 0 0
133 TX 196630 636 6 0 0 --当前会话持有两种类型锁:TM(表级锁),TX(行级锁)。锁模式分别为:3,6。BLOCK为:0

会话2

 --开启会话2
--查看当前会话2持有锁情况
select sid,type,id1,id2,lmode,request,block
from v$lock
where sid=140; 无记录 --加锁
select * from t1 for update ; 会话夯住了

切回会话1

 --切换的会话1 查看两个会话持锁状态
SQL> select sid,type,id1,id2,lmode,request,block
2 from v$lock
3 where sid in (133,140); SID TYPE ID1 ID2 LMODE REQUEST BLOCK
---------- -- ---------- ---------- ---------- ---------- ----------
133 TX 196630 636 6 0 1
133 TM 53252 0 3 0 0
140 TX 196630 636 0 6 0
140 TM 53252 0 3 0 0
SQL> --会话133: TYPE(tm) lmode(3) block(0)
TYPE(tx) lmode(6) block(1) --在行级持有排它锁,并正在阻塞其它会话 --会话140:TYPE(tm) lmode(3) block(0)
TYPE(tx) request(6) block(0) --正在申请行级排它锁

相关锁的知识介绍:Oracle Lock 概述

Oracle 动态视图1 V$LOCK的更多相关文章

  1. oracle动态视图v$,v_$,gv$,gv_$与x$之间的关系

    前言:在oracle运维的过程中,经常会使用到一些以V$开头的动态视图,比如V$session, 有一次偶然看到有人用V_$session, 初以为别人写错了,没想到desc v_$session以后 ...

  2. Oracle 动态视图3 V$SESSION

    每一个连接到数据库实例中的session都拥有一条记录.包括用户session及后台进程如DBWR,LGWR,arcchiver等 Column Datatype Description SADDR ...

  3. Oracle 动态视图6 V$PROCESS

    一.视图包含当前系统oracle运行的所有进程信息.常用于将session与进程(oracle进程,操作系统进程)之间建立联系. Column Datatype Description ADDR RA ...

  4. Oracle 动态视图2 V$LOCKED_OBJECT

    v$locked_object视图列出当前系统中哪些对象正被锁定 Column Datatype Description XIDUSN NUMBER 回滚段号 XIDSLOT NUMBER 槽号 XI ...

  5. Oracle 动态视图5 V$SESSION_LONGOPS

    一.视图V$SESSION_LONGOPS显示运行超过6秒的操作的状态.包括备份,恢复,统计信息收集,查询等等 Column Datatype Description SID NUMBER Sessi ...

  6. Oracle 动态视图4 V$SESSION_WAIT & V$SESSION_EVENT

    一.视图V$SESSION_WAIT显示了session的当前等待事 Column Datatype Description SID NUMBER Session identifier SEQ# NU ...

  7. 关于oracle动态视图v$datafile和v$datafile_header(转)

    v$datafile是从oracle的控制文件中获得的数据文件的信息v$datafile_header是从数据文件的头部在正常运行下,两者的检查点SCN值是一致的,但当datafile出现损坏时可以用 ...

  8. oracle动态视图(一)stat

    1v$mystat,v$sesstat,v$sysstat是用来分别统计用户级,会话级,系统级信息的. SID                                 NUMBER STATI ...

  9. ORACLE动态sql在存储过程中出现表或视图不存在的解决方法

    Oracle动态sql在存储过程中出现表或视图不存在的解决方法 CREATE OR REPLACE PROCEDURE P_test is strsql varchar2(2000); BEGIN   ...

随机推荐

  1. 12096 - The SetStack Computer UVA

    Background from Wikipedia: \Set theory is a branch of mathematics created principally by the German ...

  2. Roadblocks http://poj.org/problem?id=3255

    Description Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best ...

  3. 数据结构笔记02:Java面试必问算法题

    1. 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的 ...

  4. Jquery插件学习

    前端开发也工作了一段时间,Jquery代码页写了很多,但是都是些的很零散的,不是很好用,网上看了很多人写的Jquery 很好用,而且到每个项目中都可以使用, 本人就感觉很好奇他们是怎么做到的呢,于是自 ...

  5. 开发技巧01——改变Toast显示位置

    1.获得Toast对象——Toast toast = Toast.makeText(this, "Top Left!", Toast.LENGTH_SHORT); 2.Toast对 ...

  6. fancybox的使用

    fancybox,个人没有深入了解,只是为了工作需要,做的一些界面,主要是用的AJAX功能. 首先,需要下载fancybox的js文件以及CSS文件(可能用不到) 其次,在页面中引入 <scri ...

  7. eclipse插件svn 提交时报:"svn is already locked"解决方法

    在出错文件夹下,鼠标右键TortoiseSVN->Clean up. SVN错误:Attempted to lock an already-locked dir 1.出现这个问题后使用“清理”功 ...

  8. 【置换,推理】UVa 1315 - Creaz tea party

    Dsecription n participants of «crazy tea party» sit around the table. Each minute one pair of neighb ...

  9. Fragment生命周期详解

    处理fragement的生命周期 管理fragment的生命周期有些像管理activity的生命周期.Fragment可以生存在三种状态: Resumed: Fragment在一个运行中的activi ...

  10. android 获取IMEI号

    android 获取 imei号码 核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId( ...