当前位置:  数据库>oracle

查看Oracle数据库表被锁例子——故障定位

    来源: 互联网  发布时间:2017-04-12

    本文导语: 查看Oracle数据库表被锁例子——故障定位 1.开一个会话session1,(实际就是和数据库建立一个连接,可以通过第三方软件,或者直接使用sqlplus来连接) SQL>select sid from v$mystat where rownum=1; SID 158 SQL>create table t(x int primary key); table cr...

查看Oracle数据库表被锁例子——故障定位

1.开一个会话session1,(实际就是和数据库建立一个连接,可以通过第三方软件,或者直接使用sqlplus来连接)

SQL>select sid from v$mystat where rownum=1;

SID

158

SQL>create table t(x int primary key);

table created

SQL>insert into t values(1);

commit;

SQL>update t1 set    t=10 where  x=1;

已更新一行;

2.再开一个会话

SQL>select sid from v$mystat where rowunm=1;

SID

157

SQL>update t1 se x=10 where x=1;

这个时候session2被session1锁住

锁的情况可以通过v$ock视图查看

SQL>select sid,type,id1,id2,LMODE,request,block from v$lock where sid in (157,158) order by sid;

sid      ty     id1                id2      lmode request block

157   TM    51349         0          3           0            0

157   TX    327699      292       0           6            0

158   TX    327699      292      6           0              1

158   TM    51349       0           3            0             1

这里sid=158 是第一个会话,sid=157是第二个会话,block=1表示这个会话正在阻塞其他的会话。

request=6表示当前会话正在等待一个LMODE=6的锁。意思是这个会话正在被阻塞。如果此列非0,就是在等待一个锁。

TX行级锁

TM表级锁

id1,id2定义了锁的相关信息,锁的模式有lmode决定

一般来说,系统如果平时运行正常,突然会停止不动,多半是被阻塞了(blcoked)

3.然后去确定用户的信息

sql>select  machine from v$session where sid in (158,157)

可以看到用户所使用的机器名

如果用户是通过中间件连接过来的,那机器的名字是中间件服务器的名字,可能需要借助中间件服务器提供的连接信息来确定用户。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样定位查看文本文件的内容(文件很大)?
  • redhat/centos 常用信息查看命令整理
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • resin及jetty介绍以及如何 查看他们的版本号
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • MyEclipse如何查看和设置文件编码格式相关操作
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便
  • Ubuntu查看内存,进程相关命令介绍
  • 请问linux下怎么用命令行的方式查看系统自动运行的程序?(因为我只能通过ssh来查看)
  • 准备学习docker: docker version命令查看版本
  • 求教 关于gdb如何查看lib中的表达式
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • 在AIX(4.3)系统上如何查看内存情况
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • linux下查看内核的命令是什么?
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3