Está en la página 1de 3

Técnicas de Recuperación Basadas en la Actualización Diferida

 Graba todas las actualizaciones de la BD en el diario, pero aplaza la ejecución de todas las operaciones de escritura
(write) de una transacción hasta que ésta se encuentre parcialmente cometida.
 Solamente requiere el nuevo valor del dato.
 Si la transacción aborta (no llega a committed), simplemente hay que ignorar las anotaciones en el diario.
 Para recuperaciones usa el procedimiento:
 redo (Ti), que asigna los nuevos valores a todos los datos que actualiza Ti.
 Después de ocurrir un fallo, se consulta el diario para determinar que transacciones deben repetirse y cuales anularse.
 Ti debe anularse si el diario contiene el registro start pero no el commit.
 Ti debe repetirse si el diario contiene el registro start y el commit.
 La operación redo debe ser idempotencia, es decir, ejecutarla varias veces debe producir el mismo resultado que
ejecutarla una sola vez.

Técnica de recuperación basada en actualización inmediata


La base de datos puede ser actualizada sin tener que esperar que la transacción llegue a su
confirmación.
Se pueden distinguir dos categorías principales de algoritmos de actualización inmediata:
 Algoritmo de recuperación DESHACER/NO-REHACER
 Algoritmo de recuperación DESHACER/REHACER.

Procedimiento RAI:
 Usar dos listas de transacciones mantenidas por el sistema, las transacciones confirmadas y las
activas.
 Deshacer todas las operaciones de la transacción activa
 Rehacer todas las operaciones de las transacciones confirmadas a partir del diario, en el orden que
se escribieron en el mismo.

Recuperación hasta un punto de validación

1. Examina el diario hacia atrás hasta localizar un registro <checkpoint>.


2. Considera sólo los registros existentes entre este punto y el final del diario.
3. Ejecuta undo(Tj) para las transacciones que no tengan registro <Tj commits>, partiendo del final del fichero.
4. Ejecuta redo (Ti) para las transacciones que tengan su registro <Ti commits>, partiendo desde el punto de verificación
hasta el final del diario.

Procedimientos de Recuperación

1. Recuperación Normal

 Tiene lugar después de una parada normal de la máquina, en la que se escribe un punto de verificación como último
registro del diario.
 Este procedimiento se ejecuta cuando el último registro del diario es un punto de verificación o recuperación del sistema.
 Este tipo de recuperación también tiene lugar cuando aborta una transacción, debido a la razón que sea.

2. Recuperación en Caliente

 Después de un error del sistema.


 Se ejecuta cuando el último registro del diario no es un punto de verificación y el operador no indica pérdida de memoria
secundaria.
 El procedimiento de recuperación es el indicado en el apartado referente a los puntos de verificación en el diario.

3. Recuperación en Frío

 Después de un incidente con la memoria masiva dañada.


 Se ejecuta si se pierden datos o la BD ya no es coherente.
 Se utiliza:
 Copia de seguridad (backup) más reciente de la BD (Debe existeir).
 Diario de las actividades posteriores.
 Se aplican las imágenes posteriores al respaldo.
 Puede encadenar una recuperación en caliente.
 Se deben realizar copias de seguridad de la BD periódicamente:
 Toda la BD debe copiarse en memoria secundaria.
 El proceso de transacciones debe pararse durante el procedimiento de copia (Costoso).

Paginación en la sombra o pagina espejo:

Procedimiento de Escritura:
1. Cuando se inicia una transacción ambas tablas son iguales.
2. Cuando se actualiza una página, se escribe la página actualizada en una página no usada, y se
actualiza la tabla actual para apuntar a ésta (dejando la “sombra” sin modificar).
3. Cuando se confirma la transacción, la tabla de páginas actual pasa a almacenamiento no volátil
(se cambian las direcciones de las tablas).
4. Si se produce un fallo, la tabla “sombra” se copia en la “actual”.
5. No es necesario ni rehacer ni deshacer.

Recuperación en sistemas de multibase de datos:

en la siguiente imagen se muestra la secuencia para la recuperación de datos.

Respaldo de base de datos y recuperación de fallos catastróficos:

Hasta aquí todas las tecnicas que se han estudiado se aplican a fallos no catastróficos. Una
suposición clave ha sido que diario del sistema se mantiene en disco y no se pierde como
consecuencia del fallo. De manera similar, el directorio sombra se debe almacenar en disco para
hacer posible la recuperación cuando se use la paginación en la sombra. Las tecnicas de
recuperación que se han visto usa las entradas del diario de sistema o el directorio sombra para
recuperarse de un fallo llevando de nuevo la base de datos aun estado consistente.

El gestor de recuperación de un SGBD debe estar equipado también para manejar fallos mas
catastróficos, como son fallos de disco. La técnica principal para manejar tales fallos es la de realizar
copias de seguridad de la base de datos. La base de datos completa y el diario se copian
periódicamente en medios de almacenamiento alternos. En caso de un fallo catastrófico del
sistema,se puede cargar la copia de seguridad mas reciente y el sistema podrá reiniciarse.
Para evitar la perdida e todos los efectos de las transacciones que se han ejecutado desde
el ultimo respaldo, se acostumbra hacer copas de seguridad del diario del sistema en intervalos de
tiempo mas frecuentes que la copia de seguridad de toda la base de datos. El diario del sistema
suele ser bastante mas pequeño que la base de datos misma y por lo tanto se puede respaldar con
mayor frecuencia.

También podría gustarte