《Oracle 课程-性能优化第3课-性能优化之latch.pdf》由会员分享,可在线阅读,更多相关《Oracle 课程-性能优化第3课-性能优化之latch.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、DATAGURU专业数据分析网站 2012.2012.1111.15 15 性能优化性能优化 第第二二课课-Latch-Latch2DATAGURU专业数据分析网站2012.11.122012.11.12法律声明法律声明【声明声明】本视频和幻灯片为炼数成金网络课程的教本视频和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被追究法律和经济程以外范围散播,违者将可能被追究法律和经济责任。责任。课程详情访问炼数成金培训网站课程详情访问炼数成金培训网站http:/http:/2012-12-1DATAGURU专
2、业数据分析网站2012.5.282012.5.28OracleOracle中锁的类型中锁的类型LOCK enqueue-上一节课提到的lock latch-本节课讨论的内容2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch的目的的目的保证资源的串行访问:保护SGA的资源访问 保护内存的分配保证执行的串行化:保护关键资源的串行执行 防止内存结构损坏2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Latch V.S.Latch V.S.enqueueenqueueLatchLatchLatchLatchL
3、ockLockLockLock队列性XO时长很短可能很长层面数据库资源层业务应用层目的保证资源的完整性保证业务操作的完整性2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch在哪里?在哪里?-SGA-SGA资源的请求和分配共享池 sql 解析,sql重用.数据缓冲池 数据访问,数据写入磁盘,数据读入内存.修改数据块 数据段扩展.2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28OracleOracle有哪些有哪些LatchLatch2012-12-1DATAGURU专业数据分析网站2012.5.28201
4、2.5.28LatchLatch的机制的机制S G AS G AS G AS G ACPU 1CPU 1CPU 1CPU 1CPU 2CPU 2CPU 2CPU 2Process AProcess AProcess AProcess AProcess B waitsProcess B waitsProcess B waitsProcess B waits(spins and(spins and(spins and(spins and sleeps)sleeps)sleeps)sleeps)Process A Process A Process A Process A holds a holds
5、 a holds a holds a latchlatchlatchlatchLatchLatchLatchLatchProcess BProcess BProcess BProcess B2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch的的获取的的获取 wait方式-如果无法获取请求的latch,则:spin当一个会话无法获得需要的latch时,会继续使用CPU(CPU 空转),达到一个间隔后,再次尝试申请latch,直到达到最大的重试次数。sleep当一个会话无法获得需要的latch时,会等待一段时间(sleep),达到一个间隔后,
6、再次尝试申请latch,如此反复,直到达到最大的重试次数。No wait方式-如果无法获取请求的latch,则:不会发生sleep或者spin.转而去获取其它可用的Latch2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28shared poolshared pool里的里的latchlatch争用争用-绑定变量绑定变量2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28shared poolshared pool里的里的latchlatch争用争用-绑定变量绑定变量2012-12-1DATAGURU专业数据分析网站2012
7、.5.282012.5.28shared poolshared pool里的里的latchlatch争用争用-绑定变量绑定变量2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专
8、业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Buffer cacheBuffer cache的机制的机制2012-12-1DATAGURU专业数据分析网站2
9、012.5.282012.5.282012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28 表数据块争用 热块索引数据热块 文件头数据块-并发修改data bufferdata buffer中的中的latchlatch争用争用-热块热块2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28data bufferdata buffer中的中的latchlatch争用争用-多版本多版本2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch相关的视图相关的视图-V$LATCH-V$LAT
10、CH v$latch这个视图实际上是Oracle对每个latch的统计信息的一个汇总,每一条记录表示 一种latch.SQL select name,gets,misses,sleeps,immediate_gets,immediate_misses from v$latch where name like cache%;NAME GETS MISSES SLEEPS IMMEDIATE_GETS IMMEDIATE_MISSES-cached attr list 0 0 0 0 0cache buffers lru chain 105459 3 1 608336 176cache buffe
11、rs chains 7591339 34 5 536830 0cache buffer handles 69651 0 0 0 0cache protection latch 0 0 0 0 0cache table scan latch 1747 0 0 1747 0NAME:latch名称GETS:以Willing to wait请求模式latch的请求成功数MISSES:初次尝试请求不成功次数SLEEPS:成功获取前sleeping次数IMMEDIATE_GETS:以Immediate模式latch请求数IMMEDIATE_MISSES:以Immediate模式l请求失败数2012-12
12、-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch相关的视图相关的视图-V$LATCHHOLDERV$LATCHHOLDER 包含了当前latch持有者的信息。通过视图中的PID和SID信息,关联视图v$SESSION,V$SESSION_WAIT,可以定位相应持有资源的会话信息。2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch相关的视图相关的视图-V$LATCH_CHILDREN-V$LATCH_CHILDREN 存储子latch信息的视图,在SGA中有些资源使用多个latch保护,比如lib
13、rary cache,这些多个latch保护同一个资源,成为子latch.V$LATCH_CHILDREN和V$LATCH一样。2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28AWRAWR报告中的报告中的LatchLatch部分部分2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28LatchLatch优化的思路优化的思路 Latch导致的性能问题,通常是一个系统层面的问题,所以:AWR报告是一个比较好的入口。通过动态视图v$latch.可以分析当前系统的latch资源情况。确定争用最大的Latch分析可能的原因。从应用层
14、面和数据库层面考虑解决途径。2012-12-1DATAGURU专业数据分析网站2012.5.282012.5.28Latch-Latch-总结总结 是数据库资源的管理机制。业务层面无法感知 良好的系统设计,可以有效的减少Latch的争用绑定变量减少热块.29DATAGURU专业数据分析网站2012.11.122012.11.12炼数成金逆向收费式网络课程炼数成金逆向收费式网络课程DataguruDataguru(炼数成金)是专业数据分析网站,提供教育,媒体,内容,社区,出版,(炼数成金)是专业数据分析网站,提供教育,媒体,内容,社区,出版,数据分析业务等服务。我们的课程采用新兴的互联网教育形式
15、,独创地发展了逆向收数据分析业务等服务。我们的课程采用新兴的互联网教育形式,独创地发展了逆向收费式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发费式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发挥互联网的威力打破时空限制,把天南地北志同道合的朋友组织在一起交流学习,使挥互联网的威力打破时空限制,把天南地北志同道合的朋友组织在一起交流学习,使到原先孤立的学习个体组合成有组织的探索力量。并且把原先动辄成千上万的学习成到原先孤立的学习个体组合成有组织的探索力量。并且把原先动辄成千上万的学习成本,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架本,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架中国第一的网上知识流转阵地。中国第一的网上知识流转阵地。关于逆向收费式网络的详情,请看我们的培训网站关于逆向收费式网络的详情,请看我们的培训网站 http:/http:/DATAGURU专业数据分析网站ThanksThanksFAQ时间