您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Eygle-以不变应万难-Oracle-RAC故障分析与深入解析
云和恩墨成就所托云和恩墨 成就所托 云和恩墨 成就所托 以不变应万难-OracleRAC故障分析与深⼊入解析数据驱动 成就未来 云和恩墨成就所托云和恩墨 成就所托 ! 盖国强云和恩墨信息技术有限公司联合创始⼈人! 盖国强是国内第⼀一个OracleACE及ACE总监;! 国内技术论坛ITPUB的主要倡导者之⼀一,致⼒力于技术分享与传播,已经出版了12本技术书籍;! 2010年和张乐奕共同创建中国Oracle用户组(ACOUG–AllChinaOracleUserGroup),并开展持续的公益活动;! 云和恩墨国内领先的数据服务整体⽅方案提供商! 云和恩墨汇聚4位OracleACE总监,2位ACE,⼀一位SQL⼤大赛冠军,以及数⼗十位OCM专家,同时具备MySQL和DB2专家;! 云和恩墨为国内包括电信、⾦金融、保险、电商、能源等⾏行业200多家客户提供服务和解决⽅方案;WhoamI云和恩墨成就所托云和恩墨 成就所托 DBA 生存法则 大量的数据库 文档卷帙浩繁 故障复杂多样 技术快速更新 • DBA⾯面临越来越复杂的⽣生存环境云和恩墨成就所托云和恩墨 成就所托 Oracle在业务高峰期遭遇故障 • 在业务⾼高峰期遭遇严重的性能瓶颈– DBTime/Elapsed=80+云和恩墨成就所托云和恩墨 成就所托 Oracle在业务高峰期遭遇故障 • 在业务⾼高峰期遭遇严重的性能瓶颈– gcbufferbusyacquire/release云和恩墨成就所托云和恩墨 成就所托 演进:从Busy到Acquire & release • 【gc】BufferBusy–热点竞争10g:BufferBusyWaitsHasthebufferpinned.10gR2:ReadbyOtherSessionisreadingthebufferfromdisk.11g:gcbufferbusyacquireisreadingthebufferfromthecacheofanotherinstance.11g:gcbufferbusyreleaseonanotherinstanceistakingthebufferfromthiscacheintoitsowncachesoitcanpinit.SessionCannotPintheBuffer,Becauseanothersession 云和恩墨成就所托云和恩墨 成就所托 循序渐进:从AWR探索Different • 从对⽐比报告寻找异常– Logicalreads改变明显–103.4%云和恩墨成就所托云和恩墨 成就所托 数据可视化:从consistent分析异常 • 数据可视化–从多纬度分析发现异常– 本案例分析与逻辑读相关的各个统计指标By:TanelPoder & LucaCanali sessionlogicalreads =dbblockgets+consistentgets 云和恩墨成就所托云和恩墨 成就所托 数据可视化:从consistent分析异常 • 数据可视化–从多纬度分析发现异常云和恩墨成就所托云和恩墨 成就所托 溯源:examination / undo apply Consistentgets–examination • Numberofconsistentgetsthatcouldbeimmediatelyperformedwithoutpinningthebuffer • Generallyapplytoindexes • Readundoblocksforconsistentreadpurposes • Requireonelatchget • Includedinconsistentgetsstatistic datablocksconsistentreads-undorecordsapplied • Numberofundorecordsappliedtodatablocks thathavebeenrolledbackforconsistentreadpurposes 云和恩墨成就所托云和恩墨 成就所托 数据可视化 – undo records applied 云和恩墨成就所托云和恩墨 成就所托 数据可视化 – undo records applied 云和恩墨成就所托云和恩墨 成就所托 数据库可视化 – SQL Developer 云和恩墨成就所托云和恩墨 成就所托 循序渐进:从AWR探索Different • 从对⽐比报告寻找异常– Undorecordsapplied改变明显–4580.46%云和恩墨成就所托云和恩墨 成就所托 数据库可视化 – SQL Developer • 多纬度的趋势叠加云和恩墨成就所托云和恩墨 成就所托 从猜测到实践 – 测试用例 • 测试⽤用例 createtabletgcasselect*fromdba_objects; 在RAC的⼀一个实例上执⾏行更新操作,针对⼀一条特定的记录: SQLbegin 2foriin1..100000loop 3updatetgcsetobject_name=object_namewhereobject_id=100; 4commit; 5dbms_lock.sleep(1); 6endloop; 7end; 8/ 在另外⼀一个实例上,获得⼀一个SCN: selectcurrent_scnfromv$database; select*fromtgcasofscn29775007whereobject_id=100; 云和恩墨成就所托云和恩墨 成就所托 分析:基于consistent changes的逻辑读 • 从⼀一致性读中分析Undo的作⽤用云和恩墨成就所托云和恩墨 成就所托 分析:基于consistent changes的逻辑读 • 从⼀一致性读中分析Undo的作⽤用–Onemore云和恩墨成就所托云和恩墨 成就所托 分析:gc buffer busy acquire • 当Local存在多个读者云和恩墨成就所托云和恩墨 成就所托 分析:gc buffer busy release • 当Remote存在多个写者云和恩墨成就所托云和恩墨 成就所托 分析:gc buffer busy acquire/release • Local/Remote都是受害者云和恩墨成就所托云和恩墨 成就所托 溯源:找到引发问题的对象和SQL • 找出SQL,解决并发问题1.避免在业务⾼高峰期间执⾏行⼤大量的并发、多节点更新操作; 2.设置隐含参数缓解该问题; Oracle引⼊入了⼀一个隐含参数_max_rb_rollbacks⽤用于控制CR读构造的次数,以减少LMS的压⼒力,该参数初始建议值为200。可以参考MOS的⽂文档号:1630755.1 云和恩墨成就所托云和恩墨 成就所托 最佳实践:RAC的并发与性能 • Frequenttransactionalchangestothesamedatablocksinallinstancesmayresultin“writehotspots”. • Blockwithpendingchangesmaybe“pinged”byotherinstances. • Pendingredomustbewrittentologbeforetheblockcanbetransferred • LatencyforadeferredblocktransferbecomesdependentondelayforlogIO • Contentioncanaffectrelateddataasmuchasitcanaffecttheactual“userdata”. • Rightgrowingindexesandindexcontentionarecommon. • In99%ofOLTPperformanceissues,writehotspotsoccuronindexes. MarkusMichalewicz DirectorofProductManagement OracleRealApplicationClusters(RAC) 云和恩墨成就所托云和恩墨 成就所托 性能可视化:12c AWR Warehouse 云和恩墨成就所托云和恩墨 成就所托 我的Oracle学习之路 • 基础重于一切 • 独立思考才能提高 • 通过实践检验知识• 由点及面、由浅入深• 见微知著 -入微审堂下之阴,而知日月之行,阴阳之变;见瓶水之冰,而知天下之寒,鱼鳖之藏也;尝一脔肉,而知一镬之味,一鼎之调。 • 兴趣 +勤奋 +坚持 +方法 ≈ 成功 很遗憾我不能给以上公式画上“=”,但是无关紧要,只要具备了以上因素,我想我们每个人都会离成功不远了。 不只是对于Oracle学习,对于整个人生,也许都是如此。 • 天道酬勤• 分享、回馈、感恩云和恩墨成就所托云和恩墨 成就所托 云和恩墨 成就所托
本文标题:Eygle-以不变应万难-Oracle-RAC故障分析与深入解析
链接地址:https://www.777doc.com/doc-1896630 .html