AWR报告之ORACLE分析完全指南(awr oracle详解)
AWR报告之ORACLE分析完全指南
在Oracle数据库系统中,自动工作负载仓库(AWR)可以提供有关Oracle RAC数据库的性能和活动的全面信息。它是一种非常有用的性能分析工具,用于跟踪数据库实例的各种活动,并提供有关诸如锁定、缓存、IO等活动的详细信息。 在此文章中,我们将了解如何从AWR报告中获取有关Oracle的性能信息。
AWR报告可用性检查
我们需要检查AWR报告是否可用。若AWR报告不可用,我们需要启用AWR报告。查看AWR报告执行情况的方法很简单,只需运行以下SQL命令:
SELECT * FROM V$DIAG_INFO WHERE NAME = ‘AWR’;
如果V$DIAG_INFO视图中未列出AWR,则AWR报告不可用,需进行以下操作:
1. 下载awrrpt.sql脚本
该脚本位于$ORACLE_HOME/rdbms/admin目录中。将其复制到您的本地计算机上。
2. 卸载APEX以满足要求
如果您使用的是Oracle Database 12cR2或更高版本,则需要在运行awrrpt.sql之前卸载APEX。这是因为在Oracle 12cR2中,APEX计划大于2000不再支持默认设置。要卸载APEX,请执行以下操作:
$ cd $ORACLE_HOME/apex
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> @apex_uninstall.sql
注:如果您没有APEX安装,则无需执行此操作。
3. 运行awrrpt.sql脚本
在SQL Plus提示符下输入以下命令:
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> @awrrpt.sql
该脚本将提示您输入有关开始日期和结束日期的信息。在设置完这些信息后,它将生成AWR报告。
AWR报告分析
生成AWR报告后,我们现在可以开始分析AWR报告了。AWR报告中有许多重要的指标,下面是其中一些重要的指标:
1. CPU时间
CPU时间涵盖了Oracle数据库实例中的所有CPU操作。它是Oracle实例性能的重要指标。
2. SQL执行时间
SQL执行时间是指SQL语句中执行的时间。它是SQL性能的重要指标。
3. 等待事件
等待事件是Oracle实例在运行过程中所遇到的事件。识别这些事件并解决它们将会提高Oracle实例性能。
4. 缓冲区命中率
Oracle数据库中缓冲区命中率是指在缓存中将数据块找到的次数与数据库访问缓存的次数之比。这是用于提高数据库性能的一个重要因素。
查看CPU时间
要查看CPU时间,可从AWR报告中找到CPU使用率。CPU使用率是CPU利用率的百分比。它是有关CPU的性能指标。要查看Oracle实例的CPU利用率,请在AWR报告的第一页中查找“LOAD PROFILE”部分。
查看SQL执行时间
查看SQL执行时间很简单。从AWR报告中找到“SQL Statistics”部分,该部分包含了SQL语句的所有信息。您还可以使用以下命令:
SELECT * FROM DBA_HIST_SQLSTAT;
等待事件分析
在AWR报告中,WT EVENTS部分包含了阻塞访问数据库的所有事件信息。这样可以找到数据库正在等待的事件类型。您可以使用以下命令来查看等待事件:
SELECT EVENT, TOTAL_WTS, TOTAL_TIMEOUTS, TIME_WTED_MS
FROM DBA_HIST_WTSTAT;
缓冲区命中率分析
在AWR报告中,缓冲池命中率可以从“缓冲池命中率统计”中查找。缓冲池命中率是一个关键的指标,它可以反映出Oracle数据库的性能表现。如果命中率较低,则需要考虑缓存管理方面的问题,以提高数据库性能。
SELECT * FROM V$ROWCACHE WHERE HIT_RATIO
总结
在这篇文章中,我们讨论了Oracle的自动工作负载仓库(AWR)。我们了解了如何查看和分析AWR报告,并学习了一些重要的指标,如CPU时间、SQL执行时间、等待事件和缓冲区命中率。AWR报告可以帮助管理员更好地监控数据库性能,及时发现问题,并快速采取措施。