ORACLE加入V $ SQLAREA V $ SESSION
问题描述:
我需要使用哪一列来加入V $ session和V $ sqlarea?
我的主要目标是找到大多数disk_reads的前5个查询,并生成一个包含相关信息的报告。
感谢
答
此SQL并联接:
select s.sid, s.serial#, a.sql_text
from v$session s
join v$sqlarea a on a.hash_value = s.sql_hash_value;
答
尝试下面一个,我认为它可以满足您的要求。 查找大多数disk_reads的前5个查询。
SELECT SESION.SID,
SESION.USERNAME,
OPTIMIZER_MODE,
HASH_VALUE,
ADDRESS,
CPU_TIME,
ELAPSED_TIME,
DISK_READS,
DIRECT_WRITES,
SQL_TEXT
FROM V$SQLAREA SQLAREA, V$SESSION SESION
WHERE SESION.SQL_HASH_VALUE = SQLAREA.HASH_VALUE
AND SESION.SQL_ADDRESS = SQLAREA.ADDRESS
AND SESION.USERNAME IS NOT NULL
AND ROWNUM < 6
ORDER BY DISK_READS DESC,ELAPSED_TIME DESC;