05.21 Oracle性能收集和分析工具—ASH、AWR、ADDM

Automatic Workload Repository,简称AWR,Oracle10g下提供的一种性能收集和分 析工具 ,每60分钟采集 一次 快照 ,存 储着近 期一段时间内(默认 是7天)数据库活动的详细信息。

ASH(Active Session History),以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件,不活动的会话不会采样 。ASH更注重Session的Event跟踪 。在实际生产环境 ,Oracle的等待事件是瞬息万 变的,AWR可能分 析不到最 近五 到十分钟的性能数据,所以可以通过ASH分析最近的会话活动。ASH 内存 记录数据 始终是有 限的,ASH buffers 的最 小值 为1MB,最大 值不超过30MB.为了 保存历史 数据, 引入了AWR。ASH信息 同样被采集 写入到AWR负载库中。 由于内存不是足够的,所以MMNL进程在ASH写满后会将 信息 写出到AWR负载库中。

Automatic Database Diagnostic Monitor ,简称ADDM,Oracle内部的一个顾问系统,能够自动的完成最数据库的一些优化的建 议,给出SQL的优化, 索引 的创建,统计量的收集 等建议。

ASH报告生成:$ORACLE_HOMESQL>@C:\\app\\majb\\product\\11.2.0\\dbhome_1\\RDBMS\\ADMIN\\ashrpt.sql

AWR报告生成:SQL>C:\\app\\majb\\product\\11.2.0\\dbhome_1\\RDBMS\\ADMIN\\awrrpt.sql

ADDM报告生成:SQL>C:\\app\\majb\\product\\11.2.0\\dbhome_1\\RDBMS\\ADMIN\\addmrpt.sql

综上:如果在一个 小时以内发生 的我们可以通过生成ASH报告 来找出和 性能相关的等待事件和SQL语句 。如果 是1小时以上 或几天 我们可以通过AWR报告来找出几小时\\几天以来最 影响系统的等待事件和SQL语句。ADDM报告 基于AWR,默认 可以保存30天的ADDM报告

动手实验:AWR报告的生成

在实际的生 产环境 中,AWR除了由Oracle自动生成,也可以通过DBMS_WORKLOAD_REPOSITORY包来 手工创建。

1.手工创建一个数据库快照snapshotSQL> exec dbms_workload_repository.create_snapshot();

Oracle性能收集和分析工具—ASH、AWR、ADDM

2. 生成AWR报告: 依赖一个SQL脚本:X:oracle\\product\\10.2.0\\db_1\\RDBMS\\Admin\\awrrpt.sql

SQL>@C:\\app\\majb\\product\\11.2.0\\dbhome_1\\RDBMS\\ADMIN\\awrrpt.sql

Oracle性能收集和分析工具—ASH、AWR、ADDM


3. 找到AWR报告分析性能瓶颈

Oracle性能收集和分析工具—ASH、AWR、ADDM

4. 补充:通过SQL获取ASH\\AWR\\ADDM报告

Oracle性能收集和分析工具—ASH、AWR、ADDM


Oracle AWR 补充:

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


分享到:


相關文章: