前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试674】在Oracle中,V$SESSION_LONGOPS视图的作用是什么?

【DB笔试面试674】在Oracle中,V$SESSION_LONGOPS视图的作用是什么?

作者头像
AiDBA宝典
发布2019-11-05 15:21:40
8980
发布2019-11-05 15:21:40
举报
文章被收录于专栏:小麦苗的DB宝专栏

题目部分

在Oracle中,V$SESSION_LONGOPS视图的作用是什么?

答案部分

在Oracle 11g之前的版本,长时间运行的SQL可以通过监控V$SESSION_LONGOPS来观察,当某个操作执行时间超过6秒时,就会被记录在V$SESSION_LONGOPS中,通常可以监控到全表扫描、全索引扫描、哈希连接、并行查询等操作。

V$SESSION_LONGOPS查询脚本如下所示:

代码语言:javascript
复制
SET LINE 9999  PAGESIZE 9999
COL USERNAME FORMAT A10 
COL SESSION_INFO FORMAT A30
COL TARGET FORMAT A20
COL OPNAME FORMAT A35 
COL MESSAGE FORMAT A80 
COL SOFAR_TOTALWORK FORMAT A20 
COL PROGRESS FORMAT A8

SELECT A.USERNAME, 
       (SELECT NB.SID || ',' || NB.SERIAL# || ',' || PR.SPID || ',' ||NB.OSUSER|| ',' ||NB.STATUS|| ',' ||NB.EVENT
          FROM GV$PROCESS PR, GV$SESSION NB
         WHERE NB.PADDR = PR.ADDR
           AND NB.SID = A.SID
           AND NB.SERIAL# = A.SERIAL#
           AND PR.INST_ID = NB.INST_ID) SESSION_INFO,
       A.TARGET,
       A.OPNAME,
       TO_CHAR(A.START_TIME, 'YYYY-MM-DD HH24:MI:SS') START_TIME,
       ROUND(A.SOFAR * 100 / A.TOTALWORK, 2) || '%' AS PROGRESS,
       (A.SOFAR || ':' || A.TOTALWORK) SOFAR_TOTALWORK,
       A.TIME_REMAINING TIME_REMAINING,
       A.ELAPSED_SECONDS ELAPSED_SECONDS,
       MESSAGE MESSAGE
  FROM GV$SESSION_LONGOPS A
 WHERE A.TIME_REMAINING <> 0
 ORDER BY  A.TIME_REMAINING DESC, A.SQL_ID, A.SID;

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档