数据库性能监控之问题发现及解决办法课件.ppt

上传人:牧羊曲112 文档编号:1452921 上传时间:2022-11-26 格式:PPT 页数:51 大小:1.38MB
返回 下载 相关 举报
数据库性能监控之问题发现及解决办法课件.ppt_第1页
第1页 / 共51页
数据库性能监控之问题发现及解决办法课件.ppt_第2页
第2页 / 共51页
数据库性能监控之问题发现及解决办法课件.ppt_第3页
第3页 / 共51页
数据库性能监控之问题发现及解决办法课件.ppt_第4页
第4页 / 共51页
数据库性能监控之问题发现及解决办法课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《数据库性能监控之问题发现及解决办法课件.ppt》由会员分享,可在线阅读,更多相关《数据库性能监控之问题发现及解决办法课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、Oracle数据库监控,主讲:kevin.zhang,问题发现及解决方法,1,性能监控的必要性 数据库常见问题分析 调优工具的历史变迁 诊断的六种方法 监控系统设计 问题及讨论,讨论点,2,监控的必要性,是否稳定?实时状态?重复故障?是否扩展?是否安全?,3,DBA工作现状,故障无影无踪,问题得不到根本解决,4,数据库常见问题分析系统问题程序问题数据库问题,5,CPU瓶颈vmstat -n 3sar -u 2 10sar -q 2 10较小的内存sga_targetpga_aggregate_targetMemory_target(11g) I/0吞吐能力iostatsar d 2 10vms

2、tat - wa I/O等待严重,系统问题,6,应用程序问题频繁的建立连接大量的SQL软,硬解析 session_cached_cursors避免软解析Value bind 避免硬解析并发连接问题过多并发操作,长时间占用共享资源,导致其他会话无法得到需要的资源,锁,缓存而处于等待状,造成应用的无响应现象,程序问题,7,8,数据库配置问题无常,短暂的性能问题数据库性能日益下降效率低或高负载的SQL语句SQL优化后出现不可意料的性能下降,数据库问题,9,调优工具的历史变迁,起步阶段(V5)Debug code小有建树(V6)Counters/RatioBSTAT/ESTATSQL*Trace渐进式

3、发展(V7) 出现了 Wait Event counters向timers的变迁,10,快速发展(8i)扩大数据搜集范围STATPACK逐步完善(9i)更精细的收集 - Session tuning using 10046 SQL traces更加全面的STATSPACK智能化、自动化开始初现日渐成熟(10g)自动化收集更加广泛的收集 保留一段时间的历史提供了:ASH, AWR, ADDM, EM等功能调用形成了越来越完善的性能优化诊断工具,11,诊断的六种方法,动态性能视图-性能诊断的基础数据来源v$sysstatv$sessionv$sessstatv$sgastatv$filestatv

4、$undostatv$waitstatv$lockv$latchv$sqlv$librarycachev$processesv$session_longops v$session_wait ,12,案例-1:利用的动态性能视图发现占CPU高的数据库用户SQL:,SELECT n.username, s.sid, s.value, FROM v$sesstat s, v$statname t, v$session n WHERE s.statistic#=t.statistic# AND n.sid=s.sid AND t.name=CPU used by this session ORDER

5、BY s.value DESC;,13,案例-2:数据库表空间监控SQL:见备注结果:TABLESPACE_NAME SUM_SPACE(M) SUM_BLOCKS USED_SPACE(M) USED_RATE(%) FREE_SPACE(M) FREE_RATE(%)- - - - - - -UNDOTBS1 65 8320 37.5 57.69 27.5 42.31USERS 10 1280 8.81 88.1 1.19 11.9SYSTEM 690 88320 685 99.28 5 0.72SYSAUX 618.69 79192 586.88 94.86 31.81 5.14TEMP

6、 54 6912 54 100 0 0,14,等待事件性能优化的核心v$system_event / v$session_event / v$session_wait竞争即等待从v$system_event中发现系统问题从v$session_event中发现会话问题从v$session_wait的参数中找到竞争对象,15,主要等待事件缓冲区忙等待db file scattered readdb file sequential readfree buffer waitslatch freeeng:TX-row block contention,16,缓冲区忙等待常见原因是对属于表和索引的数据块的

7、争用,以及对段头的争用也可能发生在回退段和回退段块的争用SQL 定位争用发生的位置 SELECT class, count FROM v$waitstat WHERE count 0 ORDER BY count DESC;,17,db file scattered read全表扫描或索引快速扫描V$FILESTATphyrds Phyblkrddb file sequential read索引读或者等待物理I/O调用返回时在统计数据极大的情况下,结合磁盘I/O分析,18,free buffer waits数据写入进程跟不上对缓冲区高速缓存的请求诊断SGAdb_writer_processes

8、latch free wait eventlatch 保护SGA中共享数据结构shared pool latch cache buffers LRU chain,19,STATPACK快速定位全面分析,20,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_STAT

9、ISTICS = True,21,STATPACK 内容,22,Oracle 10g 新诊断工具ASH 活动会话历史记录v$active_session_historyAWR 自动负荷信息库dba_hist_*ADDM 以AWR为基础,输出对性能问题的描述及建议的解决方法ADDR,23,Active Session History每秒钟自动从内存中获取的活动会话信息,不保存通过ashrpt.sql可以产生ash分析报告,发现某个时段的TOP值(Top Events/ Top SQL/ Top Sessions/ Top Objects/Files/Latches)SQL:找到157会话当前执行

10、的SQL语句 select a.sql_text from v$sql where sql_id in (select sql_id from v$active_session_history where session_id=157);,查找数据库的瞬间问题,24,示例-ASH 报告,25,示例-ASH 报告 continue,26,示例-ASH 报告 continue,27,Automatic Workload Repository-自动负荷信息库,AWR是Oracle 10g及以后版本数据库自动化管理的基础架构自动捕获工作负载数据默认情况下,每隔 60 分钟保存一次,或者手动保存 7 天

11、的数据dba_hist_*存储在新SYSAUX 表空间内服务器自动管理空间要求自动清除旧数据存储不同类别的数据:基本统计,例如物理读取SQL 统计,例如磁盘读取(每个 sql 语句)量度,例如,物理读取数量/秒通过awrrpt.sql可以产生与statspack类似的性能差异报告,28,示例-AWR 报告,29,示例-AWR 报告 continue,30,Automatic Database Diagnostic Monitor,SQLAdvisor,High-load SQL,IO / CPU issues,RAC issues,Snapshots inAutomatic WorkloadR

12、epository,System Resource Advice,Network + DB config Advice,Self-Diagnostic Engine inside DB,31,ADDM诊断的关键问题高代价的SQL语句I/O性能问题锁定和并发问题额外的解析资源瓶颈过少的内存分配连接管理问题,如频繁登陆/注销活动,32,ADDM 分析结果Statistics_level (typical 或者all)dbms_advisor.get_task_report SELECT dbms_advisor.get_task_report( task_name,TEXT,ALL) FROM d

13、ba_advisor_tasks WHERE task_id=(SELECT max(t.task_id) FROM dba_advisor_tasks t, dba_advisor_log l WHERE t.task_id=l.task_id AND t.advisor_name=ADDM AND l.status=COMPLETED $ORACLE_HOME/rdbms/admin/addmrpt.sql,33,示例-ADDM 报告,34,示例-ADDM 报告 continue,35,Automatic Database difference Report基于基线的理念,对比比单纯的报告

14、更能够说明问题比基线更灵活,产生报告时随意选择对比基线通过awrddrpt.sql可以获取性能异常时间与正常时间段AWR报告的对比值,能够快速发现性能差异,从而定位问题,36,示例-ADDR 报告,37,提示(hints)Oracle很强大的工具,优化SQL的利器,能够强制SQL的执行算法,确保SQL执行按照我们希望的执行计划。典型的hitsFIRST_ROWS, ALL_ROWS ,RULEFULL(tab) INDEX( tab index ) NO_INDEX ( tab index ) USE_NL(tab)USE_MERGE(tab.) USE_HASH(tab1 tab2)PARA

15、LLEL ( table, , ),38,监控架构,主机与数据库性能数据,收集层,数据分析,建立监控,分析层,展示层,39,架构图,DB Server,Monitor Server,辅助服务器,Monitor Center,监控数据流,40,收集层,Agent Shell+Crontab监控数据:系统磁盘状态表空间状态信息 系统负载,数据库负载CPU使用率Oracle Alert日志OS日志采集数据传输SSH 节点间通信信任,41,分析层,邮件报警sendmail短信报警飞信API数据分析Shell脚本,42,标准接口架构,统一的数据结构统一的接口程序短信报警邮件报警文件传输文件同步rsync + crontabscc,43,标准接口架构 图示,接口程序或配置文件,接口程序,Monitor Server,接口程序或配置文件,44,展示层,公共接口Mobile PhoneE-mailWeb展示Nagio 系统服务状态 开发监控插件Cacti 走势图,45,Nagio,46,Cacti,47,淘宝数据库监控平台,48,SQL维度分析,49,Q & A,50,谢谢!,51,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号