Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Saber si la tabla fue leida a traves de un select

Estas en el tema de Saber si la tabla fue leida a traves de un select en el foro de Oracle en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/11/2011, 12:58
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
Saber si la tabla fue leida a traves de un select

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
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 18/11/2011, 20:48
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
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:
alter system set audit_trail=db scope=spfile;
2. Definir las reglas de auditoria. Aquí existen muchas opciones, algunos ejemplos son:

Código:
--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;
3. Consultar los registros de auditoria. Después de definir las reglas, puedes ver la información resultante en la vista dba_audit_trail.

Código:
select username,
       extended_timestamp,
       owner,
       obj_name,
       action_name
from dba_audit_trail
Saludos
  #3 (permalink)  
Antiguo 21/11/2011, 10:10
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
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: fue, select, tabla, tablas, traves
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:14.