En este artículo vamos a aprender a gestionar ficheros redo log a través de un ejemplo real. Todo esto es puede ser útil si tenéis que añadir, sustituir o eliminar ficheros redo log.
En el ejemplo vamos a sustituir los ficheros actuales por unos de mayor tamaño.
Ver ficheros actuales
Por norma general en la vida, antes de tocar o actualizar algo tenemos qué tenemos. Para este caso os dejo una sentencia muy útil:
SELECT
a.GROUP# as GRUPO,
a.THREAD#,
a.SEQUENCE#,
a.ARCHIVED as ARCHIVADO,
a.STATUS as ESTADO,
b.MEMBER AS RUTA_Y_NOMBRE_REDO,
(a.BYTES/1024/1024) AS TAMANO_MB
FROM v$log a
JOIN v$logfile b ON a.Group#=b.Group#
ORDER BY a.GROUP#;
Nos devolverá todo lo que necesitamos saber el estado, la ruta/nombre del fichero y el tamaño entre otras cosas.
Añadir ficheros REDO LOG
Ahora que ya sabemos lo que tenemos, vamos a añadir más ficheros.
ALTER DATABASE
ADD LOGFILE GROUP 4 ('<RUTA_Y_NOMBRE_REDO_LOG>')
SIZE 1024M;
Muy importante fijarse en el grupo al que lo queréis agregar. Volviendo al ejemplo tenemos los grupos 1, 2 y 3 (un grupo por fichero) por lo que yo agregué tres ficheros con el grupo 4, 5 y 6.
Eliminar ficheros REDO LOG
Antes de eliminar un fichero redo log tenemos que asegurarnos que el fichero está en estado inactivo. Con la primera sentencia podéis los ficheros activos e inactivos.
Oracle gestiona de forma automática la escritura en éstos ficheros, sin embargo podemos forzarle a saltar al siguiente, así que si está utilizando un fichero que queréis eliminar podéis hacerle saltar con el siguiente comando:
ALTER SYSTEM SWITCH LOGFILE;
Este no es un proceso instantáneo, pero funcionará. Cuando el fichero que queremos eliminar este inactivo, lo podemos eliminar así:
ALTER DATABASE DROP LOGFILE GROUP 1;
Prestad atención en el grupo, puesto que el grupo indicado será eliminado.
En el caso del ejemplo tuve que saltar varias veces de logfile y a medida que iban quedando inactivos los viejos ficheros los iba eliminando. Al final me quedé con el siguiente escenario:
Como vemos, los grupos 1, 2 y 3 que tenían ficheros de 200MB han sido reemplazados por los grupos 4, 5 y 6 con ficheros de 1GB de tamaño.
Espero que el artículo os haya servido. En cualquier caso en la propia web de Oracle tenéis la documentación oficial, que es muy útil para resolver dudas.