Oracle中查看慢查询进度的脚本分享_oracle

Oracle一个大事务的SQL往往不知道运行到了哪里,可以使用如下SQL查看执行进度。

复制代码 代码如下:

set linesize 400;
set pagesize 400;
col sql_text format a100;
col opname format a15;
SELECT se.sid,
         opname,
         TRUNC (sofar / totalwork * 100, 2) pct_work,
         elapsed_seconds elapsed,
         ROUND (elapsed_seconds * (totalwork - sofar) / sofar) remain_time,
         sql_text
    FROM v$session_longops sl, v$sqlarea sa, v$session se
   WHERE sl.sql_hash_value = sa.hash_value
         AND sl.sid = se.sid
         AND sofar != totalwork
ORDER BY start_time;

或者

复制代码 代码如下:

set linesize 400;
set pagesize 400;
set long 4000;
col sql_fulltext format a100;
col opname format a15;
SELECT se.sid,
         opname,
         TRUNC (sofar / totalwork * 100, 2) pct_work,
         elapsed_seconds elapsed,
         ROUND (elapsed_seconds * (totalwork - sofar) / sofar) remain_time,
         sql_fulltext
    FROM v$session_longops sl, v$sqlarea sa, v$session se
   WHERE sl.sql_hash_value = sa.hash_value
         AND sl.sid = se.sid
         AND sofar != totalwork
ORDER BY start_time;

时间: 2024-10-06 12:45:08

Oracle中查看慢查询进度的脚本分享_oracle的相关文章

oracle中sql汇总查询相关的问题

问题描述 oracle中sql汇总查询相关的问题 怎么通过一条sql查询出如下表中的所有记录数和交易成功记录数,其中status是交易状态(交易状态 [0:未付款;1:交易关闭;2:已付款;3:交易完成(含退款);4:交易成功;5:交易失败(担保交易)]6.支付中), 表结构如下: 解决方案 http://www.oschina.net/question/2257111_177653 解决方案二: select count(1) as zongshu,'总数' as leixing from a

用于统计项目中代码总行数的Python脚本分享

  这篇文章主要介绍了用于统计项目中代码总行数的Python脚本分享,本文直接给出实现代码,需要的朋友可以参考下 最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍. [code] import os path="/Users/rony/workspace/ecommerce/ecommerce/hot-deploy/" global totalcount totalcount =0 def cfile

db2和oracle中的树查询(递归查询)语句-

在db2和oracle中的对树的递归查询语句. 表结构: create table  MAIN_NODE ( MLA_ID               INTEGER     not null        ,   //节点ID MLA_ROOTID          INTEGER,                      //根节点ID MLA_PARENTID        INTEGER,                      //父节点ID MLA_NAME           

MS Server和Oracle中对NULL处理的一些细节差异_oracle

INSERT INTO Table (TestCol) VALUES('') 其中的TestCol字段,其实在设计的时候,已经被设计为NOT NULL,但我们需要了解一点,在sql server中,null和空格是不同的,也就是说,上面的语句插入的是一个空,但并不是NULL,只有当我们的插入语句中没有该字段的时候,才会被认为违反非空的条件约束,这里可能用英文的表达可能会更加的准确一些,如果把NULL翻译成"空"的话,可能就会很容易搞混了.此外,如果我们的字段是INT类型的话,如果我们插

Oracle中查看引起Session阻塞的2个脚本分享_oracle

用户A执行删除,但是没有提交. 复制代码 代码如下: SQL> delete from test where object_id<10; 已删除8行. 用户B执行删除或者更新id<10的记录,则被阻塞. 复制代码 代码如下: SQL> update test set flag='N' where object_id<10; 遇到这种阻塞,首先需要确定问题.可以使用以下脚本. 复制代码 代码如下: select t2.username,t2.sid,t2.serial#,t2.

Oracle中查看表空间使用率的SQL脚本分享_oracle

复制代码 代码如下: /* Formatted on 2012/5/31 14:51:13 (QP5 v5.185.11230.41888) */ SELECT D.TABLESPACE_NAME,        SPACE || 'M' "SUM_SPACE(M)",        BLOCKS "SUM_BLOCKS",        SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",   

ORACLE 如何查看索引重建进度情况

   在ORACLE数据库中,如果一个比较大的索引在重建过程中耗费时间比较长,那么怎么查看索引重建耗费的时间,以及完成了多少(比例)了呢,我们可以通过V$SESSION_LONGOPS视图来查看索引重建的时间和进度.   官方文档关于V$SESSION_LONGOPS的介绍如下 V$SESSION_LONGOPS This view displays the status of various operations that run for longer than 6 seconds (in a

oracle中如何把查询内容输出到文本

把查询内容输出到文本 set echo off pagesize 0 heading off feedback off termout off spool test.sql select count(*) from user_tables; spool off 上面的脚本执行完之后就会将查询内容输出至test.sql 第一行中的set命令对环境进行了设置 具体要设置哪些可以根据需求自己增减,下面附上set参数说明 set time on               //显示时间 set cols

菜鸟提问:oracle中按月份查询

问题描述 怎样在oracle数据库中查出在一个月内的所有记录,或者就是怎样按月份查询(前提数据库中有一个date类型的属性)!                                             求解,谢谢! 问题补充:<p><img src="/images/smiles/icon_surprised.gif" alt=""> 怎样在oracle数据库中查出在一个月内的所有记录,或者就是怎样按月份查询(前提数据库中有一个