Oracle AWR(Automatic Workload Repository)主要用于收集和存储数据库的工作负载信息,帮助DBA进行性能诊断和调优,但它本身不能直接自动优化配置。然而,结合ADDM(Automatic Database Diagnostic Monitor)等工具,可以分析出优化的建议,从而间接实现配置的优化。
Oracle AWR的功能
- 数据收集:AWR每隔一小时默认收集一次快照,记录了数据库的活动、系统资源使用率、I/O性能、SQL语句执行细节等。
- 性能对比:通过比较两个时间点的快照数据,提供性能变化的对比,帮助识别性能问题的出现和消失。
- 等待事件分析:分析各种等待事件,揭示哪些事件对性能产生了最大影响。
- SQL性能分析:列出执行频率高、消耗资源多的SQL语句,帮助优化关键查询。
Oracle AWR与ADDM的结合使用
- ADDM的功能:ADDM是Oracle内部的一个顾问系统,能够自动地完成对数据库的一些优化的建议,给出SQL的优化,索引的创建,统计量的收集等建议。
- 结合使用的效果:通过AWR收集数据,再利用ADDM进行分析,可以自动得出优化建议,这些建议可以指导DBA进行配置的优化。
手动优化配置的步骤
- 生成AWR报告:使用SQL命令生成AWR报告,例如:
SELECT * FROM table(dbms_workload_repository.awr_report_html((SELECT dbid FROM v$database), (SELECT instance_number FROM v$instance), 1, 2));
。 - 分析报告:深入分析AWR报告,特别是SQL统计部分,找出执行时间最长、消耗资源最多的SQL语句。
- 应用优化建议:根据ADDM提供的优化建议,调整SQL语句、创建或优化索引、调整数据库参数等。
虽然Oracle AWR本身不能直接自动优化配置,但结合ADDM工具,可以自动分析出优化建议,从而指导DBA进行配置的优化。此外,通过定期生成和分析AWR报告,DBA可以持续监控和优化数据库性能。