¿Cómo recuperar una base de datos Oracle hasta un SCN determinado mediante RMAN y SQL*Plus?

El número de cambio del sistema (SCN) ayuda a restaurar bases de datos Oracle a un estado preciso tras errores. Esta guía explica los conceptos básicos del SCN y muestra cómo usar RMAN o SQL*Plus para realizar una recuperación exacta hasta un punto específico en el tiempo.

download-icon
Descarga gratuita
para VM, SO, BD, archivos, NAS, etc.
lucia

Updated by Lucia on 2026/09/09

Tabla de contenidos
  • ¿Qué es el SCN en la recuperación de bases de datos?

  • ¿Por qué recuperar la base de datos hasta un SCN?

  • Lista de comprobación previa a la recuperación: garantizar el éxito

  • ¿Cómo recuperar una base de datos hasta un SCN determinado mediante RMAN?

  • ¿Cómo recuperar una base de datos hasta un SCN determinado mediante SQL*Plus?

  • Prácticas recomendadas para la recuperación basada en SCN

  • Presentación de Vinchin Backup & Recovery

  • Preguntas frecuentes sobre la recuperación de la base de datos hasta un SCN

  • Conclusión

La recuperación de la base de datos es una de esas tareas que esperas no tener que realizar nunca, pero cuando ocurre un desastre, puede salvar tu negocio. En entornos de alto riesgo, como los sistemas financieros o las bases de datos ERP, incluso pequeños errores pueden derivar en problemas importantes. Para los operadores de TI, dominar la recuperación basada en el número de cambio del sistema (SCN) no es solo teórico: suele ser la última línea de defensa contra la corrupción de datos o errores cometidos por los usuarios.

A veces es necesario restaurar una base de datos Oracle no solo por fecha u hora, sino por su estado exacto justo antes de que algo fallara. Aquí es donde resulta útil la recuperación hasta un SCN. Esta guía le explica todo: qué es un SCN, por qué es importante, cómo realizar la recuperación paso a paso mediante RMAN o SQL*Plus, y cómo Vinchin ayuda a proteger sus datos.

¿Qué es el SCN en la recuperación de bases de datos?

El número de cambio del sistema (SCN, por sus siglas en inglés) está en el centro del modelo interno de coherencia de Oracle. Cada vez que una transacción se confirma en Oracle Database, se le asigna un SCN único; piénselo como una marca que aumenta constantemente y que registra cada cambio realizado en todos los tablespaces.

¿Por qué es esto importante? La base de datos utiliza estos números como marcas de tiempo, pero sin depender de los relojes del sistema, lo que significa que no hay confusión derivada de las diferencias horarias ni de la deriva del reloj. Al recuperar hasta un SCN determinado, le indica a Oracle: «Restaure mi base de datos exactamente hasta este punto». Es preciso hasta la última transacción confirmada.

¿Por qué recuperar la base de datos hasta un SCN?

¿Por qué elegiría alguien este método en lugar de recuperar por fecha o número de secuencia de registro? Imagine que alguien elimina accidentalmente datos críticos de nómina a las 14:03, pero varios cambios adicionales ocurren alrededor de ese mismo minuto. Si solo conoce la marca temporal —o si los relojes del servidor no están perfectamente sincronizados— podría omitir transacciones importantes o retroceder demasiado.

La recuperación hasta el SCN le permite identificar con exactitud dónde ocurrió el problema y deshacer únicamente lo que necesita corrección. Este enfoque minimiza la pérdida de datos tras eliminaciones accidentales o fallos de trabajos por lotes, y ayuda a cumplir normativas de cumplimiento estrictas que exigen registros de auditoría precisos.

Para las organizaciones sometidas a escrutinio regulatorio, o para aquellas que simplemente desean tranquilidad, la recuperación basada en SCN ofrece una precisión sin parangón en comparación con los métodos basados en el tiempo.

Lista de comprobación previa a la recuperación: garantizar el éxito

Antes de iniciar los pasos de recuperación, la preparación marca toda la diferencia entre un proceso fluido y horas de solución de problemas posteriormente.

En primer lugar: ¡valide sus copias de seguridad! Use regularmente los comandos RMAN VALIDATE BACKUP para evitar sorpresas durante las operaciones de restauración. A continuación: confirme que todos los registros archivados hasta su SCN objetivo están disponibles; la ausencia de registros implica una recuperación incompleta.

Compruebe el espacio en disco tanto en los servidores de origen como de destino: la restauración de bases de datos grandes requiere mucho espacio tanto para los archivos de copia de seguridad como para el almacenamiento temporal durante el procesamiento. Por último, documente bajo qué versión está actualmente ejecutándose su base de datos; si anteriormente se produjo algún evento de OPEN RESETLOGS, conocer esta información ayuda a evitar confusiones posteriores al restaurar los archivos de control o los registros archivados.

Tomar estas medidas desde el principio evita dolores de cabeza futuros y garantiza que cada elemento necesario para una recuperación exitosa esté listo cuando ocurra un desastre.

¿Cómo recuperar una base de datos hasta un SCN determinado mediante RMAN?

RMAN (Recovery Manager) es la herramienta integrada de Oracle para copias de seguridad y recuperación ante desastres; la mayoría de los administradores la utilizan porque automatiza muchas tareas complejas mediante comandos sencillos.

Comience buscando su SCN objetivo: el número justo anterior a la aparición de los cambios no deseados. Puede consultar directamente las vistas V$DATABASE o V$ARCHIVED_LOG:

SELECT CURRENT_SCN FROM V$DATABASE;

O si desea puntos históricos:

SELECT SEQUENCE#, FIRST_CHANGE#, NEXT_CHANGE# FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

Una vez que haya identificado su SCN deseado:

1. Apague la base de datos si está abierta mediante SHUTDOWN IMMEDIATE (o SHUTDOWN ABORT si es necesario).

2. Inicie en modo montaje con STARTUP MOUNT —esto mantiene los archivos de datos cerrados, pero accesibles para la restauración.

3. Conéctese como usuario de destino en RMAN.

4. Vista previa de los archivos requeridos con:

   SET UNTIL SCN <your_scn>;
   RESTORE DATABASE PREVIEW;

Esto muestra qué copias de seguridad y registros son necesarios antes de iniciar la restauración real: ¡una excelente forma de detectar piezas faltantes desde el principio!

5. Iniciar la restauración real:

   EJECUTAR {
     ESTABLECER HASTA SCN <your_scn>; # Reemplazar <your_scn> por el valor real
     RESTAURAR BASE DE DATOS;
     RECUPERAR BASE DE DATOS;
   }

6. Una vez finalizado, abra con resetlogs:

   ALTER DATABASE OPEN RESETLOGS;

Algunos consejos: si trabaja tras encarnaciones anteriores (RESETLOGS), utilice RESET DATABASE TO INCARNATION <incarnation_key> antes de iniciar las restauraciones. ¡Verifique siempre que todos los archivos de registro archivado necesarios existan hasta el SCN elegido; de lo contrario, RMAN se detendrá a mitad de la recuperación solicitando archivos faltantes!

Para copias de seguridad comprimidas o estrategias de varias secciones, comunes en implementaciones más grandes, asegúrese de utilizar configuraciones compatibles tanto durante la creación como durante la restauración de la copia de seguridad; de lo contrario, el rendimiento podría verse afectado o podrían producirse errores durante los pasos de descompresión o reconstrucción.

¿Cómo recuperar una base de datos hasta un SCN determinado mediante SQL*Plus?

SQL*Plus ofrece a los administradores de bases de datos experimentados un control detallado sobre las recuperaciones manuales, pero exige una atención cuidadosa, ya que sus funciones de automatización son limitadas en comparación con RMAN.

El primer paso sigue siendo identificar su SCN objetivo mediante las consultas mencionadas anteriormente (V$DATABASE, V$ARCHIVED_LOG, etc.).

Aquí es cómo se lleva a cabo la recuperación manual:

1. Apague el sistema mediante SHUTDOWN IMMEDIATE

2. Montar la instancia mediante STARTUP MOUNT

3. Restaure los archivos de datos físicos desde la ubicación de copia de seguridad; normalmente esto se realiza fuera de SQL*Plus mediante herramientas de copia a nivel del sistema operativo (como cp en Linux). Asegúrese de que los archivos restaurados coincidan con sus rutas originales; de lo contrario, actualice los punteros del archivo de control correspondientes mediante ALTER DATABASE RENAME FILE.

4. Iniciar la recuperación de medios:

    RECUPERAR BASE DE DATOS HASTA EL CAMBIO <your_scn>;

5. Tal como solicite SQL*Plus durante la fase de aplicación del registro redo, proporcione las rutas completas de cada archivo de registro archivado requerido hasta alcanzar el número de cambio seleccionado.

6. Complete el proceso abriendo la base de datos:

    ALTERAR BASE DE DATOS ABRIR RESETLOGS;

Los métodos manuales requieren vigilancia: ¡si falta algún registro de archivo, incluso uno solo, todo el proceso se detiene hasta que se resuelva! Además, tenga cuidado con las copias de seguridad en caliente realizadas mientras los tablespace estaban en línea; las instantáneas inconsistentes pueden requerir comprobaciones adicionales, como RECUPERAR BASE DE DATOS UTILIZANDO CONTROLFILE DE COPIA DE SEGURIDAD.

SQL*Plus destaca al automatizar flujos de trabajo personalizados en múltiples servidores, ¡pero siempre pruebe exhaustivamente los procedimientos antes, ya que la gestión de errores recae totalmente en los operadores!

Prácticas recomendadas para la recuperación basada en SCN

¿Desea recuperaciones más fluidas la próxima vez? Aquí tiene algunos hábitos que vale la pena incorporar a sus rutinas diarias:

Ejecute de forma periódica consultas de script contra CURRENT_SCN desde las bases de datos de producción y almacene los resultados junto con las métricas de supervisión; disponer de una línea temporal acelera considerablemente el análisis de la causa raíz tras producirse incidentes («¿Qué cambió entre las 10:00 y las 11:00?»).

Automatice las tareas de validación comprobando la presencia y el estado de los registros de archivo recientes, además de realizar restauraciones de prueba periódicas en clonas no productivas: ¡nada supera la práctica directa bajo condiciones controladas!

Después de cada cambio importante del esquema —o especialmente tras cualquier evento RESETLOGS— realice de inmediato nuevas copias de seguridad completas para garantizar que las cadenas incrementales futuras permanezcan intactas, ¡sin importar lo que ocurra la próxima semana, mes o año!

Y, por último: mantenga libros de procedimientos detallados que describan cada paso específico del entorno local, incluidos los recursos compartidos de red utilizados para las copias fuera del sitio, así como los contactos de escalación en caso de que algo salga mal durante el proceso… ¡porque, a veces, incluso los planes más bien elaborados encuentran obstáculos inesperados!

Presentación de Vinchin Backup & Recovery

Más allá de los procesos manuales y las herramientas nativas, la protección empresarial exige soluciones robustas diseñadas específicamente para entornos críticos, como las bases de datos Oracle, que requieren precisión y fiabilidad a gran escala. Vinchin Backup & Recovery destaca como una solución profesional de nivel empresarial que admite las principales plataformas actuales, incluidas las bases de datos Oracle, MySQL, SQL Server, MariaDB, PostgreSQL/Postgres Pro y MongoDB.

Con funciones como compresión avanzada en el lado de origen (para Oracle), opciones de copias de seguridad incrementales (para Oracle), capacidad de copia de seguridad por lotes de bases de datos, políticas de retención flexibles, incluida la compatibilidad con la política de retención GFS, y protección contra ransomware integrada en todas las plataformas compatibles —incluyendo copias de seguridad en la nube y archivado en cinta—, obtienes una cobertura integral frente a amenazas que van desde la eliminación accidental hasta ciberataques sofisticados, optimizando al mismo tiempo la eficiencia del almacenamiento y la agilidad operativa.

La consola web intuitiva simplifica los flujos de trabajo de protección en cuatro pasos claros:

Seleccione las bases de datos que desea proteger.

Copia de seguridad de la base de datos de SQL Server

Seleccione el almacenamiento de destino (local, NAS, SAN, nube).

Copia de seguridad de la base de datos de SQL Server

Defina horarios, retención y políticas.

Copia de seguridad de la base de datos de SQL Server

Enviar el trabajo.

Copia de seguridad de la base de datos de SQL Server

Reconocido a nivel mundial con las mejores calificaciones entre los usuarios empresariales de todo el mundo, Vinchin Backup & Recovery ofrece una prueba gratuita de 60 días con todas sus funciones — haga clic a continuación para experimentar personalmente una protección de datos líder en la industria.

Preguntas frecuentes sobre la recuperación de la base de datos hasta un SCN

P1: ¿Puedo automatizar la captura periódica de los SCN actuales de mi base de datos?

A1: Sí; programar scripts que consulten CURRENT_SCN desde V$DATABASE y exportar los resultados diariamente mediante trabajos cron o el Programador de tareas de Windows, según la preferencia de plataforma.

P2: ¿Qué debo hacer si mis registros de archivo abarcan varias ubicaciones de almacenamiento?

A2: Catalogar todos los directorios que contengan registros de rehacer archivados dentro de RMAN mediante el comando CATALOG START WITH antes de iniciar cualquier operación de restauración que implique esos archivos.

P3: ¿Existe un riesgo adicional al realizar la recuperación a un punto en el tiempo en bases de datos muy grandes?

A3: Los conjuntos de datos más grandes aumentan la probabilidad de restauraciones parciales debido a interrupciones por hardware o red, por lo que siempre debe validar la integridad tras la recuperación mediante la utilidad DBVERIFY, además de realizar comprobaciones a nivel de aplicación siempre que sea factible.

Conclusión

Recuperar una base de datos hasta un número específico de cambio del sistema (SCN) brinda a los equipos de operaciones un control preciso sobre la restauración de datos perdidos tras accidentes, ya sean mayores o menores, mediante herramientas automatizadas como RMAN, así como opciones manuales a través de SQL*Plus, según la complejidad de la situación. Para una protección optimizada, considere las soluciones de Vinchin, diseñadas específicamente para satisfacer las necesidades de fiabilidad empresarial que exigen actualmente las empresas en todos sus lugares de operación a nivel mundial.

Compartir en:

Categories: Database Backup