学习动态性能表(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 vsessionlongops;vsession_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 vsqlareaa,vsession_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

 

posted on   jack_Meng  阅读(839)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩