Oracle AWR 定期分析:详解Awr的使用与优化
Oracle AWR(自动工作负载存储库)是一个强大的性能监控工具,它可以帮助我们收集关于数据库的整体情况、资源利用率、并发情况、I/O使用情况等多个方面的详细数据,并从这些数据中揭示数据库的瓶颈,为管理员提供获得性能优化的精确度、速度和细致程度。在日常数据库维护工作中,定期进行AWR分析是维护数据库稳定高效运作的重要手段之一。
由于数据库中CPU负载的变化是非常复杂的,所以我们需要使用AWR来解决这个问题。“awrreport.sql”脚本可以帮助我们快速地生成一个报告,报告中会包括大量关于数据库性能的统计数据和图表,例如,平均每秒钟的数据库用户数量、平均每秒钟I/O等待数、硬件资源(CPU、内存等)的负载图表等等,这些数据可以让数据库维护人员快速定位和解决瓶颈问题。
-- 在SQLPLUS连接下,执行以下命令可快速生成报告:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
定期收集 AWR 数据非常重要!例如,您可以设置定期任务来收集每小时的数据,以便随时了解数据库的情况。AWR数据的时间间隔应该在10分钟至1小时之间,其中一些关键性能指标需要至少收集24小时的数据才能分析。
查询 AWR 数据也是定期分析的重要一环。我们可以在AWR数据中查找微妙或显著的变化,以帮助提升数据库的性能。查询 AWR 最好使用常用的SQL语句,例如,使用“SELECT wait_class, time_waited/100 as “SECONDS” from awr_wait_class_totals这些SQL脚本来查询这些关键性能指标并分析性能。
-- 查询等待事件分类计数的脚本如下:
SELECT wait_class, time_waited/100 as “SECONDS” from awr_wait_class_totals;
除了AWR分析之外,我们还可以利用AWR的其他优势,例如dbsnmp用户帐户可以用于自动通过Enterprise Manager Grid Control执行定期性能报告。这些报告是在特定的时间基础上来执行的,通常在非生产时间执行以避免产生生产负载。
总的来说,“AWR分析”是维护Oracle数据库的一项重要工作,我们需要定期地使用相关的脚本来收集AWR数据,在AWR数据收集完之后用相应的SQL脚本进行分析,以了解数据库的整体性能情况,找出瓶颈并加以优化,提高数据库的整体性能水平。