V$Session_LONGOPS

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

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;
补充信息: 一篇非常好的解释文档。有些内容我之前也不知道。

X$ksulop, kernel service, user long operation. V$Session_LONGOPS 这个视图将显示超过六秒钟的操作。

前提条件: 1) Oracle优化器使用 CBO; 2) 数据对象已经收集了统计信息; 3) 初始化参数 TIMED_STATISTICS 或是 SQL_TRACE parameter 设定为 TRUE 例子:
 SELECT opname, time_remaining, elapsed_seconds, MESSAGE
  FROM v$session_longops
 WHERE time_remaining > 0;