问题描述
嗨,汤姆,
我使用v $ session_longops来估计长时间运行的sql上剩余的时间。我最近注意到v $ session_longops中没有显示运行超过2个小时的sql,我看到的唯一等待事件是DB文件顺序读取。我试图在v $ session中环顾四周,看看视图中是否有一列可以给我估计剩余时间,但我只看到了过去的时间 (除非我错过了什么)。是否有一个sql/公式,我可以用来计算查询的剩余时间,而不是在longops中,而是运行一个多小时左右?
这是我的longops脚本:
我欣赏你的洞察力。
谢谢
我使用v $ session_longops来估计长时间运行的sql上剩余的时间。我最近注意到v $ session_longops中没有显示运行超过2个小时的sql,我看到的唯一等待事件是DB文件顺序读取。我试图在v $ session中环顾四周,看看视图中是否有一列可以给我估计剩余时间,但我只看到了过去的时间 (除非我错过了什么)。是否有一个sql/公式,我可以用来计算查询的剩余时间,而不是在longops中,而是运行一个多小时左右?
这是我的longops脚本:
SELECT s.inst_id,
s.sid,
s.serial#,
sl.qcsid,
s.username,
s.module,
sl.opname,
sl.time_remaining/60 time_remaining
FROM gv$session s,
gv$session_longops sl
WHERE s.sid = sl.sid
AND s.inst_id = sl.inst_id
AND s.serial# = sl.serial#
and sl.totalwork<>sl.sofar;我欣赏你的洞察力。
谢谢
专家解答
v $ session_longops仅显示有关计划中特定步骤的信息,例如全表扫描。所以如果你有这样的计划:
而且数据库当前正在读取通道,lonoops只会告诉您读取该表需要多长时间。它没有说明整个执行时间。
您仍然需要阅读销售和时间 (可能会显示为单独的longops)。然后将所有内容结合在一起完成查询。
需要多长时间?
'\ _(ツ)_/''
说真的。这是不可知的事情。即使您确切知道每个表中有多少行以及将返回多少联接,也无法确定还剩多长时间。有太多其他变量会影响运行时间,例如:
-您是否必须从磁盘或内存中读取数据?
-你的硬件有多快?
-系统中还发生了什么?
如果您已获得诊断和调优许可,则可以查看SQL monitor报告。这将向您显示计划的哪个部分当前正在执行。这可以帮助你了解work余。但不是如何long这需要。
https://oracle-base.com/articles/11g/real-time-sql-monitoring-11gr1
------------------------------------------ | Id | Operation | Name | ------------------------------------------ | 0 | SELECT STATEMENT | | | 1 | HASH JOIN | | | 2 | HASH JOIN | | | 3 | TABLE ACCESS FULL | CHANNELS | | 4 | PARTITION RANGE ALL| | | 5 | TABLE ACCESS FULL | SALES | | 6 | TABLE ACCESS FULL | TIMES | ------------------------------------------
而且数据库当前正在读取通道,lonoops只会告诉您读取该表需要多长时间。它没有说明整个执行时间。
您仍然需要阅读销售和时间 (可能会显示为单独的longops)。然后将所有内容结合在一起完成查询。
需要多长时间?
'\ _(ツ)_/''
说真的。这是不可知的事情。即使您确切知道每个表中有多少行以及将返回多少联接,也无法确定还剩多长时间。有太多其他变量会影响运行时间,例如:
-您是否必须从磁盘或内存中读取数据?
-你的硬件有多快?
-系统中还发生了什么?
如果您已获得诊断和调优许可,则可以查看SQL monitor报告。这将向您显示计划的哪个部分当前正在执行。这可以帮助你了解work余。但不是如何long这需要。
https://oracle-base.com/articles/11g/real-time-sql-monitoring-11gr1
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




