Я работал в Teradata Performance Engineering раньше.В Teradata у нас было представление типа pdcrinfo.DBQLogTbl_hst, которое содержит информацию о вводе-выводе ЦП и сессии с текстом запроса за последние 3-4 месяца, как настроено TD DBA.
Теперь я очень новичок в Oracle.Было бы замечательно, если бы кто-то мог предоставить аналогичный вид имени View или Query, объединяя системные таблицы, с помощью которых мы можем получать разумные данные ввода-вывода ЦП и запрашивать информацию, по крайней мере, за последние 7 дней.Уже пытался сформировать 1 запрос, как показано ниже:
Select substr(c.sid || ',' || c.serial#,0,15) sid, c.USERNAME,c.PROGRAM,c.MACHINE,c.OSUSER,
c.LOGON_TIME,c.TERMINAL,c.sql_address,c.sql_hash_value,
ROUND (sum(b.CPU_TIME)) "CPU Usage",
cast(b.sql_fulltext as VARCHAR(1000)) Query
from
v$session c, sys.V_$SQL b
where
b.address=c.sql_address and c.sql_hash_value=b.hash_value and c.USERNAME='XXX_USER'
group by substr(c.sid || ',' || c.serial#,0,15),c.USERNAME,c.PROGRAM,
c.MACHINE,c.OSUSER,c.LOGON_TIME,c.TERMINAL,
c.sql_address,c.sql_hash_value,
cast(b.sql_fulltext as VARCHAR(1000))
Order by c.LOGON_TIME,sid,c.sql_address,c.sql_hash_value
Но, похоже, v $ session имеет только текущую информацию о сеансе XXX_USER, а не историю всех сеансов XXX_USER.
Любая помощьприветствуется.
Спасибо заранее.