Выдается для числа чтений диска > 30
select b.username, a.disk_reads, a.executions,
a.disk_reads/decode(a.executions, 0, 1,
a.executions) rds_exec_ratio, a.command_type, a.sql_text
from v$sqlarea a, dba_users b
where a.parsing_user_id = b.user_id
and a.disk_reads > 30
order by a.disk_reads desc;
Статистика по числу обращений к памяти (логических чтений)
может быть получена заменой disk_reads на buffer_gets.
Если для выдачи запроса используется SQL*Plus,
то кому-нибудь следующая переформулировка может
показаться более удобной:
ACCEPT indicator CHAR PROMPT 'Enter indicator to investigate
(either ''disk_reads'' or ''buffer_gets''): '
ACCEPT nreads NUMBER PROMPT 'Enter minimal the value: '
SET VERIFY OFF
select b.username, a.&indicator, a.executions,
a.&indicator/decode(a.executions, 0, 1,
a.executions) rds_exec_ratio, a.command_type, a.sql_text
from v$sqlarea a, dba_users b
where a.parsing_user_id = b.user_id
and a.&indicator > &nreads
order by a.&indicator desc