首页 > 数据库技术 > 详细

Oracle-估算运行时间长的耗时操作语句

时间:2021-01-18 22:20:40      阅读:54      评论:0      收藏:0      [点我收藏+]
SELECT INST_ID,
	USERNAME,
	SID,
	SERIAL#,
	OPNAME,
	ROUND(SOFAR * 100 / TOTALWORK, 0) || ‘%‘ AS PROGRESS,
	SOFAR,
	TOTALWORK,
	TIME_REMAINING,
	SQL_ID
  FROM GV$SESSION_LONGOPS
 WHERE TIME_REMAINING <> 0
;

V$SESSION_LONGOPS视图记录了执行时间长于6秒的某个操作(可能是备份,恢复,收集统计信息,Hash Join,Sort ,Nested loop,Table Scan, Index Scan 等等),通常使用该视图用来分析SQL运行缓慢的原因,可以配合V$SESSION视图。

注意:必须满足以下2个条件

  1. 必须将初始化参数 timed_statistics 设置为true或者开启sql_trace
  2. 必须用ANALYZE或者DBMS_STATS对对象收集过统计信息

视图字段说明:

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

Oracle-估算运行时间长的耗时操作语句

原文:https://www.cnblogs.com/binliubiao/p/14295099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!