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
- Comprender cómo funciona el proceso de Instance Recovery en Oracle.
- Simular un fallo en la instancia de la base de datos.
- 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