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

前端之家收集整理的这篇文章主要介绍了如何在Oracle数据库上显示SQL执行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何显示当前在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;
原文链接:https://www.f2er.com/oracle/205311.html

猜你在找的Oracle相关文章