当前位置: 首页 > 科技观察

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

时间:2023-03-13 01:09:25 科技观察

AutomaticWorkloadRepository,简称AWR,Oracle10g下提供的性能收集分析工具,每60分钟收集一次快照,存储最近一段时间(默认是7天)数据库活动的详细信息。ASH(ActiveSessionHistory),基于V$SESSION,每秒采样一次,记录等待活动会话的事件,不对非活动会话进行采样。ASH更注重Session的Eventtracking。在实际生产环境中,Oracle的等待事件瞬息万变,AWR可能无法分析出最近五到十分钟的性能数据,所以可以通过ASH来分析最新的session活动。ASH内存记录的数据总是有限的,ASH缓冲区的最小值为1MB,最大值不超过30MB。为了保存历史数据,引入了AWR。ASH信息也被收集并写入AWR加载库。由于内存不够,MMNL进程会在ASH满后将信息写入AWR加载库。AutomaticDatabaseDiagnosticMonitor,简称ADDM,是Oracle内部的一个顾问系统,可以自动完成对大多数数据库的一些优化建议,给出SQL优化、索引创建、统计收集等建议。ASH报告生成:$ORACLE_HOMESQL>@C:appmajbproduct.2.0dbhome_1RDBMSADMINashrpt.sqlAWR报告生成:SQL>C:appmajbproduct.2.0dbhome_1RDBMSADMINawrrpt.sqlADDM报告生成:SQL>C:appmajbproduct.2.0dbhome_1RDBMSADMINaddmrpt.sql我们可以生成ASH报告来一探究竟与性能相关的等待事件和SQL语句。如果超过1小时或几天,我们可以通过AWR报表找出几小时或几天内对系统影响最大的等待事件和SQL语句。ADDM报告基于AWR,默认可保存30天。ADDM报表动手实验:在实际生产环境中生成AWR报表。AWR除了由Oracle自动生成外,还可以通过DBMS_WORKLOAD_REPOSITORY包手动创建。1、手动创建数据库快照snapshotSQL>execdbms_workload_repository.create_snapshot();2.生成AWR报告:依赖一个SQL脚本:X:oracleproduct.2.0db_1RDBMSAdminawrrpt.sqlSQL>@C:appmajbproduct.2.0dbhome_1RDBMSADMINawrrpt.sql3。找到AWR报告分析性能瓶颈4.补充:通过SQL获取OracleAWR的ASHAWRADDM报告补充:1.生成单实例AWR报告:@$ORACLE_HOME/rdbms/admin/awrrpt.sql2.生成OracleRACAWR报告:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql3.在RAC环境中为特定数据库实例生成AWR报告:@$ORACLE_HOME/rdbms/admin/awrrpti.sql4.在OracleRAC环境中为多个数据库实例生成AWR报告:@$ORACLE_HOME/rdbms/admin/awrgrpti.sql