一、自动工作负载库(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性能报告的更多相关文章

  1. Oracle 11g AWR 系列五:如何生成 AWR 报告?

    1.生成单实例 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpt.sql 2.生成 Oracle RAC AWR 报告: @$ORACLE_HOME/rdbms/adm ...

  2. Oracle 11g AWR生成报告

    1.生成单实例 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpt.sql 2.生成 Oracle RAC AWR 报告: @$ORACLE_HOME/rdbms/adm ...

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

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

  4. ORACLE AWR性能报告和ASH性能报告的解读

    数据库的性能分析可分为会话级和系统级:如果确定某个会话存在性能问题,最常见的分析方式是对这个会话做一个SQL_TRACE或者10046事件,通过分析trace文件来定位问题所在.如果无法确定哪个会话性 ...

  5. oracle中awr性能报告阅读笔记

    1.对于数据库运行的业务不太了解,那么awr性能报告中最需要关注的是Top 5 Timed Foreground Events和Time Model Statistics两个部分

  6. Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)

    Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...

  7. 盘点 Oracle 11g 中新特性带来的10大性能影响

    Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...

  8. oracle ash性能报告的使用方法

    活动会话历史报告活动会话历史v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待 ...

  9. Oracle 11g R2性能优化 tkprof

    另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...

随机推荐

  1. Sublime Text 2 配置

    设置Python的Tab缩进为四个空格,打开一个Py文件 # Preferences---->Settings-More---->Syntax Specific-User # 贴入如下代码 ...

  2. HDU 5943 Kingdom of Obsession

    题意:n个人编号为[s+1, s+n],有n个座位编号为[1,n],编号为 i 的人只能坐到编号为它的约数的座位,问每个人是否都有位置坐. 题解:由于质数只能坐到1或者它本身的位置上,所以如果[n+1 ...

  3. Webview 与h5的交互

    步骤:H5代码   <html>   <head>   <meta charset="UTF-8">   <title>交互Demo ...

  4. Servlet基本模式

    一.首先用Myeclipse2015创建一个web项目,然后修改index.jsp. <%@ page language="java" import="java.u ...

  5. SQL2005:SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法

    SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务- ...

  6. Lab_1_SysOps_Compute_Linux_v2.5

    System Operations - Lab 1: Creating Elastic Compute Cloud (Amazon EC2) Instances (Linux) - 2.5 ===== ...

  7. Win7 远程桌面 错误代码:5 异常处理(您的远程桌面会话即将结束 此计算机的虚拟内存可能不足。请关闭其他程序,然后重试连接远程计算机。如果问题仍然存在,请联系网络管理员或技术支持。)

    问题表现: 在用windows7 远程桌面连接其他电脑时,出现错误提示对话框—-标题为“严重错误(错误代码:5)”,内容为“您的远程桌面会话即将结束 此计算机的虚拟内存可能不足.请关闭其他程序,然后重 ...

  8. IOS中图片拉伸技巧与方法总结(转载)

    以下内容转载自:http://my.oschina.net/u/2340880/blog/403996 IOS中图片拉伸技巧与方法总结 一.了解几个图像拉伸的函数和方法 1.直接拉伸法 简单暴力,却是 ...

  9. 互斥锁(Mutex)

    互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它.互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 函数://创建一个处于未获取状态的互斥锁Public ...

  10. CPS冥想 - 1 重新审视CPS

    这篇文章是在阅读Eric Lippert大神的MSDN Blog文章时同步写成的,其中主要是各种翻译,同时还混杂自己阅读文章的笔记和感想. 原博文地址 http://blogs.msdn.com/b/ ...