Oracle 性能排查:通过 V$LONG_EXEC_SQLS 快速定位慢 SQL

在 Oracle 数据库日常运维中,慢 SQL 往往是导致系统卡顿、CPU 飙高、业务响应缓慢的重要原因。

如果想快速查看当前数据库中的长时间执行 SQL,可以使用 V$LONG_EXEC_SQLS 视图。


一、查看慢 SQL 的常用语句

复制代码
select * 
from V$LONG_EXEC_SQLS
where 1=1
order by finish_time desc;

二、SQL 作用说明

该语句主要用于:

  • 查询数据库中执行时间较长的 SQL

  • 按完成时间倒序排列

  • 优先查看最近出现的慢 SQL

其中:

字段 说明
SQL_ID SQL唯一标识
EXEC_TIME 执行耗时
START_TIME 开始时间
FINISH_TIME 结束时间
SQL_TEXT SQL文本
USERNAME 执行用户

三、为什么这个视图重要?

很多 DBA 在排查性能问题时,第一反应是:

  • AWR

  • ASH

  • Top SQL

  • Explain Plan

但实际上:

V$LONG_EXEC_SQLS 更适合快速定位"当前正在拖慢系统"的 SQL。

尤其适用于:

  • 系统突然变慢

  • CPU 飙高

  • 会话阻塞

  • 批量任务执行异常

  • 夜间定时任务卡死


四、推荐优化版查询

实际生产环境中,建议不要直接 select *,可以筛选关键字段:

复制代码
select 
    sql_id,
    username,
    exec_time,
    start_time,
    finish_time,
    substr(sql_text,1,100) sql_text
from V$LONG_EXEC_SQLS
order by exec_time desc;

这样可以:

  • 提高查询效率

  • 避免输出过长

  • 更容易快速分析


五、发现慢 SQL 后怎么办?

拿到 SQL 后,建议继续执行:

1. 查看执行计划

复制代码
explain plan for SQL语句;

2. 查看是否走索引

重点关注:

  • FULL TABLE SCAN

  • HASH JOIN

  • SORT

  • TEMP

3. 检查是否存在:

  • 大表全扫描

  • 缺失索引

  • 隐式类型转换

  • 返回数据过多

  • where 条件未命中索引


六、实际生产经验

在生产环境中,经常遇到:

  • 一个没有索引的查询

  • 导致几十亿数据扫描

  • CPU 直接打满

  • 整个数据库响应变慢

而通过:

复制代码
V$LONG_EXEC_SQLS

往往几分钟内就能定位问题 SQL。


七、总结

V$LONG_EXEC_SQLS 是 Oracle DBA 排查性能问题非常实用的视图。

建议:

  • 日常巡检定期查看

  • 配合 AWR/ASH 使用

  • 建立慢 SQL 监控机制

一句话:

数据库性能问题,80% 都能从慢 SQL 入手解决。

相关推荐
广州灵眸科技有限公司7 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
Cloud云卷云舒10 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换
憧憬成为web高手10 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学10 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh12 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
z1234567898613 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD13 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo13 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
TlSfoward14 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记14 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘