当前位置: 首页 > 编程笔记 >

如何确定Oracle中剩余的SQL工作量?

毕泽宇
2023-03-14
本文向大家介绍如何确定Oracle中剩余的SQL工作量?,包括了如何确定Oracle中剩余的SQL工作量?的使用技巧和注意事项,需要的朋友参考一下

问题:

您想知道长时间运行的SQL可能需要多长时间才能完成。

我们可以使用“ V $SESSION_LONGOPS”视图来了解查询剩余的执行时间,“ V $SESSION_LONGOPS”视图显示已运行超过六秒钟的各种数据库操作的状态。请注意,该视图仅粗略估计SQL何时完成。

示例

select
  a.username
 ,a.opname
 ,b.sql_text
 ,to_char(a.start_time,'DD-MON-YY HH24:MI') start_time
 ,a.elapsed_seconds how_long
 ,a.time_remaining secs_left
 ,a.sofar
 ,a.totalwork
 ,round(a.sofar/a.totalwork*100,2) percent
from v$session_longops a
    ,v$sql             b
where a.sql_address    = b.address
and   a.sql_hash_value = b.hash_value
and   a.sofar <> a.totalwork
and   a.totalwork != 0;

为了通过SQLPLUS正确查看结果,请首先将其设置为以下参数。

示例

SET LINESIZE 141 TRIMSPOOL ON PAGES 66
COL username   FORMAT A8        HEAD "User|Name"
COL opname     FORMAT A16       HEAD "Operation|Type"
COL sql_text   FORMAT A33       HEAD "SQL|Text" TRUNC
COL start_time FORMAT A15       HEAD "Start|Time"
COL how_long   FORMAT 99,990    HEAD "Time|Run"
COL secs_left  FORMAT 99,990    HEAD "Appr.|Secs Left"
COL sofar      FORMAT 9,999,990 HEAD "Work|Done"
COL totalwork  FORMAT 9,999,990 HEAD "Total|Work"
COL percent    FORMAT 999.90    HEAD "%|Done"
select
  a.username
 ,a.opname
 ,b.sql_text
 ,to_char(a.start_time,'DD-MON-YY HH24:MI') start_time
 ,a.elapsed_seconds how_long
 ,a.time_remaining secs_left
 ,a.sofar
 ,a.totalwork
 ,round(a.sofar/a.totalwork*100,2) percent
from v$session_longops a
    ,v$sql             b
where a.sql_address    = b.address
and   a.sql_hash_value = b.hash_value?
and   a.sofar <> a.totalwork
and   a.totalwork != 0;
 类似资料:
  • 问题内容: 如何获取util.Timer中剩余的时间?我想做的是添加一个进度条,显示直到计时器重新开始之前剩余的时间。 这就是我到目前为止所得到的: 问题答案: 您将需要第二个计时器以特定间隔刷新gui。 实现此目的的另一种方法是每秒激活一个计时器并更新ui中的计数。如果时间到了,请致电您的具体措施。 一个仅带有控制台输出的简单示例: 它的输出将是: 然后只需使用代码更改System.out即可更

  • 问题内容: +--------------------+ | | | | | | | | | 1 | | | | | | | | | +--------------------+ | | | | | | | | | 2 | | | | | | | | | +--------------------+ 如上所示的(1)的内容是未知的,因为它在动态生成的页面中可能会增加或减少。如上所示,第二个div(

  • 本文向大家介绍如何确定在Oracle中消耗更多资源的SQL?,包括了如何确定在Oracle中消耗更多资源的SQL?的使用技巧和注意事项,需要的朋友参考一下 问题: 您要标识消耗Oracle中更多资源的SQL语句。 解 “ V $SQLSTATS”视图显示最近执行的SQL语句的性能统计信息,也可以使用“ V $SQL”和“ V $SQLAREA”报告SQL资源使用情况。  “ V $SQLSTATS

  • 问题内容: 我想从整数中检索要存储在表中的左3个数字。例如,如果int是1234567,则我想检索123。我希望第二个数字(123)也可以是int。我不想将任何内容转换为字符串。 (是的,确实我应该使用字符串。但是我无法控制问题的这一方面。) 谢谢! 问题答案: 对于SQL Server, 最简单的 方法肯定是: 转换为字符串,使用最左边的三个字符,然后将其转换回INT。 由于仅需要知道要去除多少

  • 问题内容: 我有这个问题,我有两个股利: 如何使div2占据页面的剩余高度? 问题答案: 使用绝对定位:

  • 问题内容: 在我的查询中使用contains()方法会产生很多不必要的结果。不要告诉我使用“赞”之类的东西。它是硬编码的,不能更改。 问题答案: 包含用于具有“上下文索引”的文本字段,该索引为要搜索的文本字段建立索引。标准用法是这样的(使用运算符显示与1 in匹配的基于1的子句返回的内容): 对于表中的此类数据 该查询将返回 这样包含类似,但将计算一个字符串在文本字段中出现的次数。我找不到包含包含