理论实践:循序渐进理解AWR细致入微分析性能报告

 

AWR是Oracle数据库中一个非常重要的诊断工具,通过度量而展现问题,每一个DBA都应当深入理解这其中的知识,本文通过讲解和分析,展示AWR分析的过程。...



黄凯耀 (Kaya) ACOUG核心会员,高级技术专家
曾经工作于Oracle Real World Database Performance Group,一个隶属于Oracle公司总部数据库产品管理的核心团队。大学及研究生时期专注于Linux应用开发和Linux内核开发工作。编辑手记:AWR是Oracle数据库中一个非常重要的诊断工具,通过度量而展现问题,每一个DBA都应当深入理解这其中的知识,本文通过讲解和分析,展示AWR分析的过程。概述:本篇文章重点对 AWR 报告中的 DB Time、DBCPU、IO 等数据进行了说明,可帮助读者更加清楚的理解这些数据代表的含义,与数据库的性能表现有何关系。同时通过两个简短的例子,实践如何分析 AWR 报告。

1. AWR 概述

Automatic Workload Repository(AWR) 是10g引入的一个重要组件。在里面存贮着近期一段时间内(默认是7天)数据库活动状态的详细信息。

AWR 报告是对 AWR 视图进行查询而得到的一份自动生成的报告。可以通过下面的脚本手工得到一份 AWR 报告。
通过 AWR 和 AWR 报告,DBA 可以容易地获知最近数据库的活动状态,数据库的各种性能指标的变化趋势曲线,最近数据库可能存在的异常,分析数据库可能存在的性能瓶颈从而对数据库进行优化。

AWR 报告所有的数据来源于 AWR 视图,即以 DBA_HIST_开头的所有系统表,Database Reference 有对所有这些系统表的描述,这应该是 Oracle 官方对 AWR 报告的官方注释了。而对于如何有效地去分析 AWR 报告,这可能更需要 DBA 经验的日积月累。

AWR的前身是Statspack,Statspack在10g和11g中也有提供,同时和AWR一起做了同步更新,而且Statspack是公开源代码的,因此,关于Statspack的资料,还有Statspack的源代码,都是理解AWR的一个有用的辅助。

本文着重对AWR中的一些要点进行剖析,欢迎一起讨论AWR相关的问题。

2.  DB CPU - CPU负载分析

如果关注数据库的性能,那么当拿到一份 AWR 报告的时候,最想知道的第一件事情可能就是系统资源的利用情况了,而首当其冲的,就是 CPU。

而细分起来,CPU 可能指的是:

  1. OS 级的 User%,Sys%, Idle%
  2. DB 所占 OS CPU 资源的 Busy%
  3. DBCPU 又可以分为前台所消耗的 CPU 和后台所消耗的 CPU


如果数据库的版本是11g,那么很幸运的,这些信息在AWR报告中一目了然:
 


六一快乐 | 云和恩墨大讲堂电子期刊第六期

风云再起:美500强Oracle利润率IT类第一

Oracle 12.2:Sharding 新特性揭秘

用SQL解一道数学题:Gauss和Poincare

Oracle 12c ASM 防火防盗新特性揭秘

DBA入门之路:学习与进阶之经验谈
资源下载
关注本微信(OraNews)回复关键字获取

2016DTCC, 2016数据库大会PPT;

DBALife,"DBA的一天"精品海报大图;

12cArch,“Oracle 12c体系结构”精品海报;

DBA01,《Oracle DBA手记》第一本下载;

YunHe,“云和恩墨大讲堂”案例文档下载;


    关注 Oracle


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册