Beruflich Dokumente
Kultur Dokumente
Oracle, recomendaciones
Cmo funciona el modo ARCHIVELOG en Oracle
Oracle escribe en los archivos de registros de reconstruccin en lnea (redo log
online) de manera cclica, 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 reconstruccin fuera de lnea (redo log offline) en disco:
Tras asegurarnos de que la base de datos no est en modo ARCHIVELOG, como hemos
indicado anteriormente, ahora ejecutaremos el siguiente comando para indicar la
carpeta de destino de los redo log offline:
alter system set log_archive_dest_1='location=C:/archive_log_offline' scope=spfile;
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 grado de
disponibilidad y hay usuarios conectados deberemos hacerlo en un momento del da en
que el impacto sea menor. El proceso es rpido por lo que la base de datos estar
detenida un minuto a lo sumo. Para detener la base de datos ejecutaremos:
shutdown immediate
Si queremos forzar a Oracle a que escriba los redo log online en los redo log offline
podemos ejecutar el comando:
alter system switch logfile;
Este comando podremos ejecutarlo para forzar el copiado, para comprobar que el
ARCHIVELOG est funcionando o cuando queremos realizar algn cambio hardware o
software que suponga algn "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 automtica cada vez que un redo log
online se llena, como ya hemos indicado, por lo que este comando no deberemos
usarlo salvo en circunstancias especficas.
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 parmetro ha quedado obsoleto a partir de la versin 10g de Oracle, ya no es
necesario.