Esta práctica te permitirá experimentar el proceso de recuperación de una instancia después de un fallo simulado. Te describiré los pasos a seguir, los comandos que puedes utilizar, y las explicaciones correspondientes. Asegúrate de realizar esto en un entorno de prueba para evitar la pérdida de datos.

Práctica de Instance Recovery en Oracle

Objetivos de la Práctica

  1. Comprender cómo funciona el proceso de Instance Recovery en Oracle.
  2. Simular un fallo en la instancia de la base de datos.
  3. Realizar la recuperación de la instancia y analizar el resultado.

Pre-requisitos

  • Tener una base de datos Oracle (preferentemente 19c) en un entorno de prueba.
  • Acceso a SQL*Plus o cualquier herramienta de administración de Oracle (como SQL Developer).
  • Conocer las credenciales de un usuario que tenga privilegios adecuados, como SYSDBA.

Pasos de la Práctica

Configuración Inicial

Conectar a la Base de Datos:
Abre tu terminal o SQL Developer y conecta a la base de datos usando un usuario con privilegios de DBA.

    sqlplus sys as sysdba

    Crear una Tabla para Pruebas
    Vamos a crear una tabla simple para realizar algunas operaciones.

    CREATE TABLE test_table (
    id NUMBER,
    description VARCHAR2(50)
    );
    INSERT INTO test_table (id, description) VALUES (1, 'Test Row 1');
    INSERT INTO test_table (id, description) VALUES (2, 'Test Row 2');
    COMMIT;
    INSERT INTO test_table (id, description) VALUES (3, 'Test Row 3');
    INSERT INTO test_table (id, description) VALUES (4, 'Test Row 4');
    

    Monitoreo de Redo Logs

    Ver los archivos de Redo Logs:
    Puedes consultar los archivos de redo logs para verificar su configuración y ubicación.

    SELECT GROUP#, MEMBER FROM V$LOGFILE;SELECT GROUP#, MEMBER FROM V$LOGFILE;

    Comprobar el Estado de Checkpoints
    Para observar el último SCN (System Change Number) y el estado del checkpoint, ejecuta:

    SELECT * FROM V$DATABASE;

    Simulación de un Fallo de Instancia

    Detener la Instancia de Forma Abrupta
    Para simular un fallo de instancia, puedes usar un comando que no recomiendes para entornos de producción. Sin embargo, para esta práctica, usaremos un comando de parada forzada:

      SHUTDOWN ABORT;

      Para más información de lo que hace este modo de bajar la bd, ve al siguiente link:

      Reinicio y Recovery

      Reiniciar la Instancia:
      Ahora reinicia la base de datos. Después de un cierre abrupto, Oracle realizará el proceso de instance recovery automáticamente.

        STARTUP;

        Observa en la salida cómo Oracle realiza la recuperación de la instancia. Este proceso puede incluir aplicar redo logs y deshacer transacciones no confirmadas.

        Verificar la Recuperación
        Después de que la base de datos haya iniciado correctamente, puedes verificar que la tabla y los datos se han recuperado:

          SELECT * FROM test_table;

          Deberías ver las filas que se habían insertado antes del fallo (si fueron confirmadas antes del cierre).

          Analizando los Resultados

          Comprobar el Estado Post-Recovery
          Para asegurarte de que la recuperación se realizó correctamente, revisa nuevamente el estado del archivo de control y el SCN.

            SELECT * FROM V$DATABASE;

            Asegúrate de que el último SCN haya avanzado correctamente.

            Opcional – Revisar Redo Logs:
            Puedes consultar el comportamiento de los redo logs y verificar los registros de redo aplicados durante la recuperación:

              SELECT * FROM V$LOG;

              Recomendaciones

              • Practica en entornos de prueba donde no afecte datos importantes.
              • Varía las operaciones, como realizar más modificaciones a la tabla antes del fallo, para observar cómo estas afectan el proceso de recuperación.

              Si tienes alguna pregunta sobre alguno de los pasos o si necesitas más información sobre algún tema específico, ¡hazmelo saber!

              Deja un comentario

              Tendencias