¿Existe forma de controlar modificaciones en tablas de Oracle?

Hola a todos:

 

Mando antes que todo un cordial saludo y reiterando el buen contenido de este sitio, me gusta mucho la ayuda que ofrece y pasando a otras cosas quiero exponer un caso y una duda que tengo:

 

Existe la forma o manera en que se pueda saber la ultima fecha en que una TABLA en oracle fue modificada, insertada o eliminada (DML's) en cuanto a datos, no me refiero a que si haya sufrido alguna modificación en su estructura(DDL's).

 

El tema que me surgio fue a raiz de que por citar un ejemplo: no se cuando fue la ultima vez en que en la tabla de "Empleados u otras" habia recibido una ultima inserción o modificación o eliminación de un registro, aclaro se que existe forma de poder controlar esto por medio de triggers para estas situaciones y en medida de lo posible por mejores practicas agregar un campo de fecha para este tipo de identificaciones ya sea como apoyo, o como parte del negocio que se maneje en cuestión, pero hay ocasiones en que heredamos sistemas y las BD no cuentan con un soporte lo mas integral posible.

 

Pase por este link: http://www.dataprix.com/blogs/il-masacratore/lista-tablas-mas-movimientoinsertupdate-oracle

pero quiza no me fue de gran utilidad, alguna otra idea?.

 

El SGBD es Oracle 12c Standard Edition.

 

Saludos y muchas gracias de antemano.

 

Hola Esteban

Posiblemente la mejor manera para controlar si se hacen modificaciones, inserciones o eliminaciones en las tablas de Oracle sea utilizar el sistema de auditoría que proporciona la base de datos. Con la auditoría de base de datos puedes controlar tanto las sentencias que ejecuta un usuario como las que se ejecutan sobre objetos de la base de datos, en tu caso sobre tablas.

Echa un vistazo al tema auditoría de la base de datos, seguimiento y seguridad, la presentación explica bastante bien cómo activarla y cómo utilizarla, es para la versión 10, pero seguro que puedes aprovecharlo para la 12.

Espero que te sea de ayuda,