篇一 :awr分析报告详解

Awr -Oracle10g新特性—工作量自动收集-性能调优        

        当数据库发生了性能问题时,如何去定位?比较常用的方法是采用一个既定的模式:解决诸如“是不是同一问题的再现?”、“是否在某一特殊时间段发生?”、“两个问题之间是否存在联系?”等问题,这样通常能得到一个比较好的诊断结果。作为一个DBA,你可能使用一个第三方或者自己开发的工具来收集数据库运行期间的精细统计数据,并从中得到性能度量数据。你需要将这些发生问题时的度量数据与当前数据进行比较。重现以前的时间能使现在的问题变得明朗。因此,持续的收集相关统计数据对于性能分析来说十分重要。在某些情况下,在解决收集统计数据这方面的问题上有自己内置的工具——statspack。尽管在某些情况下的作用非常大,但它缺乏解决性能问题所必须的健壮性。提供了一个标志性的改进特性:自动工作量存储(Automatic Workload Repository AWR)。AWR是随着数据库一起被安装的,它不仅能收集统计数据,还能从统计数据中分析出度量数据。

        通过运行$ORACLE_HOME/rdbms/admin目录下的awrrpt.sql脚本可以生产AWR从统计和度量数据中分析报告。这个分析报告最能体现出AWR的性能分析能力。这个脚本看起来很像statspack,它会列出所有可用的AWR快照并要求输入两个特定的快照编号作为一个间隔段。它能产生两种类型的输出:文本格式(除了AWR统计信息外和statspack报告基本类似)和默认的格式(通过超连接等方式来提供一个友好的界面)。下面来运行以下这个脚本,对它产生的分析报告及AWR的性能分析能力做一个认识。

…… …… 余下全文

篇二 :awr报告分析

Oracle 10g AWR 报告分析

转自:http://space.itpub.net/35489/viewspace-604963

1.1.1.SQLordered by Elapsed Time:

   记录了执行总和时间的TOP SQL(请注意是监控范围内该SQL的执行时间总和,而不是单次SQL执行时间ElapsedTime= CPUTime+Wait Time)。

SQL ordered by Elapsed Time

  • Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
  • % Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100

  Elapsed Time(S): SQL语句执行用总时长,此排序就是按照这个字段进行的。注意该时间不是单个SQL跑的时间,而是监控范围内SQL执行次数的总和时间。单位时间为秒。ElapsedTime= CPUTime+Wait Time

  CPU Time(s): 为SQL语句执行时CPU占用时间总时长,此时间会小于等于Elapsed Time时间。单位时间为秒。

 Executions: SQL语句在监控范围内的执行次数总计。

 Elap per Exec(s):执行一次SQL的平均时间。单位时间为秒。

 % Total DB Time: 为SQL的Elapsed Time时间占数据库总时间的百分比。

…… …… 余下全文

篇三 :oracle awr报告生成与分析

oracle awr报告生成与分析

Automatic Workload Repository(AWR)是10g引入的一个重要组件。

在里面存贮着近期一段时间内(默认是7天)数据库活动状态的详细信息。

1、生成awr报告

以oracle用户登录

sqlplus / as sysdba

@?/rdbms/admin/awrrpt.sql

2、分析报告

SQL ordered by Elapsed Time

Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.

% Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100

Elapsed Time (s)CPU Time (s)Executions Elap per Exec (s) % Total DB TimeSQL IdSQL ModuleSQL Text

Elapsed Time(S) : SQL 语句执行用总时长,此排序就是按照这个字段进行的。注意该时间不是单个SQL 跑的时间,而是监控范围内SQL 执行次数的总和时间。单位时间为秒。Elapsed Time = CPU Time + Wait Time

CPU Time(s) : 为SQL 语句执行时CPU 占用时间总时长,此时间会小于等于Elapsed Time 时间。单位时间为秒。

Executions : SQL 语句在监控范围内的执行次数总计。

Elap per Exec(s): 执行一次SQL 的平均时间。单位时间为秒。

…… …… 余下全文

篇四 :Oracle 生成awr分析报告步骤

Oracle 生成awr分析报告步骤

1.打开命令行,进本地的oracle目录的RDBMS下ADMIN目录,如D:\app\Lenovo\product\11.2.0\dbhome_1\RDBMS\ADMIN

2.输入sqlplus sys/oracle@product as sysdba

3.输入@awrrpt,回车,num_days提示这里输入1回车,之后会列出快照

4.接下来输入开始snap ID,回车后提示输入 end_snap

5.输入完回车,然后在回车

6.这个awrrpt_1_82412_82413.html文件就是,在之前的oracle目录的RDBMS下ADMIN目录下找

…… …… 余下全文

篇五 :教你如何生成oracle的awrrpt报告

Oracle性能分析入门学习中,遇到Oracle数据库的性能问题,一般首要的步骤就是导出AWR的分析报告,AWR是10g中新引入的一个工具,在这之前一般是利用statspack。要导出AWR报告,只要利用Oracle的一个脚本即可以完成,下面是我利用script录制的一段导出AWR report的过程。

首先进入$ORACLE_HOME/rdbms/admin目录,在sqlplus下运行@awrrpt脚本,按照提示一步一步就可以达成,导出的格式有两种,txt格式和html格式。

在OTN上,有一个DBA新feature系列,第六周就是专门讲的这个feature,大家可以去那里了解一下(中文的)

Script started on Sun 27 Jan 2008 08:47:15 PM PST

[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ cd

$ORACLE_HOME/rdbms/admin

[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jan 27 20:47:38 2008 Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining

…… …… 余下全文

篇六 :用两种方法生成awr报告

/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql脚本生成awr报告

在SQL环境执行:SQL> @/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql

输入报告类型:html或text

输入要生成报告的天数,缺省是7天

列出最近7天的快照

用两种方法生成awr报告

用两种方法生成awr报告

输入开始的快照id,如:3038

输入结束的快照id,如3063

指定生成报告的名称:本次默认是

用两种方法生成awr报告

用两种方法生成awr报告

用两种方法生成awr报告

用两种方法生成awr报告

按Enter键默认

最后生成

默认保存在/home/oracle路径下

登陆EM

切换到“性能”

“快照”

用两种方法生成awr报告

用两种方法生成awr报告

用两种方法生成awr报告

用两种方法生成awr报告

选择起始快照

查看报告

选择结束快照

用两种方法生成awr报告

用两种方法生成awr报告

用两种方法生成awr报告

点击确定,生成报告

用两种方法生成awr报告

…… …… 余下全文

篇七 :oracle awr检查报告

oracle awr检查报告

1. 报告采集说明

Awr报告可以总体反映oracle数据库的信息和运行情况,帮助快速定位数据库问题。 建议生成业务高峰时段报告,如:8:00 -17:00

2. 生成awr报告方式:

在服务器上以sysdba用户登录数据库

sqlplus / as sysdba

运行以下脚本

SQL>@?/rdbms\admin\awrrpt

Current Instance

~~~~~~~~~~~~~~~~

DB Id DB Name Inst Num Instance

----------- ------------ -------- ------------

1265912605 ORCL 1 orcl

Specify the Report Type

~~~~~~~~~~~~~~~~~~~~~~~

Would you like an HTML report, or a plain text report?

Enter 'html' for an HTML report, or 'text' for plain text Defaults to 'html'

Enter value for report_type: --回车,选择默认生成html格式

Type Specified: html

Instances in this Workload Repository schema

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Id Inst Num DB Name Instance Host

------------ -------- ------------ ------------ ------------

…… …… 余下全文

篇八 :AWR分析报告解析

AWR分析报告解析

定义:awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。

一、      如何分析:

在看awr报告的时候,我们并不需要知道所有性能指标的含义,就可以判断出问题的所在,这些性能指标其实代表了oracle内部实现,对oracle理解的越深,在看awr报告的时候,对数据库性能的判断也会越准确

在看性能指标的时候,心里先要明白,数据库出现性能问题,一般都在三个地方,io,内存,cpu,这三个又是息息相关的(ps:我们先假设这个三个地方都没有物理上的故障),当io负载增大时,肯定需要更多的内存来存放,同时也需要cpu花费更多的时间来过滤这些数据,相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io或内存有关系了。

当我们把一条sql送到数据库去执行的时候,我们要知道,什么时候用到cpu,什么时候用到内存,什么时候用到io ? 

1. cpu:解析sql语句,尝试多个执行计划,最后生成一个数据库认为是比较好的执行计划,不一定是最优的,因为关联表太多的时候,数据库并不会穷举所有的执行计划,这会消耗太多的时间,oracle怎么就知道这条数据时你要,另一个就不是你要的呢,这是需要cpu来过滤的。

2. 内存:sql语句和执行计划都需要在内存保留一段时间,还有取到的数据,根据lru算法也会尽量在内存中保留,在执行sql语句过程中,各种表之间的连接,排序等操作也要占用内存   

3. io:如果需要的数据在内存中没有,则需要到磁盘中去取,就会用到物理io了,还有表之间的连接数据太多,以及排序等操作内存放不下的时候,也需要用到临时表空间,也就用到物理io了。

…… …… 余下全文