您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 数据库性能诊断的七种武器-DTCC2010-IT168文库
数据库性能诊断的七种武器ITPUB:Ora-600liyinanACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松主要议题•性能优化面临的挑战•调优工具的变迁•诊断工具中的七种武器•Q&AACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松InsertPictureHere性能优化面临的挑战ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松1、架构和业务的设计与变更2、熟悉各种数据库参数、系统参数3、应用逻辑与SQL代码实现4、选择合适的存储方式存储盘阵、存储模式、存储参数、存储表空间、存储对象等5、复杂的网络配置还有更多。。。DBA的事情好多哦…为满足业务的运行要求,高性能要求是目前IT系统普遍面临的最棘手问题,尤其是客户面对着目前越来越庞大系统和数据,系统整合、数据大集中似乎成了趋势,而对我们来说,则充满了压力和挑战。性能优化面临的挑战ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松InsertPictureHere调优工具的变迁ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Oracle调优工具的变迁•朦胧之初(v5)•Debugcode•初见端倪(v6)•Counters/Ratios•BSTAT/ESTAT•SQL*Trace•有所发展(v7)•出现了WaitEvent•counters向timers的变迁ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Oracle调优工具的变迁•快速进化(8i)•宽广的范围•STATSPACK•逐渐完善(9i)•更精细的收集-Sessiontuningusing10046SQLtraces•更加全面的STATSPACK•智能化、自动化开始初现•日趋完美(10g)–基于数据库自动化基础的更完美的优化•自动化收集•更加广泛的收集•保留一段时间的历史•提供了:ASH,AWR,ADDM,EM等功能调用•形成了越来越完善的性能优化诊断工具ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松InsertPictureHere诊断工具中的七种武器ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松诊断工具中的七种武器•碧玉刀—动态性能视图:刀是最大众化的武器,小到刮刀、折刀、剃刀、西瓜刀、切菜刀、剔骨刀,大到柳叶刀、圆月弯刀、武士刀、青龙偃月刀。。。不论大小长短、不论古今中外,刀是最常见的武器。不过再普通的刀,到了高手的手中,也会成为神兵利器,刀如此,Oracle的动态性能视图也如此,无论各种性能问题,根源皆可寻究于此。•V$SYSSTATV$SESSIONV$SESSTATV$SGASTAT•V$FILESTATV$UNDOSTATV$ROLLSTATV$WAITSTAT•V$LOCKV$LATCHV$SQLV$SQLAREAV$SQLTEXT•V$PROCESSV$LIBRARYCACHEV$ROWCACHE……ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松动态性能视图•大处着眼,小处着手•不是每个问题,都那么清楚的摆在我们面前,细致的察看,仔细的分析,利器才是利器•selectname,valuefromv$sysstatwherenamelike'%SQL%';NAMEVALUE-----------------------------------------------------------------bytessentviaSQL*Nettoclient2.0196E+12bytesreceivedviaSQL*Netfromclient1.3342E+12SQL*Netroundtripsto/fromclient7397997982bytessentviaSQL*Nettodblink1.5108E+12bytesreceivedviaSQL*Netfromdblink1.1800E+11ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松诊断工具中的七种武器•长生剑—等待事件:剑,轻灵、快速、灵敏,甚至于诡异。谈笑间,轻松快意时寻出敌人弱点,以闪电般的速度刺入敌人最虚弱的部位,一击破敌。性能优化的核心是什么,快速准确的定位,不需要华丽的显示,不需要冗长的信息,需要的仅仅是一个准确的定位,等待事件就是此中利器。ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松等待事件•v$system_event/v$session_event/v$session_wait•竞争即等待•寻找第一眼的感觉•从v$system_event中发现系统问题•从v$session_event中发现会话问题•从v$session_wait的参数中找到竞争对象ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松等待事件•熟悉各种主要的等待事件,快速定位问题所在•Top5TimedEventsAvg%Total~~~~~~~~~~~~~~~~~~waitCallEventWaitsTime(s)(ms)TimeWaitClass---------------------------------------------------------------------------waitforaundorecord35,9283,4516550.1OtherCPUtime1,68724.4dbfilescatteredread392,50482111.7UserI/Owaitforstoppereventtobei4,027278693.4Otherlogfilesync28,8801712.1Commit•waitforaundorecord等待与回滚段的大量回滚有关,一般是出现了大事务回退造成•selectsid,event,wait_classfromv$session_waitswheres.eventnotlike‘%message%’;SIDEVENTWAIT_CLASS-----------------------------------------------------------------------------------507PXDeq:TxnRecoveryStartIdle511PXDeq:TxnRecoveryStartIdle268PXDeq:TxnRecoveryStartIdle……•selectpid,state,undoblocksdonefromv$fast_start_servers;PIDSTATEUNDOBLOCKSDONE-----------------------------------133RECOVERING7124……ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松等待事件•bufferbusywaits(数据高速缓存忙等待)•dbfilescatteredread(数据文件离散读取)•dbfilesequentialread(数据文件顺序读)•directpathread(直接路径读取)•directpathwrite(直接路径写出)•enqueue(队列)•freebufferwaits(空闲缓冲区等待)•latchfree(锁存器空闲)•logbufferspace(日志缓冲区空间分配)•logfileswitch(archivingneeded)•logfileswitch(checkpointincomplete)•logfilesync(日志文件同步)ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松诊断工具中的七种武器•霸王枪—statspack:枪中之霸王,胆气之结晶。枪具有剑的轻灵,又有棍的霸道,不论是快速定位,还是全面分析,都是statspack所能胜任的。ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack•有了全面的信息收集,分析问题变得简单了•Statspack的安装$ORACLE_HOME/rdbms/admin/spcreate.sql•收集统计信息$ORACLE_HOME/rdbms/admin/statspack.snap•自动收集统计信息$ORACLE_HOME/rdbms/admin/spauto.sql•生成报表$ORACLE_HOME/rdbms/admin/spreport.sql•要收集计时信息,设置:TIMED_STATISTICS=TrueACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack的输出包含的信息:•数据库和实例名称•获取快照的时间•当前高速缓存的大小•负载概览•实例效率百分比•前五个等待事件•等待事件的完整列表•共享池中SQL语句的信息•实例活动统计•表空间和文件I/O•缓冲区统计信息•回退段或还原段统计信息•栓锁活动•字典高速缓存统计信息•库高速缓存统计•SGA统计•Init.ora参数的启动值ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack内容ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack内容ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack内容ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松Statspack内容ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松诊断工具中的七种武器•孔雀翎—ash、awr、addm、addr:是一种暗器,但又不是暗器。悄然,自动,不动声色间,一切皆在握。Oracle在10g开始,推出了一系列自动化、智能化的工具,虽然这些工具在以前或多或少都有相似的影子,但功能的增强、理念的增强,造就了这些以前所不具备的新工具。ACOUG李轶楠Mail:ora-600@163.com13331192030技术服务人生,学识只为轻松ActiveSessionHistory-活动会话历史查找数据库的瞬间问题•每秒钟自动从内存中抓取样例的活动会话信息•可以从v$active_session_history获得会话近期的活动信息•selecta.sql_textfromv$sqlawheresql_idin(selectsql_idfromv$active_session_historywheresession_id=157);•信息直接从内存结构中获取,并不保存,仅在系统运行中有效•可以得到•SID•SQLID•Program•Waitevent#•Object,File,Block•actualwaittime(ifcapturedwhilewaiting)•通过ashrpt.sql可以产生ash分析报告,发现某个时段的TOP(TopEvents/TopSQL/TopSessions/TopObjects/Files/Latches)•可
本文标题:数据库性能诊断的七种武器-DTCC2010-IT168文库
链接地址:https://www.777doc.com/doc-7628387 .html