HelloDBA [English]
搜索Internet 搜索 HelloDBABA
  Oracle技术站。email: fuyuncat@gmail.com  MSN: fuyuncat@hotmail.com   acoug  acoug 

如何定位锁类型

[English]

作者: fuyuncat

来源: www.HelloDBA.com

日期: 2005-10-07 14:50:13

分享到  新浪微博 腾讯微博 人人网 i贴吧 开心网 豆瓣 淘宝 推特 Facebook GMail Blogger Orkut Google Bookmarks

我们通常知道的锁一般就是TMTX等。但实际上Oracle有很多种类型的锁。当你的系统中发生很多enqueue等待事件时,如何定位是那种锁呢?这里介绍一种方法。

当设置过10046事件(level>=8),产生了trace文件。如果存在enqueue事件,就会看到有如下内容:

WAIT #1: nam='enqueue' ela= 910796 p1=1128857606 p2=2 p3=5

P1=1128857606,转换为十六进制就是0x434900060x430x49转换为ascii就是’C’’I’,即为CIenqueue事件。可以通过以下语句查询出相关数据:

select * from v$enqueue_stat where eq_type = 'CI'
       再看P1中的6,对应的是V$LOCK中的LMODE。表示等待是一个exclusion模式的CI锁。

再看P2P3,对应的是V$LOCK中的D1D2。即D1=2,表示“DBWR synchronization of SGA with control file”,D2=5,表示“Used to queue up interested clients”。

 

Top

Copyright ©2005,HelloDBA.Com 保留一切权利

申明
by fuyuncat