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. cooking java ——加密解密

    java安全与密码概述 主要分为三部分: 密码学基础,包括:相关术语:分类:常用安全体系. java的安全组成:jdk以及第三方扩展. 相关实现代码,包括:base64.MD5········ 密码学 ...

  2. python分页和session和计算时间差

    分页 #!/usr/bin/env python # -*- coding:utf-8 -*- class Pagenation: def __init__(self,current_page,all ...

  3. Android进阶笔记15:ListView篇之图片优化

    1.图片异步加载: (1)处理图片的方式: 如果ListView中自定义的Item中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是 ListView 项中最头疼的,处理图片的方法大 ...

  4. 记第一次web前端校招笔试

    是的,我今晚跑到隔壁学校参加某电商公司的宣讲会+现场笔试.只有俩字可以形容:苦笑! 在寝室复习了下以前学习的关于前端方面的知识,重点是JavaScript,javaweb开发技术(jsp+servle ...

  5. Recovery启动流程(3)--recovery.cpp分析

    转载请注明来源:cuixiaolei的技术博客 这篇文章主要通过分析高通recovery目录下的recovery.cpp源码,对recovery启动流程有一个宏观的了解.MTK和高通的recovery ...

  6. 模拟游客一天的生活与旅游java程序代写源码

    在某个城市的商业区里,有一家首饰店,一家饭店,一家面馆,一家火锅店,一家银行,一家当铺 现在有一群来自四川的游客,一群陕西的游客,一群上海的游客,和以上各店家的工作人员在此区域里,请模拟他们一天的生活 ...

  7. Apache服务器中配置虚拟机的方法

    新浪微博虚拟机开发配置步骤及介绍.1.由于后面虚拟机中需要用到Rewrite所以先编辑Apache的conf目录下的httpd.conf文件.(可根据实际需要操作)添加mod_rewrite.so模块 ...

  8. 探讨PHP页面跳转几种实现技巧

    PHP被许多程序员用来开发WEB的首选语言.在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法. 探讨PHP变量解析顺序如何获取提交数据 深入解读PHP运行机制 ...

  9. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  10. Oracle 版本查看及版本号说明

    http://blog.163.com/magicc_love/blog/static/185853662201210194592757/ select * from v$version; 或sele ...