top of page

12.7. BORRANDO UN MIEMBRO DE REDO LOG

Captura (1).jpg

   Detalle:

   Fichero Apuntes........

APUNTES.xlsm

En esta sesión vamos a aprender cómo eliminar un miembro de un grupo del REDO LOG.


Primero vamos a acceder a la vista V$LOG,

  • SELECT GROUP#, MEMBERS, STATUS FROM V$LOG;


Y tenemos aquí el grupo cuatro el cual tiene dos miembros, y es el portador del status CURRENT.


Pues vamos a eliminar un miembro precisamente de este grupo 4.


Antes vamos a acceder a la vista V$LOGFILE, para ver cuáles son los ficheros de REDO LOG que conforman este grupo, entonces escribimos el siguiente comando:

  • SELECT GROUP#, MEMBER FROM V$LOGFILE;


Podemos observar que el grupo 4, contiene dos ficheros, que serían los dos miembros que forman el grupo 4. Vamos a eliminar entonces el miembro al cual corresponde este fichero de aquí, el grupo4-log1.log.


Entonces, para eliminar un miembro de un grupo, debemos escribir el siguiente comando:

  • ALTER DATABASE DROP LOGFILE MEMBER '/vedado/grupo4-log1.log';


Si observamos, no tenemos que indicarle el grupo al que pertenece el miembro que queremos eliminar. Y es que en realidad Oracle no lo necesita, ya que se puede identificar el grupo al que pertenece determinado fichero del REDO LOG, ya que en una única ubicación, podemos tener solo un fichero con el mismo nombre.


Presionamos Intro, y Oracle nos muestra un error, informándonos básicamente que no se puede eliminar un miembro de un grupo con status CURRENT. Esto tiene mucha lógica, ya que este fichero está manejando transacciones en tiempo real, y son transacciones que aún no se sincronizan con el fichero de datos, y en caso de un borrado de este archivo, se pudieran perder cambios que se hayan realizado en la base de datos. Aunque tengamos multiplexado los grupos, como en este caso, donde tenemos otro fichero de REDO LOG, el grupo4-log2-log, aun así, Oracle no permite eliminar un miembro de un grupo con status CURRENT.


¿Qué podemos hacer entonces? Pues podemos hacer un SWITCH, y entonces el status CURRENT pasaría al próximo grupo en la cola, y una vez liberado del status CURRENT el grupo 4 deberíamos poder eliminar uno de sus miembros.

En esta sesión vamos a aprender cómo eliminar un miembro de un grupo del REDO ...

< Temario
¿Hay algún Error o Mejora?

CARGANDO

linea2.jpg
bottom of page