¿Qué es el Oracle ArchiveLog Mode? Las bases de datos Oracle se pueden configurar en dos modos, ARCHIVELOG mode y NOARCHIVELOG mode.
- ARCHIVELOG mode permite configurar la base de datos de tal manera que se cree un backup de todas las transacciones que tienen lugar en la BD, de modo que se cuente con un método de recuperación en cualquier punto en el tiempo dentro de los límites de almacenamiento de archives.
- NOARCHIVELOG mode es todo lo contrario, al no guardar un registro de todas las transacciones de la base de datos, no hay posibilidad de restaurar en un punto concreto. Eso sí, mejora ligeramente el rendimiento ya que se ahorran esas escrituras extra.
Habilitar el modo ARCHIVELOG
Lo primero es confirmar el modo en el que estamos haciendo una consulta a la vista v$database
:
SQL > select name,log_mode from v$database; NAME LOG_MODE --------- ----------- BDFOO NOARCHIVELOG
Información extra:
SQL > archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 46835 Next log sequence to archive 46836 Current log sequence 46836
Para poder modificar el modo de archive es necesario bajar la base de datos y después iniciarla en modo mount (como un startup mount
):
$ srvctl stop database -d BDFOO $ srvctl start database -d BDFOO -o mount
Una vez realizado esto, accedemos por SQLPlus y activamos el modo archive:
SYS.BDFOO>ALTER DATABASE ARCHIVELOG; Database altered. Elapsed: 00:00:00.10
Sólo falta parar la base de datos y hacer un arranque completo de la misma:
$ srvctl stop database -d BDFOO $ srvctl start database -d BDFOO
Una vez arrancada la BD, ya podremos ver el modo activo y su estado con los mismos comandos que ejecutamos inicialmente:
SYS.BDFOO>select name,log_mode from v$database; NAME LOG_MODE --------- ------------ BDFOO ARCHIVELOG 1 row selected. Elapsed: 00:00:00.00 SYS.BDFOO> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 46835 Next log sequence to archive 46836 Current log sequence 46836
Deshabilitar el modo ARCHIVELOG
Para deshabilitar el modo archive, hay que seguir exactamente los mismos pasos que para activarlo, pero cambiando la sentencia de activación por lo desactivación:
SYS.BDFOO>ALTER DATABASE NOARCHIVELOG; Database altered. Elapsed: 00:00:00.10