powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
7 сообщений из 7, страница 1 из 1
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266372
expimp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста как интерпретировать количество выполнений оператора в поле Executions.
Я понимаю, что счетчик включается после попадания оператора в библиотечный кэш.
И, отключается, после его вытеснения оттуда.
Если оператор попадает туда снова, включается новый счетчик?

А с какого момента, вообще, идет отсчет? С момента перезапуска?
...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266376
pihel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
expimp,

Думаю проще для этих целей использовать dba_hist_active_sess_history по полю sql_exec_id, можно получить количество за определенный промежуток времени.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select h.sql_id, h.SQL_PLAN_HASH_VALUE, count(distinct sql_exec_id), count(*) cnt, max( trim(DBMS_LOB.SUBSTR (t.sql_text,4000)) ) as txt
 FROM   dba_hist_active_sess_history h 
left join dba_hist_sqltext t on t.sql_id = h.sql_id
where 
h.sample_time between to_date('30.06.2016 21:30:10', 'dd.mm.yyyy hh24:mi:ss') and to_date('30.06.2016 21:59:59', 'dd.mm.yyyy hh24:mi:ss')
group by h.sql_id, h.SQL_PLAN_HASH_VALUE
order by cnt desc;

...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266384
expimp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владельцы БД прижимистые. Лицензию на этот пакет не купили..

dba_hist_active_sess_history
...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266449
pihel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
expimp,

почистите буферный кэш и посмотрите

Код: plsql
1.
2.
3.
4.
5.
6.
--целиком
ALTER SYSTEM FLUSH SHARED_POOL

--нужный sql_id
select ADDRESS, HASH_VALUE from V$SQLAREA where SQL_ID like '7yc%';
exec DBMS_SHARED_POOL.PURGE ('000000085FD77CF0, 808321886', 'C');
...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266453
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expimpПодскажите, пожалуйста как интерпретировать количество выполнений оператора в поле Executions.
Я понимаю, что счетчик включается после попадания оператора в библиотечный кэш.
И, отключается, после его вытеснения оттуда.
Если оператор попадает туда снова, включается новый счетчик?

А с какого момента, вообще, идет отсчет? С момента перезапуска?


V$sql ненадежный источник , Используйте AWR report.
...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266456
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expimpА с какого момента, вообще, идет отсчет? С момента перезапуска?C момента появления в shared sql area (не забыавем что чайлдов может быть несколько).
pihelДумаю проще для этих целей использовать dba_hist_active_sess_history по полю sql_exec_idЭто поле не монотонно возрастающее и генерится по запутанному алгоритму.
Если нагруженная система - можно обнаружить непустой результат для запроса ниже
Код: plsql
1.
2.
3.
4.
5.
6.
select sql_id,
       sql_exec_id,
       count(distinct sql_exec_start)
  from dba_hist_active_sess_history
group by sql_id, sql_exec_id
having count(distinct sql_exec_start) > 1

sql_exec_id полезно для расследования long running запросов, но не для того, чтоб считать количество выполнений.
...
Рейтинг: 0 / 0
Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
    #39266574
expimp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как определить суммарное количество выполнений какого-то sql_id? - v$sql executions
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]