Las operaciones DDL (Create, Alter, Drop) y DML (Insert, Update, Delete) se registran en la base de datos en forma de “REDO”. Inicialmente llega al “Redo Log Buffer” (en memoria) para posteriormente ser grabado en los archivos “Online Redo Logs”, pudiendo terminar en los “Archived Redo Logs” para asegurar un mejor nivel de recuperabilidad de la información. Si tenemos activado el Archive LOG de ORACLE (Redo LOG) necesitaremos en algunos casos poder leer la información que ellos contienen. Como es un fichero encriptado necesitaremos utilizar el LOGMINER.
Nos conectamos al SQL:
MSDOS: sqlplus [usuario]/[password]
Activar el registro suplementario en el nivel de base de datos
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Habilitar Supplemental Logging a nivel de toda la base de datos SQL
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
SUPPLEME
--------
YES
Configuramos el formato de las fechas de la sesión para poder consultar los datos y filtrarlos.
SQL> alter session set NLS_DATE_FORMAT=’DD-MON-YYYY HH24:MI:SS’;
Buscamos el nombre del último fichero LOG creado por el RedoLOG.
SQL> SELECT NAME FROM V$ARCHIVED_LOG
WHERE FIRST_TIME = (SELECT MAX(FIRST_TIME) FROM V$ARCHIVED_LOG);
NAME
-----------------------------------------------------------------------------------
C:\ORACLE\REDOLOG\ARC0000000051_0976270946.0001
Añadiremos el fichero al LOGMiner y lo ejecutaremos.
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
LOGFILENAME => ‘C:\ORACLE\REDOLOG\ARC0000000051_0976270946.0001‘,
OPTIONS => DBMS_LOGMNR.NEW);
SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
Y visualizaremos el contenido importado en una tabla
SQL> SELECT * FROM V$LOGMNR_CONTENTS;
-- No puedo mostrar un ejemplo por el tamaño de los datos. Una vez terminado cerramos el LogMiner y liberamos los datos temporales
SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR();
Deja un comentario