10.Oracle的Latch优化深入解析-盖国强.docx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.Oracle的Latch优化深入解析-盖国强

Oracle的Latch优化深入解析几乎在所有关于Oracle latch机制介绍的图书上,你都可以看到如下描述:Latch是一种低级串行锁机制,用来保护内存结构。更进一步点的会说:Latch机制会通过对内存位的置零或置1来持有或者释放Latch又由于Latch的持有和释放时间都很短,所以一直以来我们都是在通过概念来学习和理解Latch,非常的不直观,再加上在Oracle10g以前,Oracle数据库通过一个名为Latch Free的等待事件来概括Latch竞争,更加造成理解和学习上的困难。最近在一些案例的处理中,加深了对于Latch机制的理解,在这里和大家分享一下我的学习经历。Latch相关的视图和Latch紧密相关的视图主要有:v$latch和v$latch_children。1.1 V$LATCH 使用如下语句可以获得V$LATCH父对象GV$LATCH的创建语句:SELECT VIEW_DEFINITION FROM V$FIXED_VIEW_DEFINITION WHERE VIEW_NAME=GV$LATCH;以下是该视图创建的项目语句:select d.inst_id, d.kslldadr, la.latch#, d.kslldlvl, d.kslldnam, d.kslldhsh, la.gets, la.misses, la.sleeps, la.immediate_gets, la.immediate_misses, la.waiters_woken, la.waits_holding_latch, la.spin_gets, la.sleep1, la.sleep2, la.sleep3, la.sleep4, la.sleep5, la.sleep6, la.sleep7, la.sleep8, la.sleep9, la.sleep10, la.sleep11, la.wait_time from x$kslld d, (select kslltnum latch#, sum(kslltwgt) gets, sum(kslltwff) misses, sum(kslltwsl) sleeps, sum(kslltngt) immediate_gets, sum(kslltnfa) immediate_misses, sum(kslltwkc) waiters_woken, sum(kslltwth) waits_holding_latch, sum(ksllthst0) spin_gets, sum(ksllthst1) sleep1, sum(ksllthst2) sleep2, sum(ksllthst3) sleep3, sum(ksllthst4) sleep4, sum(ksllthst5) sleep5, sum(ksllthst6) sleep6, sum(ksllthst7) sleep7, sum(ksllthst8) sleep8, sum(ksllthst9) sleep9,sum(ksllthst10) sleep10,sum(ksllthst11) sleep11, sum(kslltwtt) wait_time from x$ksllt group by kslltnum) la where la.latch# = d.indx由创建语句可以看出,该视图和两个底层X$结构有关,分别是X$KSLLD,X$KSLLT。这两个X$对象名称及含义如下: X$KSLLT [K]ernel [S]ervice [L]ock Management Latch statistics + Child latchesX$KSLLD [K]ernel [S]ervice [L]ock Management Latch [D]escriptor (name) 从说明可以看到KSSLD代表的是Latch的描述信息,而KSLLT才是Latch的统计信息、子Latch信息。V$LATCH视图的定义最后包含了一个Group by操作,根据Latch号(即kslltnum)对Latch信息进行了分组汇总展示。有了这个Group By也就造成了子Latch的存在,比如最常见的redo copy latch,存在多个,但是经过group by分组

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档