该SQL计算最近30天内(AAS (Average Active Sessions)> 5的繁忙时段)该指标的平均值和方差,用于评估存储的速度和稳定性:
参看:https://mp.weixin.qq.com/s/9UEj1cDnMj4OAoAD1mQUpQ
SELECT ROUND(AVG(h.value), 4) AS average_latency,
ROUND(VARIANCE(h.value), 4) AS variance_latency
FROM DBA_HIST_SYSMETRIC_HISTORY h
JOIN DBA_HIST_SNAPSHOT s ON h.snap_id = s.snap_id
JOIN DBA_HIST_SYSMETRIC_HISTORY b ON h.snap_id = b.snap_id
WHERE h.metric_name = 'Average Synchronous Single-Block Read Latency'
AND s.begin_interval_time >= SYSDATE - 30
AND b.metric_name = 'Average Active Sessions'
AND b.value > 5
AND h.value != 0;
写法2:
WITH high_activity_snapshots AS (
SELECT DISTINCT s.snap_id
FROM DBA_HIST_SNAPSHOT s
JOIN DBA_HIST_SYSMETRIC_HISTORY b ON s.snap_id = b.snap_id
WHERE s.begin_interval_time >= SYSDATE - 30
AND b.metric_name = 'Average Active Sessions'
AND b.value > 5
)
SELECT
ROUND(AVG(h.value), 4) AS average_latency,
ROUND(VARIANCE(h.value), 4) AS variance_latency
FROM DBA_HIST_SYSMETRIC_HISTORY h
JOIN high_activity_snapshots hs ON h.snap_id = hs.snap_id
WHERE h.metric_name = 'Average Synchronous Single-Block Read Latency'
AND h.value !=0;
单位是毫秒(ms)。
-
平均值越低,表示读速度越快;
-
方差越小,表示性能越稳定。
结合两者,通过AWR快照数据了解存储在真实工作负载下的表现。



