Уверен, что нет системной таблицы, которая бы отслеживала это так конкретно, но вы можете получить то, что ищете, запросив v_monitor.query_requests
и отыскивая запросы, начинающиеся с UPDATE
.
SELECT *
FROM v_monitor.query_requests
WHERE request ILIKE 'UPDATE%';
ILIKE
является нечувствительным к регистру оператором LIKE
.
Если вы хотите более точный способ поиска обновлений, вы можете выполнить свои обновления с меткой запроса: /*+LABEL('update')*/
UPDATE /*+LABEL('update')*/ table
SET col1 = col1 + 1;
Вы также можете пометить другие ваши запросы аналогично, INSERT /*+LABEL('insert') INTO table ...
Затем вы можете запросить таблицу query_requests
для поиска этих конкретных меток.
SELECT *
FROM v_monitor.query_requests
WHERE request_label = 'update';
Обновить:
Начиная с 9.2, существует новая системная таблица с именем LOG_QUERIES
, которая отслеживает некоторые изменения DDL, такие как CREATE
, ALTER
, TRUNCATE
и т. Д. К сожалению - из моих тестов - этоне похоже, что он отслеживает обновления, поэтому может не помочь с вашим конкретным вопросом, но может быть полезно, если вы хотите отслеживать заявления CREATE
или ALTER
в будущем.Если у вас есть поддержка премиум-класса, вы можете также попросить включить в эту таблицу UPDATE
операторов.