Hola
estoy con oracle 10g y me gustaria saber si es posible obtener que tablas han sido accedidas ya sea por un select, update, insert o delete
Se agradece de antemanos
| ||||
Respuesta: Saber si la tabla fue leida a traves de un select Puedes ver las operaciones que se realizan sobre los objetos activando la auditoria en la base de datos. El tema es demasiado extenso y con muchas opciones de configuración como para comentar en un post, sería mejor que leas la documentación en http://docs.oracle.com/cd/B19306_01/...6/cfgaudit.htm, también tienes un buen resumen en http://www.oracle-base.com/articles/...ting_10gR2.php. De todos modos, para que tengas una idea, los siguientes pasos son un ejemplo simple de auditoria. 1. Activar la auditoria configurando el parámetro audit_trail. Aquí necesitas, privilegios de DBA para ejecutar el comando alter system, y reiniciar la base de datos para que haga efecto el cambio.
Código:
2. Definir las reglas de auditoria. Aquí existen muchas opciones, algunos ejemplos son:alter system set audit_trail=db scope=spfile;
Código:
3. Consultar los registros de auditoria. Después de definir las reglas, puedes ver la información resultante en la vista dba_audit_trail.--auditar todas las operaciones de un_usuario en todos los objetos audit all by un_usuario by access; --auditar algunas operaciones de un_usuario en todos los objetos audit select table, update table, insert table, delete table by un_usuario by access; --auditar algunas operaciones sobre una tabla en todos los usuarios audit delete, insert, update on una_tabla by access;
Código:
Saludos select username, extended_timestamp, owner, obj_name, action_name from dba_audit_trail |
| ||||
Respuesta: Saber si la tabla fue leida a traves de un select Se agradece la respuesta MATANGA, revisare el tema de la auditoria. Saludos.
__________________ Atte Real BHONOX Programador Cervecero! :borracho: Lenguajes vengan a MI!! |
Etiquetas: |