IMS DB - Recuperación
El administrador de la base de datos debe planificar la recuperación de la base de datos en caso de fallas del sistema. Las fallas pueden ser de muchos tipos, como fallas de aplicaciones, errores de hardware, fallas de energía, etc.
Enfoque simple
Algunos enfoques simples para la recuperación de bases de datos son los siguientes:
Realice copias de seguridad periódicas de los conjuntos de datos importantes para que se conserven todas las transacciones registradas en los conjuntos de datos.
Si un conjunto de datos se daña debido a una falla del sistema, ese problema se corrige restaurando la copia de respaldo. Luego, las transacciones acumuladas se vuelven a publicar en la copia de seguridad para actualizarlas.
Desventajas del enfoque simple
Las desventajas del enfoque simple para la recuperación de bases de datos son las siguientes:
Volver a publicar las transacciones acumuladas consume mucho tiempo.
Todas las demás aplicaciones deben esperar la ejecución hasta que finalice la recuperación.
La recuperación de la base de datos es más larga que la recuperación de archivos, si están involucradas relaciones lógicas y de índice secundario.
Rutinas de terminación anormales
Un programa DL / I se bloquea de una manera diferente a la forma en que se bloquea un programa estándar porque un programa estándar es ejecutado directamente por el sistema operativo, mientras que un programa DL / I no. Al emplear una rutina de terminación anormal, el sistema interfiere para que se pueda realizar la recuperación después del FIN ANORMAL (ABEND). La rutina de terminación anormal realiza las siguientes acciones:
- Cierra todos los conjuntos de datos
- Cancela todos los trabajos pendientes en la cola
- Crea un volcado de almacenamiento para descubrir la causa raíz de ABEND
La limitación de esta rutina es que no asegura si los datos en uso son precisos o no.
Registro DL / I
Cuando un programa de aplicación ABEND, es necesario revertir los cambios realizados por el programa de aplicación, corregir el error y volver a ejecutar el programa de aplicación. Para hacer esto, se requiere tener el registro DL / I. Estos son los puntos clave sobre el registro DL / I:
Un DL / I registra todos los cambios realizados por un programa de aplicación en un archivo que se conoce como archivo de registro.
Cuando el programa de aplicación cambia un segmento, el DL / I crea su imagen anterior y posterior.
Estas imágenes de segmento se pueden utilizar para restaurar los segmentos, en caso de que el programa de aplicación falle.
DL / I utiliza una técnica llamada registro de escritura anticipada para registrar los cambios en la base de datos. Con el registro de escritura anticipada, un cambio de base de datos se escribe en el conjunto de datos de registro antes de escribirlo en el conjunto de datos real.
Como el registro siempre está por delante de la base de datos, las utilidades de recuperación pueden determinar el estado de cualquier cambio en la base de datos.
Cuando el programa ejecuta una llamada para cambiar un segmento de la base de datos, el DL / I se encarga de su parte de registro.
Recuperación: hacia adelante y hacia atrás
Los dos enfoques de recuperación de bases de datos son:
Forward Recovery - DL / I usa el archivo de registro para almacenar los datos de cambio. Las transacciones acumuladas se vuelven a publicar utilizando este archivo de registro.
Backward Recovery- La recuperación hacia atrás también se conoce como recuperación de retroceso. Los registros de registro del programa se leen hacia atrás y sus efectos se invierten en la base de datos. Cuando se completa la cancelación, las bases de datos están en el mismo estado en el que estaban antes de la falla, asumiendo que ningún otro programa de aplicación alteró la base de datos mientras tanto.
Control
Un punto de control es una etapa en la que los cambios en la base de datos realizados por el programa de aplicación se consideran completos y precisos. A continuación se enumeran los puntos a tener en cuenta sobre un punto de control:
Los cambios en la base de datos realizados antes del punto de control más reciente no se revierten con la recuperación hacia atrás.
Los cambios en la base de datos registrados después del punto de control más reciente no se aplican a una copia de imagen de la base de datos durante la recuperación hacia adelante.
Usando el método de punto de control, la base de datos se restaura a su condición en el punto de control más reciente cuando se completa el proceso de recuperación.
El valor predeterminado para los programas por lotes es que el punto de control es el comienzo del programa.
Se puede establecer un punto de control mediante una llamada de punto de control (CHKP).
Una llamada a un punto de control hace que se escriba un registro de punto de control en el registro DL / I.
A continuación se muestra la sintaxis de una llamada CHKP:
CALL 'CBLTDLI' USING DLI-CHKP
PCB-NAME
CHECKPOINT-ID
Hay dos métodos de puntos de control:
Basic Checkpointing - Permite al programador emitir llamadas a puntos de control que utilizan las utilidades de recuperación DL / I durante el proceso de recuperación.
Symbolic Checkpointing- Es una forma avanzada de puntos de control que se utiliza en combinación con la función de reinicio extendido. Los puntos de control simbólicos y el reinicio extendido juntos permiten que el programador de la aplicación codifique los programas para que puedan reanudar el procesamiento en el punto justo después del punto de control.