Если у вас есть корпоративная версия и пакет производительности и настройки (в противном случае запрос таблиц AWR нарушает вашу лицензию), представление V$ACTIVE_SESSION_HISTORY
будет наиболее близким к вам.Это будет фиксировать каждую секунду, что выполнял каждый активный сеанс.Если у вас есть пользователь, который выполняет много операторов SQL в секунду, или ваши операторы SQL достаточно быстры, чтобы они не были активны за определенной второй границей, однако, не каждый запрос будет перехвачен.Если вы просто пытаетесь получить общую выборку из последних 10 вещей, которые были выполнены конкретным пользователем (с уклоном в перехват длинных запросов), AWR должно быть достаточно.Но если вы пытаетесь сделать что-то вроде отслеживания действий пользователя в его сеансе, AWR не подойдет.
Если вы хотите захватить абсолютно все, что делает пользователь, вам нужно будет отслеживать сеанс,Это приведет к тому, что на сервере будет сгенерирован довольно объемный файл трассировки, который можно обобщить с помощью утилиты tkprof
.Но для этого необходимо включить трассировку для конкретного сеанса до того, как будет выполнен интересующий вас SQL - это не то, что можно сделать задним числом.
Если вас интересуют только изменения, внесенные в сеансе, вы можете использоватьLogMiner для просмотра журналов повторов, чтобы увидеть, что делал пользователь.Это можно сделать задним числом, но поскольку операторы SELECT не генерируют REDO, они не будут записываться в журналы повторов и будут невидимы для LogMiner.