logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Pasando la Base de Datos a Archive Log

Selecciona el idioma :

Este video solo está disponible para los alumnos que han adquirido el curso

Pasando la Base de Datos a Archive Log


Para hacer el cambio hacia el modo ARCHIVELOG, tenemos primeramente tener la base de datos parada, entonces hacemos un:

  • SHUTDOWN IMMEDIATE

Y debemos esperar que Oracle cierre la base de datos. Y es que Oracle no permite este tipo de cambios en caliente, ya que son cambios importantes en la arquitectura de trabajo de Oracle, y para modificar los redo log, los ficheros de control y gestionar los ARCHIVERS, no nos permite hacerlo de una manera online, o sea, mientras la base de datos está funcionando.

Ya tenemos la base de datos cerrada, ahora debemos arrancarla en modo MOUNT, que es una de las formas que tenemos de arrancar una base de datos en Oracle. No es muy común que se entre a Oracle a través de una conexión MOUNT, pero es muy útil para cuando necesitamos hacer RECOVERIES, BACKUPS y también, como veremos a continuación, nos sirve para cambiar el modo en que tengamos nuestra base de datos.

STARTUP MOUNT: Y en pocos segundos Oracle arranca la base de datos. Además de los que ya conocemos, existe otro comando que viene muy bien para visualizar el modo en que tenemos la base de datos, es el comando:

ARCHIVE LOG LIST: Y vemos que nos devuelve información sobre el modo en que tenemos la base de datos, por ejemplo, aquí vemos que está en modo NOARCHIVELOG, que no tiene habilitado el archivado automático, etc… Veamos ahora cómo se puede cambiar el modo de la base de datos.

ALTER DATABASE ARCHIVELOG: Y vemos el mensaje de Database altered. Si ahora escribimos:

  • ARCHIVE LOG LIST: Vemos que la base de datos está ahora en modo ARCHIVE LOG y se habilita el archivado automático.

Vamos a arrancar de vuelta la base de datos:

  • ALTER DATABASE OPEN: Presionamos Intro, y si todo es correcto y no muestra errores, entonces ya estamos trabajando con la base de datos en modo ARCHIVELOG.

Para comprobarlo podemos utilizar la vista V$DATABASE, vamos a mostrar el nombre y el LOG_MODE de la base de datos.

SELECT NAME, LOG_MODE FROM V$DATABASE.

Y podemos ver que la base de datos está en modo ARCHIVELOG. Entonces, en teoría, cada vez que se llene un redo log, se va a crear un ARCHIVELOG que va a estar almacenado en los destinos que definimos en el video anterior, uno en el directorio ARCHIVERS que se encuentra a su vez dentro de directorio vedado, y también se van a almacenar el la FRA.

En realidad ni siquiera tiene que llenarse el redo log, o sea, simplemente podemos hacer un SWITCH y en cuanto cambie de redo log, se va a crear un ARCHIVER.

Vamos a visualizar la vista V$LOG:

  • SELECT GROUP#, SEQUENCE#, STATUS FEOM V$LOG: Y tenemos aquí los tres grupos de redo log, y vemos que el grupo 2 es el que tiene status CURRENT. Si hacemos un SWITHC, va a cambiar el status CURRENT al grupo 3 y como tenemos la base de datos en modo ARCHIVELOG, se van a almacenar los cambios que estén el archivo que pertenece al grupo 2 en un ARCHIVERS dentro de los destinos que le indicamos a Oracle en el video anterior.

Vamos a verlo de forma práctica, hagamos un SWITCH. Para ello escribimos:

  • ALTER SYSTEM SWITCH LOGFILE: Presionamos Intro, y vemos el mensaje de system altered. Vamos a comprobar ahora que efectivamente Oracle está almacenando los ARCHIVERS.

Aquí tenemos otra terminal de Windows, donde vamos a visualizar esos archivos. Por ejemplo, primero vamos a la dirección en el disco que le habiamos indicado a Oracle que queremos almacenar estos ARCHIVERS:

  • cd /vedado/archivers

Mostramos el contenido de esta carpeta y tenemos aquí el ARCHIVERS recién creado, con el formato de nombre que también le indicamos cuando configuramos los parámetros del ARCHIVELOG.

Vayamos ahora a donde tenemos la FRA, ya que es otro de los destinos que le indicamos a Oracle para los ARCHIVE LOGS. cd /u01/app/oracle/fast_recovery_area/

Y debemos saber que oracle almacena los archivelogs en la FRA, dentro de ORCL, en un directorio que se llama archivelog. Si visualizamos su contenido, se nos muestran muchos directorios, si observamos tiene como nombre fechas. La cuestión con esto, es que Oracle, dentro de la FRA, organiza los archivers en directorios por fecha.

Si accedemos al directorio 2022_08_23 y mostramos su contenido, vemos que tenemos un archivo, que es el que recién se creó. Notar que el nombre no es el


bd archive log

Publicaciones Recientes de oracle dba

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?