Si tiene la edición empresarial y el paquete de rendimiento y ajuste (de lo contrario, la consulta de las tablas AWR infringe su licencia), la vista V$ACTIVE_SESSION_HISTORY
será la más cercana que obtendrá. Esto capturará en cada segundo lo que cada sesión activa estaba ejecutando. Si tiene un usuario que está ejecutando muchas sentencias SQL por segundo o sus sentencias SQL son lo suficientemente rápidas para que no estén activas en un segundo límite particular, sin embargo, no se capturarán todas las consultas. Si solo está tratando de obtener un muestreo general de las últimas 10 cosas que ha hecho un usuario en particular (con un sesgo para capturar consultas de mayor duración), el AWR debería ser suficiente. Pero si intenta hacer algo como rastrear lo que un usuario está haciendo en su sesión, el AWR no sería apropiado.
Si desea capturar absolutamente todo lo que hace un usuario, necesitará rastrear la sesión. Eso causará que se genere un archivo de rastreo bastante voluminoso en el servidor que puede resumir utilizando la utilidad tkprof
. Pero eso requiere que habilite el rastreo para una sesión en particular antes de que se ejecute el SQL de interés, no es algo que se pueda hacer retroactivamente.
Si solo estaba interesado en los cambios realizados en la sesión, puede usar LogMiner para revisar los registros de rehacer y ver lo que el usuario estaba haciendo. Eso se puede hacer retroactivamente, pero dado que las instrucciones SELECT no generan REDO, no se escribirían en los registros de rehacer y serían invisibles para LogMiner.
V $ SESSION mantiene nombre de usuario. http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2088.htm – ukhardy