ITPub博客

首页 > Linux操作系统 > Linux操作系统 > V$SESSION_LONGOPS 视图的用法

V$SESSION_LONGOPS 视图的用法

原创 Linux操作系统 作者:paulyibinyi 时间:2009-04-10 15:37:34 0 删除 编辑

           有时候我们在执行一个大的动作时,想知道进度怎么样,还需要多长时间来完成,而不是干等

这个时候我们就可以借助V$SESSION_LONGOPS视图,比较详细的记录了些sql语句运行信息

但只记录超过六秒钟的操作,前提条件是:

1) Oracle优化器使用 CBO;

2) 数据对象已经收集了统计信息;

3) 初始化参数 TIMED_STATISTICS 或是 SQL_TRACE parameter 设定为 TRUE 例子:

 

V$SESSION_LONGOPS列说明

l         SIDSession标识

l         SERIAL#Session串号

l         OPNAME:操作简要说明

l         TARGET:操作运行所在的对象

l         TARGET_DESC:目标对象说明

l         SOFAR:至今为止完成的工作量

l         TOTALWORK:总工作量

l         UNITS:工作量单位

l         START_TIME:操作开始时间

l         LAST_UPDATE_TIME:统计项最后更新时间

l         TIME_REMAINING:预计完成操作的剩余时间()

l         ELAPSED_SECONDS:从操作开始总花费时间()

l         CONTEXT:前后关系

l         MESSAGE:统计项的完整描述

l         USERNAME:执行操作的用户ID

l         SQL_ADDRESS:用于连接查询的列

l         SQL_HASH_VALUE:用于连接查询的列

l         QCSID

 

这个视图的来源大概是以下这个样子

这个视图的来源大致是这样的:

SELECT inst_id, ksulosno, ksulosrn, ksulopna, ksulotna, ksulotde, ksulosfr,
       ksulotot, ksulouni,
       TO_DATE (ksulostm, 'MM/DD/RR HH24:MI:SS', 'NLS_CALENDAR=Gregorian'),
       TO_DATE (ksulolut, 'MM/DD/RR HH24:MI:SS', 'NLS_CALENDAR=Gregorian'),
       DECODE (SIGN (ksulotot - ksulosfr),
               -1, TO_NUMBER (NULL),
               DECODE (ksulosfr,
                       0, TO_NUMBER (NULL),
                       ROUND (ksuloetm * ((ksulotot - ksulosfr) / ksulosfr))
                      )
              ),
       ksuloetm, ksuloctx, ksulomsg, ksulounm, ksulosql, ksulosqh, ksuloqid
  FROM x$ksulop;
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199859/viewspace-587009/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 清明节
请登录后发表评论 登录
全部评论
学习数据库

注册时间:2007-12-11

  • 博文量
    902
  • 访问量
    6596837