Ejemplo de cómo simular la pérdida de un archivo de control y cómo restaurarlo usando RMAN y ASM.

Supongamos que tenemos una base de datos Oracle 19c con los archivos de control almacenados en ASM ( recuerda tener un ambiente de pruebas para esto).

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 del archivo de control:

SQL> ALTER SYSTEM CHECKPOINT;
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER SYSTEM CHECKPOINT;
SQL> !rm +DATA/orcl/controlfile/current.261.1234567890

Ahora, la base de datos queda sin uno de los archivos de control.

  1. Intenta abrir la base de datos:
SQL> STARTUP
ORACLE instance started.
ORA-00205: error in identifying control file, check alert log for more info

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

  1. Utiliza RMAN para restaurar el archivo de control:
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
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 control file
channel ORA_DISK_1: restore complete
output file name=/+DATA/orcl/controlfile/current.261.1234567890
Finished restore at 27-DIC-24

Montar la base de datos:

RMAN> ALTER DATABASE MOUNT;
Statement processed
SQL> ALTER DATABASE OPEN;
Database altered.

Ahora la base de datos está abierta y operativa.

  1. Verifica que el archivo de control haya sido restaurado correctamente:
SQL> SELECT NAME, STATUS FROM V$CONTROLFILE;  
NAME                                                           STATUS  
------------------------------------------------------------- ----------  
+DATA/orcl/controlfile/current.261.1234567890                   AVAILABLE

En este ejemplo, hemos:

  1. Iniciado la sesión de RMAN.
  2. Simulado la pérdida del archivo de control.
  3. Intentado abrir la base de datos, lo cual falló debido a la falta del archivo de control.
  4. Utilizado RMAN para restaurar el archivo de control a partir del autobackup.
  5. Montado y abierto la base de datos.
  6. Verificado que el archivo de control haya sido restaurado correctamente.

De esta manera, puedes comprobar que RMAN y ASM te permiten restaurar el archivo de control de manera efectiva en caso de que se pierda o corrompa.

Si tienes alguna otra pregunta, no dudes en consultarme y recuerda que este uno de los muchos escenarios que nos vamos a encontrar en la vida como DBA, adáptalo a tus necesidades más adelante veremos casos más complejos.

Deja un comentario

Tendencias