学习动态性能表 第十篇--V$SESSION_LONGOPS

简介: 学习动态性能表 第十篇--V$SESSION_LONGOPS  本视图显示运行超过6秒的操作的状态。包括备份,恢复,统计信息收集,查询等等。 要监控查询执行进展状况,你必须使用cost-based优化方式,并且: l         设置TIMED_STATISTICS或SQL_TRACE参数值为true。
 

学习动态性能表

第十篇--V$SESSION_LONGOPS 

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

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

l         设置TIMED_STATISTICSSQL_TRACE参数值为true

l         通过ANALYZEDBMS_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         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

示例:

找一较大表,确认该表查询将超过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

目录
相关文章
|
7月前
|
SQL 索引 OceanBase
OBCP第四章 SQL调优-局部索引与全局索引
OBCP第四章 SQL调优-局部索引与全局索引
79 0
|
22天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
SQL Java 数据库连接
《Hibernate上课笔记》-----class8----Hibernate的检索方式和检索策略
《Hibernate上课笔记》-----class8----Hibernate的检索方式和检索策略
83 0
《Hibernate上课笔记》-----class8----Hibernate的检索方式和检索策略
|
关系型数据库 MySQL 数据库
PostgreSQL的学习心得和知识总结(二十五)|语法级自上而下完美实现MySQL数据库的 字段默认值的自动插入更新 的实现方案
本人CSDN博主 孤傲小二~阿沐,本文《PostgreSQL的学习心得和知识总结(二十五)|语法级自上而下完美实现MySQL数据库的 字段默认值的自动插入更新 的实现方案》来自于我在CSDN的同名文档
|
SQL 数据库 关系型数据库
学习动态性能表 第五篇--V$SESSION
学习动态性能表 第五篇--V$SESSION    在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。
877 0
|
数据库 缓存 关系型数据库
学习动态性能表 第九篇--V$FILESTAT
学习动态性能表 第九篇--V$FILESTAT    本视图记录各文件物理I/O信息。如果瓶颈与I/O相关,可用于分析发生的活动I/O事件。V$FILESTAT显示出数据库I/O的下列信息(不包括日志文件): l         物理读写数 l         块读写数 l         I/O读写总耗时   以上数值自实例启动即开始记录。
686 0
|
存储 数据库 iOS开发
学习动态性能表 第二篇--v$sesstat
学习动态性能表 第二篇--v$sesstat    按照OracleOnlineBook中的描述,v$sesstat存储session从login到logout的详细资源使用统计。   类似于v$sysstat,该视图存储下列类别的统计: l         事件发生次数的统计,如用户提交数。
938 0
|
SQL Oracle 关系型数据库
学习动态性能表 第六篇-(1)-V$SESSION_WAIT
学习动态性能表 第六篇-(1)-V$SESSION_WAIT    这是一个寻找性能瓶颈的关键视图。它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件)。
895 0