SELECT inst_id,sid FROM gv$session WHERE username='<ENTER-USERNAME>';
第2步:
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
这是完成这项工作的 SQL。开庭审理。
第 1 步:确定安装 ID 和用户 ID。
第2步:
可能会返回多个 Id 和实例 Id。因此,如何在 Web 界面等中使用这些数据取决于用户的选择。
Oracles Enterprise Monitor 控制台显示有关哪些 SQL 查询占用最大 CPU、瓶颈、数据库中的最高活动、阻塞 SQL 等的大量信息。
对于历史方法,您可以使用 Oracle 的AWR报告来确定与您相关的区域。
您也可以使用
V$SQL
,有几个有趣的列RUNTIME_MEM, EXECUTIONS, DISK_READS, SORTS, ELAPSED_TIME, SQL_FULLTEXT
等。这将为您提供磁盘读取的前 10 条语句(注意 - 这是所有执行的累积):
如果语句仍在,
V$SQL_PLAN
您可以获得查询的实际解释计划:我也喜欢使用它,
V$SQL_PLAN
因为它包含很好的信息。如果statistics_level=ALL
你可以使用V$SQL_PLAN_STATISTICS
.对于最近的 SQL:
对于历史: