问题描述
嗨,汤姆
今天,我试图收集当前运行的SQL语句,这些语句每次执行时间超过10秒。为了计算SQL使用的时间,我尝试了一些SQL字典视图(例如gv$sql、gv$sql区域、gv$Transaction、,但是这些视图的“Eapd_time”列仅显示SQL语句的总运行时间,而不是每次执行的总运行时间。因此,我必须将“省略的时间”划分为“执行”,如下所示的SQL语句:
SELECT A.SID、A.SERAL#、S.ELAPSED_T/1000000、执行、A.PROG、S.SQL_TEXT、S.SQL_ID来自GV$SESSION A、GV$SQL S
其中, A.SQL_HSH_VALUE = S.HSH_VALUE
和圆(间隔_时间/ 1000000 / (大小写)
当(执行= 0或NVL(执行, 1 ) = 1时,则
1
其他
处决
结束) ,
2)>10
和(SQL_TEXT)类似“Select%”
和A.status ='主动';
是否有任何SQL字典视图记录SQL每次执行时间,而不是总运行时间?
今天,我试图收集当前运行的SQL语句,这些语句每次执行时间超过10秒。为了计算SQL使用的时间,我尝试了一些SQL字典视图(例如gv$sql、gv$sql区域、gv$Transaction、,但是这些视图的“Eapd_time”列仅显示SQL语句的总运行时间,而不是每次执行的总运行时间。因此,我必须将“省略的时间”划分为“执行”,如下所示的SQL语句:
SELECT A.SID、A.SERAL#、S.ELAPSED_T/1000000、执行、A.PROG、S.SQL_TEXT、S.SQL_ID来自GV$SESSION A、GV$SQL S
其中, A.SQL_HSH_VALUE = S.HSH_VALUE
和圆(间隔_时间/ 1000000 / (大小写)
当(执行= 0或NVL(执行, 1 ) = 1时,则
1
其他
处决
结束) ,
2)>10
和(SQL_TEXT)类似“Select%”
和A.status ='主动';
是否有任何SQL字典视图记录SQL每次执行时间,而不是总运行时间?
专家解答
不直接,但您可以使用V$Action_SESSION_HISRYT来获得一个很好的概念。就像
选择sql_id,sql_exec_id,count(*)
来自V$ Active_SESSION_HIS
按sql_id、sql_exec_id分组
有数(*) > 10
希望这个能帮上忙。
选择sql_id,sql_exec_id,count(*)
来自V$ Active_SESSION_HIS
按sql_id、sql_exec_id分组
有数(*) > 10
希望这个能帮上忙。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




