Oracle数据库中AWR的组成及工作原理的详细介绍Oracle数据库中AWR的组成及工作原理的详细介绍
1.ash占用的内存大小
ASH的采集信息保存在内存中,在旧的信息被采样到AWR中后,可被新采集的信息覆盖,重启oracle后该信息被清除。分配给ASH的内存大小可以查询到:
1. SQL> select pool, name, bytes/1024/1024 From v$sgastat where name like '%ASH %'; 2.
3. POOL NAME BYTES/1024/1024
4.
5. ------------- ---------...
Oracle数据库中AWR的组成及工作原理的详细介绍
1.ash占用的内存大小
ASH的采集信息保存在内存中,在旧的信息被采样到AWR中后,可被新采集的信息覆盖,重启oracle后该信息被清除。分配给ASH的内存大小可以查询到:
1. SQL> select pool, name, bytes/1024/1024 From v$sgastat where name like '%ASH %'; 2.
3. POOL NAME BYTES/1024/1024
4.
5. ------------- ------------- ---------------
6.
7. 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$_*的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计
数据。
1. SQL> select table_name from dba_tables where table_name like 'WRM$%';
2.
3. TABLE_NAME
4.
5. -----------------------
6.
7. WRM$_WR_CONTROL
8.
9. WRM$_SNAP_ERROR
10.
11. WRM$_SNAPSHOT
12.
13. WRM$_DATABASE_INSTANCE
14.
15. 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天。
1. SQL> select * from dba_hist_wr_control;
2.
3. DBID SNAP_INTERVAL RETENTION TOPNSQL
4.
5. ---- ------------- ----------- ----------
6.
7. 1148 +00000 00:1 +00007 00:0 DEFAULT
8.
9. SQL> select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from wrm$_wr_control;
10.
11. DBID SNAP_INTERVAL SNAPINT_NUM RETENTION
12.
13. ---------- ------------------ ----------- -------------------- 14.
15. 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的组成及工作原理的详细介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。