Estadísticas de una vista

Hola,¿hay alguna manera de obtener estadísticas de uso de una vista para saber qué usuarios y/o aplicaciones tienen acceso a ella? Tengo una vista que sin venir a cuento se colapsa y las consultas a ella se ralentizan, y necesito saber quien está accediendo a la vista en ese momento. Gracias!

1 respuesta

Respuesta
1
Supongo que lo que tu quieres hacer es auditar los accesos a esa vista, si no es así dime exactamente lo que quieres.
Las auditorias son muy sencillas, sólo tendrías que poner:
sql> audit select,insert,update,delete on esquema.vista by session;
Esto te auditaría las correspondientes acciones reflejadas (select, update...) por cada sesión que entra en el sistema. Puedes no querer auditar todo, eso es a criterio pripio, se lo quitas y punto.
Además puedes auditar por cada acceso (cambiar by session por by access), a diferencia es que si yo entro en el sistema y hage 10 select a la vista, by session sólo refleja una entrada y by access 10.
Esta sentencia lo que provoca es una entrada en la tabla sys.aud$ que a posteriori puedes consultar para ver todos los detalles del acceso (nombre del objeto si auditas más de uno, propietario, quien accedió...).
Ojo, debes tener mucho cuidado con las auditorias, el tamaño de la tabla sys.aud$ puede crecer excesivamente (sobre todo si auditas por acceso y no por sesión), así que nunca la pierdas de vista, y si crece mucho pasa los datos a una tabla de usuari y truncala (no la borres).

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas