oracle数据库生成awr报告,排查数据库服务器CPU100%,系统卡顿,慢sql,根据sqlid查询关键信息,如会话SID,客户端机器名
AWR报告简介
AWR是Oracle 10g版本推出的特性,全称叫做 Automatic Workload Repository 全自动负载信息库 。Oracle启动后,会有后台进程定时采集并保存系统快照信息,也可以手工创建快照。AWR通过对比两个时间点的快照信息,生成该时间段的AWR报告,帮助DBA或开发人员了解 Oracle 数据库的运行情况。
AWR报告结构
AWR报告基本分为四部分:
基本信息部分,包括了DB实例、主机的信息以及报告采集时间段的信息。
Main Report部分,第一部分Report Summary被单独放在了基本信息后面,其他的信息则放在整个报告较后的位置,个人觉得最重要的部分是SQL Statistcs。
RAC statistics部分,包括RAC相关的统计信息。
Wait Event Statistics部分。
awr报告生成方式
方式一、使用plsql工具执行sql查询生成awr报告
查询指定时间内可生成的报告范围
使用有dba权限的执行下面的sql,可以替换时间范围,设定报告范围,通常为系统卡顿时间上下范围;
select
snap_id,
dbid,
instance_number,
to_char(end_interval_time,'YYYY-MM-DD HH24:MI:SS')
from dba_hist_snapshot
where end_interval_time >=to_date('2025-05-23 21:50:00', '