您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Spotlight+on+oracle的使用与分析
Welcome!•部门:测试部•作者:高华•日期:2010-7-20配置连接ORACLE数据库注:需要安装oracle客户端•注:需要输入数据库DBA的用户名与密码SpotlightOnOracle一、SpotlightOnOracle的产品特色及主要功能二、SpotlightOnOracle的使用及诊断分析一、SpotlightOnOracle的产品特色及主要功能1)实时监控诊断最佳工具2)自动问题侦测与实时解决3)数据库活动的实时显示4)详细的Session-Tracking功能1)实时监控诊断最佳工具SpotlightonOracle是Windows架构的Oracle数据库监控诊断工具,它将所有监控下的数据库组件转化为图形显示,藉此协助DBA轻松掌控Oracle数据库的真正处理结构。此外,SpotlightonOracle还提供详尽数据库动态,包括数据库各组件间流动速度的实时图解,使用者活动、I/O活动、及操作上经常费用(Overhead)等DatabaseInstance主要统计数据与量测项目(metrics)的数据库图表,让DBA不须24小时stand-by,就能迅速发掘问题所在,并透过Spotlight的问题诊断与解决方式建议,及早排除数据库运作瓶颈或问题。1)实时监控诊断最佳工具(续)2)自动问题侦测(Alarm)与实时解决它可以在数据库发生问题时,提供详尽的问题剖析,让DBA深入问题根源,一层一层发掘问题的真正肇因;也可以在数据库正常运作期间,自动记录数据库行为模式,藉由长期数据分析与情境仿真,提醒DBA数据库可能面临的增长瓶颈。SpotlightonOracle的数据库行为模式记录,主要在建立一个正常的数据库活动基准,并自动设定活动量的临界点,当数据库发展达临界点时,DBA就会看到或听到警报及声响的提醒。拥有自动化的侦测与记录,DBA可以提前获知活动量最大的使用者、SQLStatement、Lock&Latches、WaitEvents、DiskI/O等数据,在问题转为危机前,实时排除数据库瓶颈。2)自动问题侦测(Alarm)与实时解决(续)3)数据库活动的实时显示监控组件包括I/O、databasefiles、theSGA及OracleProcess。这些组件移动间的脉冲(Pulse)代表数据传输的相对速率及数据库内的活动程度。SpotlightonOracle可以透过数据库行为模式记录,自动将数据库调整为指定的工作量(workload),如此流动率就可调整为数据库特定效能特性。4)详细的Session-Tracking功能居首位的Session及SessionDetails屏幕,让DBA人员迅速确定谁是最耗资源的使用者。多层控制板(Panel)显示有关Session中使用者活动每一方面信息的详细数据,这些数据可让我们观看目前及前一个SQL、资源等待、Lock及过度的活动。二、SpotlightOnOracle的使用及诊断分析1)主页面的六个面板2)TopSessions3)TopSQL4)Activity1)主页面的六个面板A、Sessions面板B、Host面板C、ServerProcesses面板D、SGA面板E、BackgroundProcesses(后台进程)面板F、DiskStorage(磁盘存储)面板A、Sessions面板(1)Response10,系统的响应时间(2)TotalUsers:总用户SESSION数--相当于selectusername,statusfromv$sessionwhereusername='CLPMAPP'(3)ActiveUsers:当前正在执行的用户SESSION数--相当于selectusername,statusfromv$sessionwherestatus='ACTIVE'andusername='CLPMAPP'B、Host面板(1)CPU利用率(2)RunQueue如果绿色滚动条达100%,说明cpu瓶颈(3)FreePhysicalRAM物理随机存取内存(4)StealthCollect(server上未安装)收集SQL语句的性能指标C、ServerProcesses面板(1)PGATarget/Used显示PGA目标总数及当前使用数(2)dedicated显示专用服务器进程的个数(3)Shared显示共享服务器进程的个数。(4)Dispatchers显示dispathers的个数(5)parallelquery并发度(6)JobQueue显示作业进程的个数D、SGA面板(1)CurrentSize显示当前sga使用M数(2)BufferCache,KeepPool,RecyclePool显示数据缓冲区的内存情况(3)SharedPool:共享池的使用情况(4)RedoLog:重作日志的使用情况(5)LargePool:大池的使用情况(6)JavaPool:java池的使用情况E、BackgroundProcesses(后台进程)面板(1)DBWR数据写入进程(2)LGWR日志进程(3)ARCH归档进程式F、DiskStorage(磁盘存储)面板(1)DatabaseFiles:显示数据文件使用情况。(2)联机日志文件情况。包括组数及大小。(3)归档日志情况。2)TopSessionsTopSessions(请看上一页的图)•单击列表,会在SessionInformation中显示该会话的所有详细信息,同样可以查看执行计划,是否存在全表扫描;•查看当前哪个Session占用了大量的资源,以此定位数据库问题;•单击“SessionWaits”可以找出与该session相关的等待事件;•单击“SessionLocks”可以显示相关的锁信息;3)TopSQLA、SQL语句过滤器(上一页的图)•通过Parsinguser可筛选某个用户的SQL语句;•通过Minimumexecutions可筛选出那些比较耗时间的SQL语句;•通过Contents可筛选含有某关键字的SQL语句(关键字可以是表名、字段名、orderby等任何SQL语句的字符,但必须是SQL语句的前1000字节);•通过sortby,可让结果按“消耗时间”、“缓冲数”、“磁盘写”等排序•通过descendingorder,可让结果按降序显示;B、所执行的SQL语句(上一页的图)•如果Optimizercost的值较大,可能存在TableAccessFull;•如果Hitrate的值较小,也就是命中率比较低,说明效率较低(一般小于95%);C、SQL语句(上一页的图)•在Operation项中,检查是否存在TableAccessFull全表扫描•点击工具栏的“ShowDescribe”可查看该SQL语句中所有表的索引(请看下图)4)Activity一、LogicalI/O1、Blockchanges-修改数据阻塞2、Currentreads-更新数据阻塞的数目3、Consistentreads-查询数据阻塞的数目二、PhysicalI/O1、Datafilereads读取数据文件的文件数目2、Datafilewrites写入数据文件的文件数目3、Redowrites写入重做日志的文件数目三、Eventwaits1、ContrlFileIO-控制文件的读写等待时间2、Bufferbusy-高速缓存繁忙等待时间3、Other-其他的等待时间4、Singleblockread-单个数据阻塞的等候时间5、Multi-blockread-多个数据阻塞的等候时间6、Directpathread-直接读取的等候时间7、Datafilewrite-数据文件写的等待时间8、Logwrite-日志文件写得等待时间四、Sessions1、Idle-空闲session的数目2、Active-正在运行的session的数目3、System-systemsession的数目五、Callrates1、Parse分析请求执行的SQL语句的调用次数2、Execute-执行的次数3、Commit-提交的调用次数4、Rollback-回滚的调用次数5、Hardparse-分析请求执行的SQL语句,并分配堆栈空间的访问调用次数六、Missrates1、Buffercache-在高速缓存读取不命中率2、SQLarea-向高速缓存请求分析SQL语句的不命中率3、Latch-第一次尝试闭锁请求的不命中率对前面Activity图进行解释•LogicalI/O-每秒逻辑读/写的次数,当我们向数据库作任何的操作,Oracle都会先到SGA中查找一下有没有我们所需要的数据,如有就即时返回,没有再去通过PhysicalI/O来向datafile读数据,从而减少PhysicalI/O的读写•PhysicalI/O-每秒磁盘物理读/写次数,当读/写次数多的时候,I/O设备消耗时间多了,必然导致数据库性能下降对前面Activity图进行解释(续)•如果主要等待事件为bufferbusywait,等待类别为datablock,那么可能是以下原因a、一种是高并发会话在对相同的对象执行DML,同时db_block_size尺寸较大(因同一个块包含更多的行)。b、另外就是多个session并发请求相同的数据块,但因该数据块不在buffer_cache中而必须从磁盘读取,处理这种情况,oracle会只让其中一个sesion进行磁盘读取,此时其它session等待块从磁盘上读取进buffer_cache而抛出bufferbusywait等待事件。另外:根据EventWait,找出相关的问题•查询(select):主要记录以下指标:磁盘读的速度,命中率,Parallelquery,LogicalReads,MissRate,Blockwait。找出读表所需要时间,所建立表的索引是否合理,对缓存区的命中读。•增删改(insert、delete、update):主要记录以下指标:表的表空间,DBWR(N)进程,BufferCache,磁盘写的速度,RollbackSegmentLogicalI/O,LGWR(N)进程,RedoBufferCache,RedoGeneration(重做日志的生成时间),磁盘数据空间大小变化,索引空间的大小变化。找出写表所需要的时间,所建立的表空间是否合理,回滚段的使用情况。另外:根据SQL语句的操作,记录相关的指标Thanks!•部门:测试部•作者:高华•日期:2010-7-20
本文标题:Spotlight+on+oracle的使用与分析
链接地址:https://www.777doc.com/doc-3308098 .html