SELECT inst_id,sid FROM gv$session WHERE username='<ENTER-USERNAME>';
第二步:
SELECT
s.sid
,s.CLIENT_INFO
,s.MACHINE
,s.PROGRAM
,s.TYPE
,s.logon_time
,s.osuser
,sq.sorts
,sq.DISK_READS
,sq.BUFFER_GETS
,sq.ROWS_PROCESSED
,sq.SQLTYPE
,sq.SQL_TEXT
FROM gv$session s
, gv$sql sq
WHERE s.SQL_HASH_VALUE = sq.HASH_VALUE
AND s.inst_id = :inst_id -- replace with instID from above
AND s.sid = :sid -- replace with ID from above
AND sq.inst_id = s.inst_id
可能会返回多个Id和实例Id。因此,用户可以根据自己的选择在Web界面等地方使用这些数据。
in操作符,所以从上面的例子中可以看到... AND (s.inst_id, s.sid) in ( (:id1, :sid1), (:id2, :sid2), ... )。 - BetlistaOracle企业监视器控制台显示了关于哪些SQL查询占用最多的CPU、瓶颈、数据库中的顶级活动、阻塞SQL等大量信息。
对于历史方法,您可以使用Oracle的AWR报告来确定与您相关的区域。


V$SQL,其中有几个有趣的列RUNTIME_MEM, EXECUTIONS, DISK_READS, SORTS, ELAPSED_TIME, SQL_FULLTEXT等等。
这将按磁盘读取次数给出前10个语句(注意 - 这是所有执行的累计值)。
select sql_id,child_number from
(
select sql_id,child_number from v$sql
order by disk_reads desc
)
where rownum<11
如果语句仍然在V$SQL_PLAN中,您可以获取查询的实际执行计划:
select * from table(dbms_xplan.display_cursor('sql_id',child_number));
我也喜欢使用V$SQL_PLAN,因为它包含了很好的信息。如果你的statistics_level=ALL,你可以使用V$SQL_PLAN_STATISTICS。
select * from v$sql
关于历史:
select * from dba_hist_sqltext