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. 聊聊 #pragma 和 // MARK:

    我去,就这两个东西还要讲?是OC或Swift开发人员都知道是怎么回事好吗?不就是用来标记和分组代码的吗?难道还有别的装逼技能? 当然,其实问大部分人说这两个是什么作用,或者是除了这两个还知道什么的情况 ...

  2. IIS 之 添加绑定域名 或 设置输入IP直接访问网站

    1.打开IIS,右键站点 → 编辑绑定,弹出“网站绑定”窗口,如下图:   2.点击“添加”,弹出“添加网站绑定”窗口,如下图:   注意:若想输入 IP 地址直接访问,则可以有以下两种设置任一均可: ...

  3. cocos2d-x使用ant批量打包

    当项目需要在多渠道上线时,要打很多的渠道包,少则几十个,多种几百个.它们的区别一般只是渠道id或部分配置信息不同,这些信息均可写在配置文件中. 例如常见的渠道id不同,一般定义在AndroidMani ...

  4. linux-搜索

    grep显示文件中的匹配行     grep  参数  字符串  文件名 -c 输出匹配的行数 -v输出不匹配行 不加参数  :输出匹配的行 经常和管道符一起使用 eg:ps -ef|grep tom ...

  5. MySQL同主机不同数据库的复制命令

    MySQL同主机不同数据库的复制命令:注意运行在Terminal中,不运行在MySQL命令行中. 1 mysqldump Portal_DEV -u root -ppassword1$ --add-d ...

  6. Linux 命令 - ss: 查看套接字统计信息

    命令格式 ss [options] [ FILTER ] 命令参数 -h, --help 显示帮助信息. -V, --version 显示版本信息. -n, --numeric 不解析服务名称. -r ...

  7. Warrior!之家与Warrior!博客网站发布

    这个网站从大一下学期就开始做,断断续续,一开始感觉无从下手,做了一个草稿便停止了.最近再拿回来,感觉并没有什么难度,便把它做完了,采用ajax页内跳转,对几个搜索引擎都有seo,目前谷歌搜索“Warr ...

  8. c#中网络异常的处理办法

    加入try catch来判断,catch使用的WebException来处理 try { var request = WebRequest.Create(uri); using (var respon ...

  9. 函数function的方法call()以及apply()

    1.这两个方法十分重要:可以改变函数的作用域,也就是改变函数中的this     使用call()方法的时候,必须明确传入每一个参数,结果跟apply()是一样的,废话不多说,下面来一个简单的案例,便 ...

  10. Unity3d-UI插件EZGUI官方视频教程

    Showcase Teaser (D/L) – Showcases some of the things that can be accomplished using EZ GUI.#1 – Butt ...