要查看当前执行慢的 SQL 以及其 SQL ID,可以使用 Oracle 的性能监视工具 V$SESSION 和 V$SQL。以下是查询的 SQL 语句:

SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, q.sql_text
FROM v$session s, v$sql q
WHERE s.sql_id = q.sql_id
AND s.status = 'ACTIVE'
AND q.elapsed_time / 1000000 > 1 -- 这里可以根据需要调整时间阈值,单位是秒
ORDER BY q.elapsed_time DESC;

这个查询将返回当前正在执行且执行时间超过指定阈值的 SQL 语句的相关信息,包括会话 ID(SID)、会话序列号(SERIAL#)、用户名(USERNAME)、会话状态(STATUS)、SQL ID(SQL_ID)以及 SQL 文本(SQL_TEXT)。

注意,要运行这个查询,你需要具有查看 V$SESSION 和 V$SQL 的权限。

Oracle 查找执行缓慢的 SQL 及其 SQL ID

原文地址: https://www.cveoy.top/t/topic/qBSW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录