现在我们稍微详细地了解一下刚才所说内容。

1. ash占用的内存大小

ASH的采集信息保存在内存中,在旧的信息被采样到AWR中后,可被新采集的信息覆盖,重启oracle后该信息被清除。分配给ASH的内存大小可以查询到:

SQL> select pool, name, bytes/1024/1024 From v$sgastat where name like '%ASH %';

POOL NAME BYTES/1024/1024

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

shared pool ASH buffers 2

2. AWR更正

为了便于描述和理解,在第一部分中,我们说AWR就是保存ASH中的信息。

其实,AWR记录的信息不仅是ASH,还可以收集到数据库运行的各方面统计信息和等待信息,用以诊断分析。

AWR的采样方式是,以固定的时间间隔为其所有重要的统计信息和负载信息执行一次采样,并将采样信息保存在AWR中。

可以这样说:ASH中的信息被保存到了AWR中的视图wrh$_active_session_history中。ASH是AWR的真子集。

3. mmon进程与mmnl进程

快照由一个称为 MMON 的新的后台进程(及其从进程)以及MMNL后台进程自动地每隔固定时间采样一次。我们先来看一下10g的概念指南中对这两个新增加的后台进程的介绍:

* MMON进程负责执行多种和管理相关(manageability-related)的后台任务,例如:

* 当某个测量值(metrics)超过了预设的限定值(threshold value)后提交警告

* 创建新的 MMON 隶属进程(MMON slave process)来进行快照(snapshot)

* 捕获最近修改过的 SQL 对象的统计信息

* MMNL进程负责执行轻量级的且频率较高的和可管理性相关的后台任务,例如捕获会话历史信息,测量值计算等。

AWR的采样工作由MMON进程每个1小时执行一次,ASH信息同样会被采样写出到AWR负载库中。虽然ASH buffer被设计为保留1小时的信息,但很多时候这个内存是不够的,当ASH buffer写满后,另外一个后台进程MMNL将会主动将ASH信息写出。

4. SYSAUX表空间

这些采样数据都存储在SYSAUX表空间中,并且以WRM$_* 和 WRH$_*的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。

SQL> select table_name from dba_tables where table_name like 'WRM$%';

TABLE_NAME

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

WRM$_WR_CONTROL

WRM$_SNAP_ERROR

WRM$_SNAPSHOT

WRM$_DATABASE_INSTANCE

WRM$_BASELINE

当SYSAUX表空间满后,AWR将自动覆盖掉旧的信息,并在警告日志中记录一条相关信息:

ORA-1688: unable to extend table SYS.WRH$_ACTIVE_SESSION_HISTORY partition WRH$_ACTIVE_3533490838_1522 by 128 in tablespace SYSAUX

5. 采样频率和保留时间

可以通过查询视图dba_hist_wr_control或(wrm$_wr_control)来查询AWR的采样频率和保留时间。默认为每1小时采样一次,采样信息保留时间为7天。

SQL> select * from dba_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL

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

1148 +00000 00:1 +00007 00:0 DEFAULT

SQL> select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from wrm$_wr_control;

DBID SNAP_INTERVAL SNAPINT_NUM RETENTION

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

1160732652 +00000 01:00:00.0 3600 +00007 00:00:00.0

6. 采样数据量

由于数据量巨大,把所有ASH数据写到磁盘上是不可接受的。一般是在写到磁盘的时候过滤这个数据,写出的数据占采样数据的10%,写出时通过direct-path insert完成,尽量减少日志生成,从而最小化数据库性能的影响。

7. 初始化参数statistics_level

AWR的行为受到参数STATISTICS_LEVEL的影响。这个参数有三个值:

* BASIC:awr统计的计算和衍生值关闭.只收集少量的数据库统计信息.

* TYPICAL:默认值.只有部分的统计收集.他们代表需要的典型监控oracle数据库的行为.

* ALL : 所有可能的统计都被捕捉. 并且有操作系统的一些信息.这个级别的捕捉应该在很少的情况下,比如你要更多的sql诊断信息的时候才使用.

oracle手工收集awr报告_WHAT——什么是AWR?相关推荐

  1. oracle手工收集awr报告_oracle手工生成AWR报告方法记录-阿里云开发者社区

    AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告 ...

  2. oracle awr报告生成_分享AWR报告的生成和简单分析方法

    生成AWR报告方法: 第一步:数据库压力测试卡开始时:生成第一个快照: Sql>exec dbms_workload_repository.create_snapshot(); 第二步:数据库压 ...

  3. oracle10g生成awr报告,oracle 10g awr报告生成步骤及awr报告分析

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

  4. awr报告 解读_Oracle的AWR报告分析

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

  5. awr报告 解读_「awr」AWR报告关于DB Time的解读 - seo实验室

    awr oracle DB Time是从时间角度剖析数据库性能的指标.将性能问题定位在耗费时间最多的事件或sql语句上.优化的目的便是:减少用户花在数据库上的时间,或减少DB Time. 1. ora ...

  6. oracle 删除awr报告,学习笔记:Oracle awr入门 深入了解AWR报告

    天萃荷净 深入了解AWR报告,ASH与AWR报告的官方说明,数据库进程和性能视图获取 1.AWR与ASH概念 1.ASH 若是一个普通的会话(我是指没有大量地耗费资源),则对于性能调整来说无足轻重.但 ...

  7. oracle怎么出出awr报告,如何在Oracle中生成AWR报告

    在本文中,我将介绍一些在Oracle中为不同目的生成AWR报告的方法.DBA应该知道可以生成两种类型的AWR报告.一种是单实例报告,另一种是群集数据库报告. 什么是自动工作量存储库(AWR)?AWR是 ...

  8. 达梦数据库生成AWR报告

    数据库快照是一个只读的静态的数据库.DM快照功能是基于数据库实现的,每个快照是基于数据库的只读镜像.通过检索快照,可以获取源数据库在快照创建时间点的相关数据信息. 为了方便管理自动工作集负载信息库AW ...

  9. 手工收集awr报告_一个Oracle小白的AWR报告分析(一)

    背景:某个类似准实时的数据分析系统,每15分钟从其他6个数据库中抽取五百张增量数据表,并进行15分钟粒度统计,同时有个前端门户进行查询. 该数据分析系统由数据抽取服务器.应用服务器.数据库服务器组成, ...

最新文章

  1. 颜色空间转换 cvtColor()[OpenCV 笔记13]
  2. 从零开始山寨Caffe·拾:IO系统(三)
  3. Android onConfigurationChanged 收不到回调
  4. (原创)我对未来的人类的发展,以及AI技术发展的一些思考。
  5. 太极图正确画法_小小太极图,暗藏大乾坤!您真的看懂了这张“中华第一图”?...
  6. c语言编写单片机技巧
  7. iOS 自定义layer的两种方式
  8. How to find error message from OMS repository
  9. 有趣的算法:1元=1分
  10. docker在win7下的使用
  11. 系统测试缺陷检出密度越大越好吗?
  12. 水星路由器登录界面找不到服务器,新版水星(Mercurey)路由器后台登陆界面打不开解决方法...
  13. C语言程序设计现代方法-第二版-第10章练习题
  14. 使用selenium爬取百合网
  15. vn.py2-行情记录的使用
  16. 智慧工地具有哪些社会意义?
  17. 彻底关闭win10自动更新(针对已经关闭windows update项,但系统仍自动更新的问题)
  18. STDERR: error: unable to open preload file “/etc/sysctl.d/90-omnibus-gitlab-net.core.somaxconn.conf“
  19. switch服务器帐户注销,堡垒之夜NS版Guest账号怎么更换_Guest账号退出更换方法介绍...
  20. python开发项目经历_Python开发工程师岗位项目经历怎么写

热门文章

  1. 编译linux-2.6.29内核,报错解决方法
  2. OS / Linux / epoll 各种事件解析
  3. Android防火墙原型系统设计,Android系统网络安全性研究及防火墙设计
  4. 语言生日创意代码_你生日那天的宇宙什么样子知道?我全部给你吧!
  5. java集群_身为Java程序员的你知道分布式与集群的联系及区别吗?
  6. git rebase 的常见冲突及解决办法
  7. 352. Data Stream as Disjoint Intervals
  8. iOS高级-RunLooper
  9. C#调用C++编写的DLL函数各种参数传递问题
  10. 矩形嵌套 南阳理工ACM