Oracle 11g AWR和ADDM性能报告
一、自动工作负载库(Automatic Workload Repository,AWR)
自动工作负载库(Automatic Workload Repository,AWR)是在Oracle公司提供的一个工具。AWR来可以自动收集、处理、并保存性能统计结果,这种统计数据存放在内存中并随后存储在数据库中,这些数据既能在报告中显示也可以通过视图查询。可以协助我们找出Oracle的性能瓶颈。
AWR收集和处理的统计数据包括:
- 对象统计,用于确定数据库段(表、索引…)的访问情况
- 基于时间的统计:数据库活动统计,这些统计参数通过V$SYS_TIME_MODEL和V_SESS_TIME_MODEL 查询;
- 系统统计:基于系统和会话的统计,这些统计数据可以通过V$SYSSTAT和V$SESSTAT 查询。
- SQL统计:系统中造成高的负载的SQL,这些SQL使用了长的执行时间和CPU时间;
- 激活会话历史(ASH)统计:激活会话信息的历史记录,记录了最近的会话活动历史
AWR将每小时自动抓取一次性能统计数据,并将抓取的性能快照记录在工作载荷记录的代理表中。AWR快照也可以人工创,只是通常不必要这样做。快照抓取后,抓取的结果将由自动数据库诊断监视器( ADDM )分析。
在AWR抓取SQL信息时,AWR将比较以前抓取的SQL语句对性能的影响,并据此有目的的捕捉SQL语句,因此这样的做法减少了需要捕捉的SQL语句。
自动工作负载库(AWR)快照将存储在数据库中,这需要存储空间,其存储空间占用取决于下面的几个因素:
- 当前连接Oralce的激活会话的数目,数目越多,则AWR信息越多;
- AWR快照抓取间隔,默认一小时抓取一次。抓取频率增加,则存储空间占用越多。
- 历史数据的保持期限。显然,保留时间越长,空间占用越多。
缺省的快照捕捉间隔为每小时一次,记录在数据库中保存7天。调整自动工作负载库(AWR) 的快照间隔和保持时期,则其空间占用将降低。但当减少保持期时,例如自动数据库诊断监视器(ADDM)、SQL调节顾问、重做顾问、段顾问等。
为了统计结果尽可能客观、尽可能反映真正的业务载荷分布情况,我们最好将AWR保持期延伸到业务系统运行的一个完整周期。例如,如果业务系统的作业特点是周一到周五作业务,周六、日进行报表操作,则7天是你完整的一个工作周期。同理,你的工作周期可能是一个月,一个季度。由于存储介质的造价在目前的数据库系统环境中已经算是很小的一部分,因此,AWR统计的存储代价并不很高,以存储至少一个业务周期为宜。
1、AWR的启用
默认情况下Oralce启用数据库统计收集功能,可使用
SQL> show parameter statistics_level
NAME TYPE VALUE
statistics_level string TYPICAL
如果statistics_level的值为TYPICAL或者ALL,表示启用AWR; 如果statistics_level的值为BASIC,表示禁用AWR
2、查看当前的AWR保存策略
select * from dba_hist_wr_control;
DBID,SNAP_INTERVAL,RETENTION,TOPNSQL
860524039,+00 01:00:00.000000,+07 00:00:00.000000,DEFAULT
以上结果表示,每小时产生一个SNAPSHOT,保留7天
调整AWR产生snapshot的频率和保留策略,如:如将收集间隔时间改为30 分钟一次。并且保留5天时间(注:单位都是为分钟):
dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);
3、手工创建一个快照
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
4、查看快照
select * from sys.wrh$_active_session_history
5、产生AWR报告
AWR报告其实就是一张数据库健康体检表,它显示了数据库健康的各项指标需要sysdba权限
1.生成整个数据库的AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
2.生成 Oracle RAC AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrgrpt.sql
3.生成 RAC 环境中特定数据库实例的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrrpti.sql
4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:
@$ORACLE_HOME/rdbms/admin/awrgrpti.sql
5.生成 SQL 语句的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql
6.生成特定数据库实例上某个 SQL 语句的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql
--生成 AWR 时段对比报告
7.生成单实例 AWR 时段对比报告
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
9.生成 Oracle RAC AWR 时段对比报告
@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql 生成AWR的全过程:二、性能检测器 (Automatic Database Diagnostic Monitor ADDM)
http://www.cnblogs.com/hibernate315/archive/2010/05/28/2399259.html
Oracle 11g AWR和ADDM性能报告的更多相关文章
- Oracle 11g AWR 系列五:如何生成 AWR 报告?
1.生成单实例 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpt.sql 2.生成 Oracle RAC AWR 报告: @$ORACLE_HOME/rdbms/adm ...
- Oracle 11g AWR生成报告
1.生成单实例 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpt.sql 2.生成 Oracle RAC AWR 报告: @$ORACLE_HOME/rdbms/adm ...
- 理论实践:循序渐进理解AWR细致入微分析性能报告
1. AWR 概述 Automatic Workload Repository(AWR) 是10g引入的一个重要组件.在里面存贮着近期一段时间内(默认是7天)数据库活动状态的详细信息. AWR 报告是 ...
- ORACLE AWR性能报告和ASH性能报告的解读
数据库的性能分析可分为会话级和系统级:如果确定某个会话存在性能问题,最常见的分析方式是对这个会话做一个SQL_TRACE或者10046事件,通过分析trace文件来定位问题所在.如果无法确定哪个会话性 ...
- oracle中awr性能报告阅读笔记
1.对于数据库运行的业务不太了解,那么awr性能报告中最需要关注的是Top 5 Timed Foreground Events和Time Model Statistics两个部分
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- 盘点 Oracle 11g 中新特性带来的10大性能影响
Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...
- oracle ash性能报告的使用方法
活动会话历史报告活动会话历史v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待 ...
- Oracle 11g R2性能优化 tkprof
另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...
随机推荐
- asp.net 自定义控件
在Visual Studio中,所有的ASP.NET 2.0控件都是自定义控件,创建自己的自定义控件一般需要完成以下三步.(1)在站点APP_Code下创建一个新类:(2)修改这个类,让它成为WebC ...
- poj3592 强连通+记忆化搜索
题意:有一片 n*m 的矿地,每一格有矿.或这传送门.或者挡路岩石.除了岩石不能走以外,其他的格子都能够向右或向下走,走到一个非岩石的格子.对于每一个矿点,经过它就能得到它的所有矿石,而对于每一个传送 ...
- python编码-2
字典 >>> aa={} >>> aa['wo']=[1,2,3,4] >>> aa['ni']=[5,6,7,8] >>> a ...
- [转载]QQ空间技术架构之深刻揭密
1. 拥有5.5亿的活跃用户 2. 过万台的设备 3. 数千万级别的同时在线 4. 数十亿级别的全站PV 5. P级的UGC存储量 6. 每天千亿级别的服务请求 图1--QQ空间海量服务数据规模 接下 ...
- DB设计原则(二)如何拆、分表
不要盲目为了减少表的数量,而使某一张表的字段过多,而导致表冗余列存在
- LayoutInflater.java (android-19)
/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- 第四周psp
10号 类别c 内容c 开始时间s 结束e 中断I 净时间T GUI 查资料 12:10 12:40 0m 30m GUI 安装QT 19:10 21:00 20m 90m GUI 学习QT 23:0 ...
- Extjs 4.2 Grid增删改及后台交互(Java)
上次发了Easyui Datagrid的增删改查的使用学习记录后一直想整理下基于Extjs4.2的Grid学习使用记录.苦于抽不出时间,一直拖到现在.不得不说,Extjs确实很强大,新版的Neptun ...
- java日期比较,日期计算
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...
- C#中的 正则表达式
String 类包括许多字符串搜索和替换方法,当你要在较大字符串中定位文本字符串时,可以使用这些方法. 当你希望在较大字符串中定位若干子字符串之一时,或者当你希望在字符串中标识模式时,正则表达式最有用 ...


二、性能检测器 (Automatic Database Diagnostic Monitor ADDM)