要查看当前执行慢的SQL语句以及其SQL ID,可以使用以下步骤:

  1. 使用以下查询语句来查找当前正在执行的慢查询:

    SELECT s.sql_id, s.sql_text, s.elapsed_time/1000000 as elapsed_time_seconds
    FROM v$session ss, v$sql s
    WHERE ss.sql_id = s.sql_id
    AND ss.status = 'ACTIVE'
    AND ss.elapsed_time > 10000000 -- 这里可以根据需要自定义一个适当的阈值
    ORDER BY ss.elapsed_time DESC;
    

    这个查询将返回正在执行的SQL语句的SQL ID、SQL文本以及已经经过的执行时间(以秒为单位)。你可以根据需要适当调整elapsed_time的阈值,以过滤出执行时间达到你设定的阈值以上的慢查询。

  2. 如果你只想查看当前会话所执行的慢查询,可以使用以下查询语句:

    SELECT s.sql_id, s.sql_text, s.elapsed_time/1000000 as elapsed_time_seconds
    FROM v$sql s
    WHERE s.sql_id = (SELECT sql_id FROM v$session WHERE sid = sys_context('userenv', 'sid'))
    AND s.elapsed_time > 10000000 -- 这里可以根据需要自定义一个适当的阈值
    ORDER BY s.elapsed_time DESC;
    

    这个查询将返回当前会话正在执行的SQL语句的SQL ID、SQL文本以及已经经过的执行时间(以秒为单位)。

请注意,这些查询将返回正在执行的慢查询,因此查询的结果可能会随着时间的推移而变化

oracle 查看当前执行慢的 以及其sqlid

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

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