学习动态性能表

第十篇--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

学习动态性能表(10)--v$session_longops的更多相关文章

  1. 学习动态性能表(2)--v$sesstat

    学习动态性能表 第二篇--v$sesstat  2007.5.25 按照OracleOnlineBook中的描述,v$sesstat存储session从login到logout的详细资源使用统计. 类 ...

  2. 学习动态性能表(19)--v$undostat

    学习动态性能表 第19篇--V$UNDOSTAT  2007.6.14 本视图监控当前实例中undo空间以及事务如何运行.并统计undo空间开销,事务开销以及实例可用的查询长度. V$UNDOSTAT ...

  3. 学习动态性能表(7)--v$process

    学习动态性能表 第七篇--V$PROCESS  2007.5.30 本视图包含当前系统oracle运行的所有进程信息.常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联 ...

  4. 学习动态性能表(6)--v$session_wait&v$session_event

    学习动态性能表 第六篇-(1)-V$SESSION_WAIT  2007.5.30 这是一个寻找性能瓶颈的关键视图.它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什 ...

  5. 学习动态性能表 v$sql

    学习动态性能表 第三篇-(1)-v$sql V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cursor(子游标)存 ...

  6. 学习动态性能表(5)--v$session

    学习动态性能表 第五篇--V$SESSION  2007.5.29 在本视图中,每一个连接到数据库实例中的session都拥有一条记录.包括用户session及后台进程如DBWR,LGWR,arcch ...

  7. 学习动态性能表(4)--v$sqltext&v$sqlarea

    学习动态性能表 第四篇-(1)-V$SQLTEXT  2007.5.29 本视图包括Shared pool中SQL语句的完整文本,一条SQL语句可能分成多个块被保存于多个记录内. 注:V$SQLARE ...

  8. 学习动态性能表(3)--v$sql&v$sql_plan

    学习动态性能表 第三篇-(1)-v$sq 2007.5.25 V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cur ...

  9. 学习动态性能表(22)V$resource_limit

    学习动态性能表 第20篇--V$resource_limit  2007.6.15 就一条SQL语句供你参考: select * from V$RESOURCE_LIMIT where resourc ...

随机推荐

  1. octotree神器 For Github and GitLab 火狐插件

    Code tree for GitHub and GitLabExtension to show code tree for GitHub and GitLab. Useful for develop ...

  2. this 机制的四种规则

    江湖人称,谁调用 this,this 就指向谁. 那么 this 到底绑定或者引用的是哪个对象环境呢,以下便是四种规则 1. 默认绑定全局变量 function fn() { console.log( ...

  3. node中session存储与销毁,及session的生命周期

    1.首先在使用session之前需要先配置session的过期时间等,在入口文件app.js中 app.use(express.session({ cookie: { maxAge: config.g ...

  4. nodejs安装,配置环境,使用express建立一个新项目

    1.下载nodejs安装包 去nodejs官网下载最新版本就行,网址:http://nodejs.cn/download/,点击自己适用的系统,自动下载跟电脑操作系统位数符合的安装包, 下载下来安装包 ...

  5. 关于Pytorch的二维tensor的gather和scatter_操作用法分析

    看得不明不白(我在下一篇中写了如何理解gather的用法) gather是一个比较复杂的操作,对一个2维tensor,输出的每个元素如下: out[i][j] = input[index[i][j]] ...

  6. C++逗号表达式

    c++中,逗号表达式的结果是最右边表达式的值

  7. 解决spring、springMVC重复扫描导致事务失效的问题

    在主容器中(applicationContext.xml),将Controller的注解排除掉 1 2 3 而在springMVC配置文件中将Service注解给去掉 1 2 3 4 因为spring ...

  8. CentOS 7防火墙设置开放80端口

    在CentOS 6.x版本中,默认使用的是iptables防火墙.到了CentOS 7.x版本,默认防火墙变成了firewalld.本篇通过使用firewalld开启.关闭 HTTP(80)端口,来讲 ...

  9. Java中interface是否继承Object类

    首先我们从C++说起, c++可以多继承.也就是一个类型 --- class,可以继承自2个以上的父类型.多继承导致一个问题,很多人知道.例如,如果类型B,类型C均继承自类型A.然后类型D继承自类型B ...

  10. 用jQuery Ajax实现前端调用SpringBoot Rest风格API

    本文基于: Eclipse下利用Maven创建SpringBoot的Restful风格程序 SpringBoot发布到独立的tomcat中运行 在Tomcat目录的SpringBoot项目中,将ind ...