数据库性能监控之问题发现及解决办法.ppt
文本预览下载声明
Oracle数据库监控 主讲:kevin.zhang 讨论点 性能监控的必要性 数据库常见问题分析 调优工具的历史变迁 诊断的六种方法 监控系统设计 问题及讨论 监控的必要性 是否稳定? 实时状态? 重复故障? 是否扩展? 是否安全? DBA工作现状 数据库常见问题分析 系统问题 程序问题 数据库问题 CPU瓶颈 vmstat -n 3 sar -u 2 10 sar -q 2 10 较小的内存 sga_target pga_aggregate_target Memory_target(11g) I/0吞吐能力 iostat sar –d 2 10 vmstat - wa I/O等待严重 应用程序问题 频繁的建立连接 大量的SQL软,硬解析 session_cached_cursors避免软解析 Value bind 避免硬解析 并发连接问题 过多并发操作,长时间占用共享资源,导致其他会话无法得到需要的资源,锁,缓存而处于等待状,造成应用的无响应现象 数据库配置问题 无常,短暂的性能问题 数据库性能日益下降 效率低或高负载的SQL语句 SQL优化后出现不可意料的性能下降 调优工具的历史变迁 起步阶段(V5) Debug code 小有建树(V6) Counters/Ratio BSTAT/ESTAT SQL*Trace 渐进式发展(V7) 出现了 Wait Event counters向timers的变迁 快速发展(8i) 扩大数据搜集范围 STATPACK 逐步完善(9i) 更精细的收集 - Session tuning using 10046 SQL traces 更加全面的STATSPACK 智能化、自动化开始初现 日渐成熟(10g) 自动化收集 更加广泛的收集 保留一段时间的历史 提供了:ASH, AWR, ADDM, EM等功能调用 形成了越来越完善的性能优化诊断工具 诊断的六种方法 动态性能视图--性能诊断的基础数据来源 v$sysstat v$session v$sessstat v$sgastat v$filestat v$undostat v$waitstat v$lock v$latch v$sql v$librarycache v$processes v$session_longops v$session_wait … … 案例-1:利用的动态性能视图发现占CPU高的数据库用户 SQL: 案例-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.31 USERS 10 1280 8.81 88.1 1.19 11.9 SYSTEM 690 88320 685 99.28 5 0.72 SYSAUX 618.69 79192 586.88 94.86 31.81 5.14 TEMP 54
显示全部