• 监控sql运行时剩余时间


    
    --监控sql执行时剩余时间
    你知道正在执行的sql大概须要多长时间么?
    你知道正在执行的sql大概完毕了百分之几么?
    你知道正在执行的sql大概还要多长时间完毕么?
    V$SESSION_LONGOPS帮你忙。
    
    
    V$SESSION_LONGOPS在<span style="font-family: Arial, Helvetica, sans-serif;">官方文档中的描写叙述:</span>
    
    V$SESSION_LONGOPS displays the status of various operations that run for longer than 6 seconds (in absolute time). These operations currently include many backup and recovery functions, statistics gathering, and query execution, and more operations are added for every Oracle release.
    
    To monitor query execution progress, you must be using the cost-based optimizer and you must:
    
    Set the TIMED_STATISTICS or SQL_TRACE parameters to true
    Gather statistics for your objects with the DBMS_STATS package
    
    
    
    
    
    --意义:
    统计各个操作时间大于6s的语句
    
    --前提条件:
    基于成本的优化器cbo
    TIMED_STATISTICS或SQL_TRACE为true
    对象有统计信息
    
    測试:
    
    select * from v$version;
    --Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    
    select * from v$parameter where name like '%timed_statistics%'
    VALUE
    TRUE
    
    select last_analyzed from user_tables where table_name='LHJ_1G'
    LAST_ANALYZED
    2013-12-10 PM 01:19:36
    
    
    --session1:
    drop table t;
    create table t as 
    select * from lhj_1g;
    
    --session2:
    select a.username,
           a.target,
           a.sid,
           a.SERIAL#,
           a.opname,
           round(a.sofar * 100 / a.totalwork, 0) || '%' as progress, --进度条
           time_remaining second, --剩余时间:秒
           trunc(a.time_remaining / 60, 2) minute,--剩余时间:分钟
           b.sql_text,
           b.LAST_ACTIVE_TIME
      from v$session_longops a, v$sqlarea b
     where a.time_remaining <> 0
       and a.sql_address = b.address
       and a.sql_hash_value = b.hash_value
       and a.username = 'GGS' 
    
    
    
    


    过一会再反复运行上面语句:



    sql语句运行完毕或者取消后。以上查询为空

  • 相关阅读:
    Delphi 调用DLL TStream作为参数
    Delphi 退出时注销子窗口应注意的问题
    Excel文件转换成用友实施工具Excel格式
    Delphi Function 返回值忘记默认赋值的一些问题
    vscode 安装golang插件方法
    git merge
    vant ui 双向输入框禁止手机键盘弹出
    回调地狱
    vue 数组对象循环添加一个属性 在页面上动态渲染时更改属性值
    Windows下安装Redis,并设置开机自动启动
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6892841.html
Copyright © 2020-2023  润新知