zoukankan      html  css  js  c++  java
  • 学习动态性能表(10)--v$session_longops

    学习动态性能表

    第十篇--V$SESSION_LONGOPS  2007.6.7

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

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

    • 设置TIMED_STATISTICS或SQL_TRACE参数值为true。
    • 通过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列说明

     

    • SID:Session标识
    • SERIAL#:Session串号
    • OPNAME:操作简要说明
    • TARGET:操作运行所在的对象
    • TARGET_DESC:目标对象说明
    • SOFAR:至今为止完成的工作量
    • TOTALWORK:总工作量
    • UNITS:工作量单位
    • START_TIME:操作开始时间
    • LAST_UPDATE_TIME:统计项最后更新时间
    • TIME_REMAINING:预计完成操作的剩余时间(秒)
    • ELAPSED_SECONDS:从操作开始总花费时间(秒)
    • CONTEXT:前后关系
    • MESSAGE:统计项的完整描述
    • USERNAME:执行操作的用户ID
    • SQL_ADDRESS:用于连接查询的列
    • SQL_HASH_VALUE:用于连接查询的列
    • QCSID:

    示例:

    找一较大表,确认该表查询将超过6秒,哎呀让它快咱没把握,让它慢这可是我的强项啊~~

    SQL> set timing on

    SQL> create table ttt as select level lv,rownum rn from dual connect by level<10000000;   --创建一个临时表

    Table created

    Executed in 19.5 seconds

    SQL> commit;

    Commit complete

    Executed in 0 seconds

    SQL> select * from (select * from ttt order by lv desc) where rownum<2;    --执行一个费时的查询

            LV         RN

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

       9999999    9999999

    Executed in 9.766 seconds   --哈哈,成功超过6秒

    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

  • 相关阅读:
    《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
    HDU 4836 The Query on the Tree lca || 欧拉序列 || 动态树
    Android网络框架-Volley实践 使用Volley打造自己定义ListView
    Unity3D的ugui之按钮事件
    【Stage3D学习笔记续】真正的3D世界(六):空间大战
    【AwayPhysics学习笔记】:Away3D物理引擎的简介与使用
    【Away3D代码解读】(五):动画模块及骨骼动画
    【Away3D代码解读】(四):主要模块简介
    【Stage3D学习笔记续】真正的3D世界(五):粒子特效
    【Stage3D学习笔记续】真正的3D世界(四):空间大战雏形
  • 原文地址:https://www.cnblogs.com/mq0036/p/4334872.html
Copyright © 2011-2022 走看看