Получить sid, SQL-запрос в активных процессах в Oracle - PullRequest
0 голосов
/ 04 января 2019

В настоящее время для просмотра текущих запущенных процессов в Oracle я использую следующую команду:

select s.sid, s.serial# 
from v$session s 
join v$process p on s.paddr = p.addr

Есть ли способ в этом запросе присоединиться, чтобы получить sql_query, который выполняется для каждого из этих процессовкак хорошо?

1 Ответ

0 голосов
/ 04 января 2019

Конечно, используя v$active_session_history (начиная с 11g), он дает вам много информации о запросах, запущенных для процесса.

Следующий запрос даст вам последние выполненные запросы (используя order by desc onsql_exec_start), что происходит в базе данных.Я указал столбцы в выборке может помочь вам.кстати top_level_sql_id полезно, если ваш запрос выполняется процедурой, тогда вы будете знать, какая процедура его выполняет.

selecT ar.sql_text,
       ash.session_id,
       ash.SESSION_SERIAL#,
       ash.sql_id,
       ash.top_level_sql_id,
       ash.sql_plan_operation,
       ash.sql_exec_start,
       ash.event,
       ash.blocking_session,
       ash.program,
       ash.module,
       ash.machine
  from v$active_session_history ash
inner join v$sqlarea ar on ar.sql_id=ash.sql_id
order by sql_exec_start desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...