ITPub博客

首页 > 数据库 > Oracle > V$SESSION_LONGOPS(通过几个文章混合的)

V$SESSION_LONGOPS(通过几个文章混合的)

原创 Oracle 作者:rewqrewq 时间:2009-06-19 17:42:58 0 删除 编辑

本视图显示运行超过6秒的操作的状态。包括备份,恢复,统计信息收集,查询等等。

要监控查询执行进展状况,你必须使用cost-based优化方式,并且:

l 设置TIMED_STATISTICS或SQL_TRACE参数值为true。

l 通过ANALYZE或DBMS_STATS数据包收集对象统计信息。

你可以通过DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS过程添加application-specific长运行操作信息到本视图。关于DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS的更多信息可以浏览:Oracle Supplied PL/SQL Packages and Types Reference。

V$SESSION_LONGOPS列说明

l SID:Session标识

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:

SQL> select sid,opname,sofar,totalwork,units,sql_hash_value from v$session_longops; ----看看v$session_longops中是不是已经有记录了

SID OPNAME SOFAR TOTALWORK UNITS SQL_HASH_VALUE

---------- ---------------------------------------------------------------- ---------- ---------- -------------------------------- --------------

10 Table Scan 47276 47276 Blocks 2583310173

Executed in 0.047 seconds

SQL> select a.sql_text from v$sqlarea a,v$session_longops b where a.HASH_VALUE=b.SQL_HASH_VALUE; --通过hash_value联系查询出刚执行的查询语句。

SQL_TEXT

--------------------------------------------------------------------------------

select * from (select * from ttt order by lv desc) where rownum<2

Executed in 0.063 seconds

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

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;
[@more@]

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

请登录后发表评论 登录
全部评论
  • 博文量
    83
  • 访问量
    265476