Мне нужно сообщить общее время всех запросов, выполненных определенным модулем за один день.
-- sum over all queries executed the last 24 hours
select
u.username,
sum(round(v.ELAPSED_TIME / 3600000000 * 60,2)) ELAPSED_TIME_MINUTES,
sum(round(v.ELAPSED_TIME / 3600000000,2)) ELAPSED_TIME_HOURS,
v.module
from gv$sql v
left join dba_users u
on v.parsing_user_id = u.user_id
where u.username like '%XYZ' and module = 'WEBSERVER'
and to_date(v.FIRST_LOAD_TIME,'yyyy-mm-dd hh24:mi:ss') > (trunc(sysdate,'DD') - interval '1' day)
group by username,module;
Но я задаю себе следующие вопросы:
имеет ли v $ sql все запросы и как долго?он по крайней мере пуст после очистки общего пула
Есть ли лучший способ рассчитать общее время, затраченное на запросы в определенный период времени?
является FIRST_LOAD_TIME правильное поле, чтобы найти правильный день.В соответствии с Oracle это временная метка времени создания родителя - должно быть правильно?
Спасибо за участие в обсуждении!