Oracle session longops
В окне отображается информация о сессия в СУБД Oracle выполняющихся более 6 секунд.
Для сбора информации о времени выполнения запросов должны быть выполнены 2 условия:
-
включены параметры СУБД TIMED_STATISTICS или SQL_TRACE (TIMED_STATISTICS=TRUE или SQL_TRACE=TRUE)
-
имеется статистика по таблицам
Session list - список сессий выполняющихся длительное время
select distinct( sl.serial#),
'EXECUTE' AS STATUS,
SL.TIME_REMAINING||' c.' as REMAIN,
SL.ELAPSED_SECONDS||' c.' AS ELAPSED,
SL.START_TIME "TIME",
SL.SQL_ID,
S.SQL_TEXT,
se.sid,
sl.opname,
sl.SOFAR,
sl.TOTALWORK,
round((sl.SOFAR/sl.TOTALWORK)*100,2) as "%",
sl.MESSAGE,
se.USERNAME,
se.OSUSER,
se.MACHINE,
se.PROGRAM,
SE.EVENT,
SE.SECONDS_IN_WAIT
from V$SESSION SE, V$SESSION_LONGOPS SL, V$SQL S
where SE.SID=SL.SID
AND SE.SERIAL#=SL.SERIAL#
AND SE.SQL_ID=S.SQL_ID
AND SE.USERNAME IS NOT NULL
AND SL.TIME_REMAINING<>'0'
group by sl.serial#,SL.TIME_REMAINING,
SL.ELAPSED_SECONDS,SL.START_TIME,SL.SQL_ID,
S.SQL_TEXT, se.sid, sl.opname, sl.SOFAR,
sl.TOTALWORK, sl.MESSAGE, se.USERNAME,
se.OSUSER, se.MACHINE, se.PROGRAM,SE.EVENT, SE.SECONDS_IN_WAIT order by se.sid,sl.serial#
При выделении строки подробная информация отображается в блоке Details. В поле "SQL text" - выводится текст выполняемого запроса, а так же имя таблицы чьи блоки сканируются в данный момент времени и прогресс выполнения в абсолютных величинах.
При переключении на вкладку "SQL plan" отображается план выполнения запроса
select * from TABLE(DBMS_XPLAN.DISPLAY_CURSOR('<sql_id>'))
Кнопки управления
-
Обновить данные в "Session list"
-
Подогнать размер сетки "Session list" под данные в ней
Oracle ASH viewer
История активных сессий в разрезе классов ожиданий говорит о текущей нагрузке в СУБД Oracle, а так же помогает найти узкие места в коде благодаря оценки работы sql запросов в разрезе ожиданий
В программе реализовано 2 механизма получения данных о истории работы сессий:
-
Режим реального времени - программа собирает информацию о работе сессий самостоятельно, не обращаясь к представлениям пакета diagnostics pack. Рекомендованный режим работы, поддерживает редакцию Standard edition
-
Данные из представлений diagnostics pack
Oracle SQL monitor
Окно SQL Monitoring позволяет отлеживать работу длительных SQL запросов, формировать рекомендации встроенного оптимизатора запросов, а так же применять рекомендации в реальном времени.
Запрос считается длительным и подлежит автоматическому отслеживанию в случаи если потребляет более 5 секунд времени процессора или ввода/вывода.
Список запросов попавших в мониторинг
select * from v$sql_monitor order by sql_exec_start desc
Формирование отчета и применение рекомендаций
В списке Query выбрать SQL запрос для формирования отчета или вставить SQL_ID запроса в поле "Analysis of the query by SQL_ID"