Oracle AWR运行日志分析工具详解 下载本文

Oracle AWR运行日志分析工具详解

1

在Oracle数据库学习和使用中,遇到性能问题,首要的步骤就是导出AWR分析报告,AWR是Oracle的一个脚本工具,通过周期性快照记录下当时的所有运行数据,数据库管理员可以导出其中一部分数据进行分析,从而找出来哪些脚本导致了目前的数据性能问题。一般情况下,安装完Oracle服务端后,默认都会有这个脚本工具(在数据库管理员HOME目录下),进入到sqlplus,然后直接运行@awrrpt脚本,按照提示操作就可以完成日志导出,导出的格式包括txt格式和html格式两种。

AWR是Oracle 10g版本推出的新特性, 全称叫Automatic Workload Repository自动负载信息库。AWR是通过对比两次快照收集到的统计信息,来生成报表数据,生成的报表包括多个部分。下面将对AWR报告的关键部分做详细的讲解。

Workload Repository Report

DBTime不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。DBTime= CPU time + Wait time(不包含空闲等待),DB time就是记录的服务器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间:DB time = CPU time + all of nonidle wait event time。

2

如图,在79分钟里(其间收集了3次快照数据),数据库耗时11分钟,RDA数据中显示系统有8个逻辑CPU(4个物理CPU),平均每个CPU耗时1.4分钟,CPU利用率只有大约2%(1.4/ 79),说明系统压力非常小。

如上例子,假设服务器是AIX的系统,4个双核CPU(共8个核),Report A在Snapshot间隔中总共约60分钟,CPU就共有60*8=480分钟,DB time为466.37分钟。说明CPU花费了466.37

3