Vamos simular la pérdida de un archivo de redo log y su restauración usando RMAN.

Supongamos que tenemos una base de datos Oracle 19c con los archivos de redo log almacenados en ASM.

Inicia la sesión de RMAN:

$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed Dec 27 12:34:56 2024
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
RMAN>

Simula la pérdida de un archivo de redo log:

SQL> ALTER SYSTEM CHECKPOINT;
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> !rm +DATA/orcl/onlinelog/group_1.260.1234567890

Ahora, uno de los archivos de redo log ha sido eliminado.

  1. Intenta abrir la base de datos:
SQL> STARTUP
ORACLE instance started.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '+DATA/orcl/onlinelog/group_1.260.1234567890'

Como era de esperarse, la base de datos no puede abrirse debido a la falta del archivo de redo log.

  1. Utiliza RMAN para restaurar el archivo de redo log:
RMAN> RESTORE LOGFILE '+DATA/orcl/onlinelog/group_1.260.1234567890';
Starting restore at 27-DIC-24
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=12 device type=DISK
channel ORA_DISK_1: restoring log file
channel ORA_DISK_1: restore complete
Finished restore at 27-DIC-24

Recupera la base de datos:

RMAN> RECOVER DATABASE;
Starting recover at 27-DIC-24
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=12 device type=DISK
media recovery complete, elapsed time: 00:05:00
Finished recover at 27-DIC-24

Abre la base de datos:

SQL> ALTER DATABASE OPEN;
Database altered.

Ahora la base de datos está abierta y operativa.

  1. Verifica que el archivo de redo log haya sido restaurado correctamente:
SQL> SELECT GROUP#, MEMBER FROM V$LOGFILE;  
   GROUP#  MEMBER  
---------- ---------------------------------------------------------------  
         1 +DATA/orcl/onlinelog/group_1.260.1234567890  
         2 +DATA/orcl/onlinelog/group_2.261.1234567891  
         3 +DATA/orcl/onlinelog/group_3.262.1234567892

En este ejemplo, hemos:

  1. Iniciado la sesión de RMAN.
  2. Simulado la pérdida de un archivo de redo log.
  3. Intentado abrir la base de datos, lo cual falló debido a la falta del archivo de redo log.
  4. Utilizado RMAN para restaurar el archivo de redo log.
  5. Recuperado la base de datos.
  6. Abierto la base de datos.
  7. Verificado que el archivo de redo log haya sido restaurado correctamente.

De esta manera, puedes comprobar que RMAN te permite restaurar los archivos de redo log de manera efectiva en caso de que se pierdan o se corrompan.

Si tienes alguna otra pregunta, no dudes en consultarme.

Deja un comentario

Tendencias