Oracle AWR 性能诊断核心指令,一定要收藏!
脚本默认路径均为:$ORACLE_HOME/rdbms/admin/ 第一阶段:保留现场 (数据采集) 当发生突发性能抖动,自动快照未触发时,需立即执行此操作。 手动生成快照 exec dbms_workload_repository.create_snapshot; 第二阶段:诊断分析 (生成标准报告) 日常巡检或排查一般性性能问题(如 CPU 高、IO 慢)。 单实例 AWR 报告 (最常用,标准单机) @awrrpt.sql Oracle RAC 全局报告 (查看整个集群负载均衡情况) @awrgrpt.sql RAC 环境特定实例报告 (交互式选择特定节点,针对性分析) @awrrpti.sql RAC 环境多实例聚合报告 (自定义多个节点的分析) @awrgrpti.sql 第三阶段:精准调优 (SQL 专项报告) 当 AWR 报告指明某条 SQL 消耗了大量资源,需要查看其执行计划历史时。 SQL 详细分析报告 (需输入 SQL_ID) @awrsqrpt.sql 特定实例上的 SQL 报告 (针对 RAC 某节点上的执行情况) @awrsqrpi.sql 第四阶段:复盘对比 (时段差异报告) 用于回答“为什么昨天很快,今天很慢?”这类问题。 单实例时段对比报告 @awrddrpt.sql Oracle RAC 全局时段对比 @awrgdrpt.sql 特定实例时段对比 @awrddrpi.sql RAC 环境特定多实例对比 @awrgdrpi.sql 记忆口诀: rpt = 报告 (Report) g = 全局 (Global / RAC) i = 交互指定 (Instance / Interactive) sq = SQL语句 dd/gd = 差异对比 (Delta / Global Delta) 最佳实践: 生产环境建议将快照间隔设置为 30分钟 或 1小时,保留时间设置为 8天 以上,以便能对比上周同期的性能数据。