

Oracle open cursor
Просмотр информации о открытых курсорах сессиями в СУБД Oracle
Открытие окна
-
Меню Action - Open cursor
-
В основном окне кликнув по строке "open cursor"

select a.value,
s.username,
nvl(s.OSUSER,'-')||' ('|| nvl(s.MACHINE,'-')||')' US,
s.sid||':'||s.serial# SS,
'300' MAX_OPEN
from v$sesstat a,
v$statname b,
v$session s
where a.statistic# = b.statistic#
and s.sid=a.sid
and b.name = 'opened cursors current'
and s.username is not null
order by a.value desc
Просмотр подробной информации
Выделить сессию в списке "List session"

Session information - информация о сессии из v$session
select status,schemaname,osuser,machine,program,logon_time from v$session where sid=$$SID
Вкладка "Cursor" список всех курсоров сессии с их состоянием
select SQL_ID, SQL_TEXT, cursor_type from V$OPEN_CURSOR oc where oc.sid=$$SID
Просмотр сведений о SQL запросах
В списке курсоров на вкладке "Cursor" дважды кликнуть по любой строке

Структура окна
-
Query text - текст SQL запроса
select SQL_FULLTEXT, HASH_VALUE from v$sql where sql_id='$$SQL_ID'
-
Query plan execute - план выполнения SQL запроса
select * from TABLE(DBMS_XPLAN.DISPLAY_CURSOR('$$SQL_ID'))
-
Event - ожидания сессий при выполнении запроса (данные за последние 10 минут). Информация извлекается из локальной базы данных. Данные собираются системой при включенном режиме Monitoring - Use mode "Real-time" в настройках программы
select count(*) "CountRW",
c_event
from cer_ash_database c
where c_dbname = $$CONNECTALIAS
and c_dbts>= datetime('now','-600 seconds','localtime')
and c_dbts< datetime('now','-1 seconds','localtime')
and c_sql_id="$$SQL_ID"
group by c_event
order by count(*) desc
-
Session list - список сессий выполнивших запрос за последние 10 минут. Информация извлекается из локальной базы данных. Данные собираются системой при включенном режиме Monitoring - Use mode "Real-time" в настройках программы
select c_sid,
c_serial,
c_username||'@'||c_machine "hm"
from cer_ash_database c
where c_dbname = "TESTDB2"
and c_dbts>= datetime('now','-600 seconds','localtime')
and c_dbts< datetime('now','-1 seconds','localtime')
and c_sql_id="$$SQL_ID"
group by c_sid||':'||c_serial||'['||c_username||'@'||c_machine||']'
order by c_sid