加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Oracle数据库上显示SQL执行?

发布时间:2020-12-12 13:10:29 所属栏目:百科 来源:网络整理
导读:如何显示当前在oracle db上执行的SQL? 可能有用的额外信息包括用户,会话ID等. 大多数信息都可以在v $session中找到…并且可以从v $sql或v $sqltext_with_newlines中获取SQL Text … 这是我经常使用的一种查询格式的飞行中SQL,最长运行时间. -- In Flight SQ
如何显示当前在oracle db上执行的SQL?

可能有用的额外信息包括用户,会话ID等.

大多数信息都可以在v $session中找到…并且可以从v $sql或v $sqltext_with_newlines中获取SQL Text …

这是我经常使用的一种查询格式的飞行中SQL,最长运行时间.

-- In Flight SQL 
SELECT nvl(ses.username,'ORACLE PROC')||' ('||ses.sid||')' USERNAME,SID,MACHINE,REPLACE(SQL.SQL_TEXT,CHR(10),'') STMT,ltrim(to_char(floor(SES.LAST_CALL_ET/3600),'09')) || ':'
       || ltrim(to_char(floor(mod(SES.LAST_CALL_ET,3600)/60),'09')) || ':'
       || ltrim(to_char(mod(SES.LAST_CALL_ET,60),'09'))    RUNT 
  FROM V$SESSION SES,V$SQLtext_with_newlines SQL 
 where SES.STATUS = 'ACTIVE'
   and SES.USERNAME is not null
   and SES.SQL_ADDRESS    = SQL.ADDRESS 
   and SES.SQL_HASH_VALUE = SQL.HASH_VALUE 
   and Ses.AUDSID <> userenv('SESSIONID') 
 order by runt desc,1,sql.piece;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读