此视图展示了SQL语句的执行统计信息,如执行次数、解析次数、缓冲区得到次数、错误次数等,帮助DBA了解SQL的执行情况和效率
select sq.SQL_ID,
sq.EXECUTIONS,
sq.ELAPSED_TIME,
sq.CPU_TIME / 1000 / 1000 s
from v$sql sq
order by sq.CPU_TIME desc;
1. 查看快照生成时间
SELECT snap_id,
TO_CHAR(begin_interval_time, 'YYYY-MM-DD HH24:MI:SS') AS start_time,
TO_CHAR(end_interval_time, 'YYYY-MM-DD HH24:MI:SS') AS end_time
FROM dba_hist_snapshot
ORDER BY begin_interval_time DESC;
SELECT snap_id,
TO_CHAR(begin_interval_time, 'YYYY-MM-DD HH24:MI:SS') AS start_time,
TO_CHAR(end_interval_time, 'YYYY-MM-DD HH24:MI:SS') AS end_time
FROM dba_hist_snapshot
WHERE begin_interval_time >=
TO_DATE('2023-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND end_interval_time <=
TO_DATE('2023-01-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
ORDER BY begin_interval_time DESC;2. 使用DBA_HIST_SQLSTAT查找最消耗资源的SQL
4. 使用DBA_HIST_SNAPSHOT分析数据库整体性能变化