Как получить информацию о сессионных индикаторах производительности (CPU / IO / Memory) в Oracle? - PullRequest
0 голосов
/ 29 ноября 2018

Я работал в 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.

Любая помощьприветствуется.

Спасибо заранее.

1 Ответ

0 голосов
/ 30 ноября 2018

V$ACTIVE_SESSION_HISTORY возможно?

См. Здесь:

https://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_1007.htm#REFRN30299

Если это не поможет, запросите представление dict для получения полного спискавсе виды и то, что они показывают, чтобы выбрать тот, который может иметь то, что вам нужно:

SELECT * FROM dict WHERE comments LIKE '%HISTORY%';

Другой вариант - использовать отчеты Grid Control AWR, если у вас есть такая настройка.Это веб-инструмент DBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...