监控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语句运行完毕或者取消后。以上查询为空

时间: 2024-08-10 21:45:25

监控sql运行时剩余时间的相关文章

监控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 stat

LINQ to SQL 运行时动态构建查询条件

在进行数据查询时,经常碰到需要动态构建查询条件.使用LINQ实现这个需求可能会比以前拼接SQL语句更麻烦一些.本文介绍了3种运行时动态构建查询条件的方法. 本文中的例子最终实现的都是同一个功能,从Northwind数据库Customers表中搜索出CompanyName列带有keywords中任意元素的项.keywords是个字符串数组,该数组长度在编译时是不确定的.思路及方法说明写在代码注释中. 1.表达式树 1   public static IEnumerable<Customers> 

SpringMVC4+MyBatis+SQL Server2014+druid 监控SQL运行情况

前言 在基于SpringMVC+MyBatis的开发过程中,我们希望能看到自己手写SQL的执行情况,在开发阶段我们可以配置log4j在控制台里基于debug模式查看,那么上线后,在生产声我们想查看SQL的执行情况呢,这时候就该druid出场了,druid自带一些监控界面,可以监控SQL.监控Web.监控URL. 使用druid监控SQL 使用druid监控URI 开发环境 idea2016.SpringMVC4.Mybatis3.druid1.0.28 SSM整合 1.pom.xml 1 <pr

监控代码运行时长 -- StopWatch用法例程

在.net环境下,精确的测量出某段代码运行的时长,在网络通信.串口通信以及异步操作中很有意义.现在做了简单的总结.具体代码如下: (1).首先 using System.Diagnostics; (2).主要代码 Stopwatch sw = new Stopwatch(); //监听循环10000次需要的时长 // 计时开始 sw.Start(); for (int i = 0; i < 10000;i++ ) { // to do } // 计时结束 sw.Stop(); Console.W

如何让你的SQL运行得更快

人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显. 笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计.不充份的连接条件和不可优化的where子句. 在对它们进行适当的优化后,其运行速度有了明显地提高! 下面我将从这三个方面分别进行总结: 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为

BI - ETL运行时监控

对于任何事物而言,监督都是提高自身的有效手段,BI也是如此.从我个人的经验而言,BI的监督可以分为两类(欢迎拍砖讨论):运行时监督(Runtime Monitoring)与数据仓库健康状况的监督(DW Healthy Monitoring): 1. 运行时监督 所谓运行时监督是指监督数据从数据源到流到数据仓库的过程,通俗来讲就是监督ETL的执行过程.我相信绝大多数的BI系统都具有该功能,区别只在于实现监控的方式以及监控信息的详细程度 2. 数据仓库健康状况监督 所谓数据仓库的健康状况监督,其实就

使用Visual VM监控运行时的项目

1.1 Visual VM简介 VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息.在 VisualVM 的图形用户界面中,您可以方便.快捷地查看多个 Java 应用程序的相关信息.(摘自官方) 简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo

监控 SQL Server (2005/2008) 的运行状况--来自微软TetchNet

原文地址:http://technet.microsoft.com/zh-cn/library/bb838723.aspx Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况.诊断问题和优化性能. 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存.锁定和时间

报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容

在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容 解决办法:下载"Server Data Tools for Visual Studio 2012" ,并安装,重新启动Visual Studio 2012.