|
|
Oracle: Activar modo ARCHIVELOG en Oracle Database 11g R2
![]() Explicamos cómo activar el modo ARCHIVELOG en Oracle Database 11g. Mostramos en qué consiste el modo ARCHIVELOG, qué son los redo log online y redo log offline. Indicamos algunas recomendaciones de seguridad para que nuestra base de datos sea totalmente robusta ante fallos de disco y fallos humanos. Explicamos también cómo desactivar el modo ARCHIVELOG, aunque no es recomendable, en determinados entornos puede ser necesario.
En qué consiste el modo ARCHIVELOG de Oracle, recomendacionesCómo funciona el modo ARCHIVELOG en OracleOracle escribe en los archivos de registros de reconstrucción en línea (redo log online) de manera cíclica, cuando los usuarios realizan modificaciones en la base de datos, Oracle guarda todas las transacciones que se van realizando en estos archivos de redo log online. Empieza a escribir en el primer archivo de redo log online, cuando se llena pasa al segundo, y así sucesivamente hasta llegar al último archivo de redo log online, cuando llena el último inicia un proceso en segundo plano llamado LGWR (Log Writer) para sobreescribir los contenidos del primer archivo de redo log online y volver a empezar. Cuando Oracle se ejecuta en modo ARCHIVELOG el proceso en segundo plano llamado ARCH hace una copia de cada archivo de redo log online una vez que el proceso LGWR termina de escribir en él, guarda dicha copia en los archivos de reconstrucción fuera de línea (redo log offline) en disco:
El modo ARCHIVELOG de Oracle es un mecanismo de protección ante fallos de disco implementado por Oracle. Protegerá la base de datos ante posibles fallos físicos de disco y también ante eliminaciones o modificaciones no deseadas de los datos. Con este mecanismo tendremos varias ventajas:
La única desventaja es que este modo puede ralentizar (mínimamente) la base de datos y requiere de más espacio en disco para alojar los redo log offline (archivos de reconstrucción fuera de línea). En realidad Oracle implementó este modo de ARCHIVELOG cuando los discos duros eran más susceptibles de fallar. Hoy en día con los discos duros profesionales de que disponemos en niveles de RAID adecuados es bastante difícil que ocurran fallos, aunque no es imposible. Además, este modo, como ya hemos comentado, tiene varias ventajas por las que merece la pena usarlo.
Recomendaciones de seguridad para ARCHIVELOG en OracleA continuación indicamos algunas recomendaciones para disponer de una base de datos robusta, con un alto grado de disponibilidad y de protección ante fallos (tanto humanos como físicos de hardware):
Activar el modo ARCHIVELOG en Oracle 11g R2Antes de activar el modo ARCHIVELOG de una base de datos Oracle, lo que haremos en primer lugar es verificar el estado actual, para asegurarnos de que, efectivamente, el modo ARCHIVELOG no está activado. Para comprobarlo abriremos SQL*Plus desde una ventana de MS-DOS (si estamos en Windows) o una ventana de Terminal (si estamos en Linux), para ello ejecutamos el siguiente comando:
Nos conectamos a la base de datos con un usuario con permisos de DBA con el comando:
Ejecutamos el siguiente comando Oracle para comprobar si la base de datos está o no en modo ARCHIVELOG:
El resultado del comando anterior en caso de que el ARCHIVELOG no esté activo es:
También podremos comprobar el estado de ARCHIVELOG ejecutando la siguiente consulta SQL:
Ahora, para que se apliquen los cambios y para establecer la base de datos en modo ARCHIVELOG definitivamente, deberemos detener la base de datos para iniciarla en modo "mount" (montada). Por ello, si nuestra base de datos requiere un alto grdo de disponibilidad y hay usuarios conectados deberemos hacerlo en un momento del día en que el impacto sea menor. El proceso es rápido por lo que la base de datos estará detenida un minuto a lo sumo. Para detener la base de datos ejecutaremos:
Antes de iniciar la base de datos, es importante que la carpeta de destino de los redo log offline archivados exista en el sistema de ficheros del sistema operativo, en nuestro ejemplo hemos creado la carpeta "archive_log_offline" en la unidad C: Iniciamos la base de datos en modo mount con el comando:
Ejecutamos el siguiente comando para indicar a Oracle que la base de datos se iniciará a partir de ahora en modo ARCHIVELOG:
Abriremos la base de datos con el comando:
A partir de ahora nuestra base de datos ya estará en modo ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado) con el comando:
Y la sentencia SQL:
Si queremos forzar a Oracle a que escriba los redo log online en los redo log offline podemos ejecutar el comando:
Este comando podremos ejecutarlo para forzar el copiado, para comprobar que el ARCHIVELOG está funcionando o cuando queremos realizar algún cambio hardware o software que suponga algún "peligro" para los datos, en estos casos forzaremos un copiado de los redo log online a los redo log offline y haremos copia de seguridad. Por supuesto, Oracle realiza el copiado de forma automática cada vez que un redo log online se llena, como ya hemos indicado, por lo que este comando no deberemos usarlo salvo en circunstancias específicas. Hemos ejecutado tres veces el comando alter system switch logfile; como ejemplo y Oracle habrá creado tres ficheros de redo log offline en la carpeta de destino: Nota: no debemos usar "alter system set log_archive_start = TRUE scope = spfile;", este parámetro ha quedado obsoleto a partir de la versión 10g de Oracle, ya no es necesario. Desactivar el modo ARCHIVELOG en Oracle 11g R2Aunque no es recomendable, en determinados entornos y en determinadas circunstancias hay que desactivar el modo ARCHIVELOG, para hacerlo detenemos la base de datos (se desconectarán todos los usuarios y transacciones actuales) con el comando (desde SQL*PLus, como hemos indicado anteriormente):
Iniciamos la base de datos en modo mount con:
Ejecutaremos el siguiente comando para desactivar el modo ARCHIVELOG en Oracle 11g:
Abriremos la base de datos con el comando:
A partir de ahora nuestra base de datos ya no estará en modo ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado) con el comando:
Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft Anuncios
Enviado el Domingo, 07 agosto a las 23:59:40 por ajpdsoft
|
|