Oracle学习之性能优化(十五)ASH、ADDM、AWR

ASH(Active Session History)

创新互联服务项目包括加格达奇网站建设、加格达奇网站制作、加格达奇网页制作以及加格达奇网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,加格达奇网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到加格达奇省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件。不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成。ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据。期望值是记录一小时的内容。

AWR(Automatic Workload Repository)

  自动工作负载信息库

  ASH 内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(AutomaticWorkload Repository ,AWR) 由后台进程MMON定期的将ASH信息同步到AWR负载库中。ASH全部写出是不可接受的,所以一般只写入收集的10%的数据量,而且使用direct-path insert完成,尽量减少日志的生成,从而最小化数据库性能影响。

  写出到AWR负载库的ASH信息记录在AWR的基础表wrh$active_session_hist中,wrh$active_session_hist是一个分区表,Oracle会自动进行数据清理。

  AWR 是Oracle安装好后自动启动的,不需要特别的设置。收集的统计信息存储在SYSAUX表空间SYS模式下,以WRM$_*和WRH$_*的格式命名,默认会保留最近7天收集的统计信息。每个小时将收集到的信息写到数据库中,这一系列操作是由一个叫MMON的进程来完成的。

  snapshot的生成周期是每小时,数据保留8天。

  手工执行快照

 Exec dbms_workload_repository.create_snapshot;

可以通过视图查询

SQL> select * from DBA_HIST_WR_CONTROL;

      DBID SNAP_INTERVAL							       RETENTION								   TOPNSQL
---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ------------------------------
1417794109 +00000 01:00:00.0							       +00008 00:00:00.0							   DEFAULT

 可以使用DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS来修改snap_interval 和retention。

ADDM (Automatic Database Diagnostic Monitor AWR) 

  Oracle内部的一个顾问系统,能够自动的完成最数据库的一些优化的建议,给出SQL的优化,索引的创建,统计量的收集等建议。每当生成一次AWR的snapshot时,系统会自动根据当前snapshot和上一次的snapshot,给出一个ADDM报告。ADDM报告只显示系统任务有问题的项目。

生成ash报告

SQL> @?/rdbms/admin/ashrpt.sql

 EM->Performance ->Average Active Sessions的右上方[Run ASH Report]

生成awr报告

SQL> @?/rdbms/admin/awrrpt.sql

快照之间实例不能关闭。

创建baseline

Exec
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(start_snap_
id,end_snap_id ,baseline_name);

awr比对报告

@?/rdbms/admin/awrddrpt

RAC全局awr

@?/rdbms/admin/awrgrpt

分享标题:Oracle学习之性能优化(十五)ASH、ADDM、AWR
URL分享:http://scjbc.cn/article/ihjpdg.html

其他资讯