Kaya 发表于 os2ora.com
Automatic Workload Repository是10g引入的一个重要组件。在里面存贮着近期一段时间内,默认是7天,数据库活动状态的详细信息。
AWR报告是对AWR视图进行查询而得到的一份自动生成的报告。可以通过下面的脚本手工得到一份AWR报告。
exec dbms_workload_repository.create_snapshot; ... running the specified workload exec dbms_workload_repository.create_snapshot; @?/rdbms/admin/awrrpt
通过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相关的问题。
如何分析AWR (1)
Kaya 发表于 os2ora.com
如果关注数据库的性能,那么当拿到一份AWR报告的时候,最想知道的第一件事情可能就是系统资源的利用情况了,而首当其冲的,就是CPU。
而细分起来,CPU可能指的是
- OS级的User%, Sys%, Idle%
- DB所占OS CPU资源的Busy%
- DB CPU又可以分为前台所消耗的CPU和后台所消耗的CPU
如果数据库的版本是11g,那么很幸运的,这些信息在AWR报告中一目了然:
OS级的%User为75.4,%Sys为2.8,%Idle为21.2,所以%Busy应该是78.8。
DB占了OS CPU资源的69.1,%Busy CPU则可以通过上面的数据得到:
%Busy CPU = %Total CPU/(%Busy) * 100 = 69.1/78.8 * 100 = 87.69,和报告的87.7相吻合。
如果是10g呢,则需要手工对Report里的一些数据进行计算了。
Host CPU的结果来源于DBA_HIST_OSSTAT,AWR 报告里已经帮忙整出了这段时间内的绝对数据(这里的时间单位是centi second,也就是1/100秒)
这里,
%User = USER_TIME/(BUSY_TIME+IDLE_TIME)*100 = 146355/(152946+41230)*100 = 75.37
%Sys = SYS_TIME/(BUSY_TIME+IDLE_TIME)*100
%Idle = IDLE_TIME/(BUSY_TIME+IDLE_TIME)*100
值得注意的,这里已经隐含着这个AWR报告所捕捉的两个snapshot之间的时间长短了。有下面的公式
BUSY_TIME + IDLE_TIME = ELAPSED_TIME * CPU_COUNT
正确的理解这个公式可以对系统CPU资源的使用及其度量的方式有更深一步的理解。
因此ELAPSED_TIME = (152946+41230)/8/100 = 242.72 seconds
当然,这正确无误。
至于DB对CPU的利用情况,这就涉及到10g新引入的一个关于时间统计的视图了, v$sys_time_model,简单而言,Oracle采用了一个统一的时间模型对一些重要的时间指标进行了记录,具体而言,这些指标包括:
1) background elapsed time 2) background cpu time 3) RMAN cpu time (backup/restore) 1) DB time 2) DB CPU 2) connection management call elapsed time 2) sequence load elapsed time 2) sql execute elapsed time 2) parse time elapsed 3) hard parse elapsed time 4) hard parse (sharing criteria) elapsed time 5) hard parse (bind mismatch) elapsed time 3) failed parse elapsed time 4) failed parse (out of shared memory) elapsed time 2) PL/SQL execution elapsed time 2) inbound PL/SQL rpc elapsed time 2) PL/SQL compilation elapsed time 2) Java execution elapsed time 2) repeated bind elapsed time
我们这里关注的只有和CPU相关的两个: background cpu time 和 DB CPU。
这两个值在AWR里面也有记录:
Total DB CPU = DB CPU + background cpu time = 1305.89 + 35.91 = 1341.8 seconds
再除以总的 BUSY_TIME + IDLE_TIME
% Total CPU = 1341.8/1941.76 = 69.1%,这刚好与上面Report的值相吻合。
其实,在Load Profile部分,我们也可以看出DB对系统CPU的资源利用情况。
用DB CPU per Second除以CPU Count就可以得到DB在前台所消耗的CPU%了。
这里 5.3/8 = 66.25 %
比69.1%稍小,说明DB在后台也消耗了大约3%的CPU,这是不是一个最简单的方法了呢?
相关推荐
AWR(Automatic Workload Repository)是Oracle...总之,"AWR-Format"插件是提升Oracle数据库性能管理效率的一个实用工具,通过其强大的解析和展示功能,可以帮助DBA更高效地分析AWR报告,从而更好地优化数据库性能。
根据提供的文件内容,以下是关于SONY CMOS芯片ISX017-0AWR-C技术数据的相关知识点: 一、产品概述 ISX017-0AWR-C是SONY推出的一款CMOS图像传感器系统级芯片(SoC),适用于彩色摄像机,特别是车载摄像机。该芯片拥有...
"AWR-Format.rar"很可能是一个针对AWR报告进行格式化处理的软件或者脚本集合,帮助用户更方便地理解和分析AWR报告中的数据。 AWR报告是AWR工具的主要输出,它提供了详细的数据库性能统计信息,包括SQL语句的执行...
根据给定的文件信息,我们可以深入探讨Oracle AWR(Automatic Workload Repository)的相关知识点,以及如何进行有效的AWR报告分析。以下将详细解释标题、描述、标签和部分内容中提到的关键概念。 ### AWR分析文档 ...
Oracle AWR 报告分析实例讲解 Oracle AWR 报告是 Oracle 数据库性能分析的重要工具之一,其可以帮助 DBA 快速了解数据库的性能瓶颈,并提供有价值的信息来优化数据库性能。在本文中,我们将从一个实际的 AWR 报告中...
在部署Oracle的机器上,调用shell脚本生成Oracle AWR报告做日常的巡检。
在"AWR-Format-master"这个压缩包文件中,可能包含了该工具的源代码、使用文档、示例报告等资源,使用者可以通过解压并研究这些内容,进一步学习如何使用"AWR FORMAT"来提升自己的数据库管理技能。
AWR报告分析利器 ---兼容10g,11g,12c,18c,19c-附件资源
### 如何分析AWR报告 #### 一、AWR简介 自动工作负载资料库(Automatic Workload Repository,简称AWR)是Oracle 10g及其后续版本中引入的一个功能强大的性能诊断工具。它用于收集数据库运行时的工作负载信息,并...
### ACOUG-如何分析AWR报告 #### AWR概述 AWR(Automatic Workload Repository)作为Oracle 10g引入的重要组件之一,主要用于存储数据库近期内(默认为7天)活动状态的详细信息。通过对AWR视图的查询,可以生成...
Oracle AWR报告深度分析涉及到的关键知识点包括: AWR(Automatic Workload Repository)的定义与重要性: AWR是Oracle数据库中的一个自动监控和诊断工具,它可以收集数据库性能的快照,为数据库管理员(DBA)提供...
AWR 联合ANSYS HFSS 软件进行三维模型仿真,主要涉及操作方法。
Oracle 自带性能分析工具-AWR 介绍和分析报告 Oracle 自带性能分析工具-AWR 是一个强大的性能优化工具,旨在帮助数据库管理员和开发者更好地理解和优化 Oracle 数据库的性能。AWR 全称为 Automatic Workload ...
### ACOUG-如何分析AWR报告 #### AWR概述 AWR(Automatic Workload Repository)作为Oracle 10g引入的重要组件之一,主要用于存储数据库近期内(默认为7天)活动状态的详细信息。通过对AWR视图的查询,可以生成AWR...
Oracle AWR报告详细分析,详细地说明了AWR报告里个统计量含义。
【如何分析AWR】 分析AWR(Automatic Workload Repository)报告是优化Oracle数据库性能的关键步骤。AWR收集了数据库在一段时间内的性能数据,提供了一种评估系统健康状况、瓶颈和性能问题的工具。以下是深入分析...
网络上找的资源 这个文档主要讲解oracle Awr报告分析
- **关闭AWR**:这将停止快照的收集,但会导致无法进行性能分析。 - **减少快照频率**:可以通过修改SNAP_INTERVAL参数来降低快照的生成频率,但这可能导致性能问题的识别不够精确。 - **缩短数据保留期**:调整...