重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题:
AWR报告中出现的空白;SQL语句未执行完
[打印本页]
作者:
Inkcup
时间:
1 小时前
标题:
AWR报告中出现的空白;SQL语句未执行完
本帖最后由 Inkcup 于 2026-5-24 12:21 编辑
AWR报告中出现的空白(如Executions和Elapsed Time per Exec (s)字段为空),通常指向同一个核心问题:这些SQL语句在你选取的快照时间区间内,并没有完成执行。
如图所示:
登录/注册后可看大图
503656a126d730cd28.png
(246.15 KB, 下载次数: 0)
下载附件
2 小时前
上传
快照区间为1小时。
================================================================================================================
核心原因分析:SQL未完成执行
+++++++++++++++++++++
在AWR报告中,Executions(执行次数)代表在快照区间内成功完成的次数,Elapsed Time per Exec (s)(单次平均执行时间)则由“总耗时”除以“执行次数”计算得出。
现象:Executions字段为空(或为0),紧接着Elapsed Time per Exec (s)也为空。
原因:这最直接地表明,该条SQL语句在报告覆盖的时间段从未成功执行完毕。
典型场景:这类SQL通常是运行时间极长的后台任务、批量处理或数据清理脚本。它们从第一个快照时间点之前就开始运行,直到第二个快照时间点之后仍未结束。由于没有一次完整的执行,AWR无法统计其执行次数和单次平均耗时。
+++++++++++++++++++++
其他可能性(针对非空白场景)
报告中还存在其他情况(如Executions有值但某些字段为0),也可能导致数据显示异常:
微秒级执行:当一条SQL执行极快(毫秒甚至微秒级)时,AWR报告中的Elapsed Time per Exec (s)可能会四舍五入显示为0。这在OLTP(联机事务处理)系统中是正常现象,报告中的5syh5qyfkbsb2这条insert语句就属于此类。
全局设置问题:如果AWR报告大面积缺失关键数据,则需要检查数据库的STATISTICS_LEVEL参数。若该参数被设置为BASIC,AWR的自动快照功能将被禁用,导致报告空无一物。正常生产环境应设置为TYPICAL或ALL。
=====================
那么,什么情况会导致AWR报告中出现0值或空白?
报告中的现象 最可能的解释 严重程度
Executions = 0 (空白),Elapsed Time = 很大的正数 SQL在快照区间内一直运行,但从未完成。 (这是你的情况) 严重 - 这条SQL很可能存在性能缺陷或是在等待某些资源。
Executions = 0 (空白),Elapsed Time = 0 SQL在快照区间内没有运行过,或者运行时间极短以至于没有被AWR采样到。 无影响
Executions = 很大的正数,Elapsed Time per Exec (s) = 0 SQL执行极快(毫秒/微秒级),单次耗时被四舍五入为0。 正常 - 常见于OLTP系统。
%IO = 0,但%CPU 很高 SQL的瓶颈在CPU计算(如函数调用、类型转换),而不是磁盘读写。 需要根据具体SQL分析。
图中问题SQL分别为执行了5分钟的14dc13d03d33t,和执行了3秒的5f2ard71vfvg2,SQL在1小时的快照区间内一直运行,但从未完成,推测这些SQL可能存在性能缺陷或是在等待某些资源,建议检查这些语句的执行状态,分析是否需要进行优化。
-- 检查该SQL是否仍在运行
SELECT INST_ID, SID, SERIAL#, STATUS, SQL_ID, BLOCKING_SESSION, EVENT, STATE
FROM GV$SESSION
WHERE SQL_ID = '14dc13d03d33t';
-- 查询指定SQL_ID的执行进度
SELECT
SID,
SERIAL#,
OPNAME,
TARGET,
SOFAR,
TOTALWORK,
ROUND(SOFAR/TOTALWORK*100, 2) AS PCT_COMPLETE,
UNITS,
ELAPSED_SECONDS,
TIME_REMAINING,
START_TIME,
LAST_UPDATE_TIME,
MESSAGE
FROM V$SESSION_LONGOPS
WHERE SQL_ID = '14dc13d03d33t'
AND SOFAR < TOTALWORK;
欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/)
Powered by Discuz! X3.2