Técnicas de recuperación a la base de datos. Concepto de recuperación, introducción a la recuper ación y clasificación de los algoritmos de recuperación. La recuper recuperaci ación ón en un sistem sistema a de base de datos datos signif significa ica principal principalmen mente te la recuperación de la propia base de datos; es decir, el restablecimiento de la misma a un estado correcto o mejor dicho consistente, después de que alguna falla haya ocasionado que el estado actual sea inconsistente, o al menos eso parezca. 1. Si hay un fallo como la cada del disco, el sistema restaura una copia se seguridad del registro, hasta el momento del fallo. !. "uan "uando do el da#o da#o se $uel $uel$e $e inco incons nsis iste tent nte, e, se pued pueden en reha rehace cerr algu alguna nas s operaciones para restaurar a un estado consistente. %n este caso no se necesita una copia archi$ada.
Actualización Diferida
Actualización Inmediata
No se actualiza ísicamente la base de datos Hasta que no haya alcanzado su unto de confrmación.
La base de datos puede ser actualizada por Algunas Operaciones antes de que esta ultima alcance su punto
NOD!"#AC!$%$!#AC!$
D!"# AC!$%$!#AC!$
!scritura anticipada en el diario robar%norobar y forzar no forzar %n este caso, el mecanismo de recuperación debe garantizar la grabación de la &'() de los datos en la entrada apropiada del registro del sistema y que esa entrada se $uelque en el disco antes que la &'() sea sobrescrita con la *'() de la base de datos del disco. $estauración de transacciones. La restauración de las transacciones anotadas en el diario las realiza una utilidad del S+&, que de$uel$e la base de datos al estado inmediatamente anterior al momento del fallo. %ste proceso se conoce habitualmente como restauración-reejecución. La cla$e para el uso con éito de un diario de transacciones radica en la capacidad del S+& para reconocer el comienzo y el final de cada transacción. /ara cada transacción de la base de datos, el diario contiene marcas de 0comienzo de transacción y 0final de transacción, adem2s de una grabación de los cambios indi$iduales realizados en la base de datos para dicha transacción. La marca de 0 final de transacción se graba en el diario sólo después de la conclusión con éito de la transacción. *s, si una cada del sistema interrumpe el procesamiento de una transacción, no aparecer2 ninguna marca de 0final de transacción en el diario. "uando se realice un proceso de restauración-reejecución, sólo se restaurar2n a partir del diario las transacciones completadas, y se generar2 un informe impreso, que indicar2 qué transacciones no se han completado y, por tanto, no han sido introducidas en la base de datos. /ara bases de datos etremadamente acti$as, la técnica de restauración-reejecución puede resultar inadecuada, ya que el reprocesamiento del diario puede lle$ar $arias horas, durante las cuales la base de datos no puede ser usada con normalidad. Si una base de datos es muy acti$a, esta no disponibilidad puede re$elarse intolerable, y ser2 preciso emplear otras técnicas de restauración.
Técnicas de recuperación. Técnicas de recuperación basadas en la actualización diferida. eferir o posponer las actualizaciones de la base de datos hasta que la transacción complete su ejecución satisfactoriamente y alcance su punto de confirmación. $ecuperación mediante la actualización diferida en un entorno monousuario.
l algoritmo !"# se utiliza un procedimiento rehacer$ %roporcionado con posterioridad$ %ara rehacer determinadas operaciones
Actualización multiusuario.
diferida
con
e&ecución
concurrente
en
un
entorno
/lanificación de la ejecución de las transacciones. "uando se tomo el punto de control en el momento t1 la transacción 31 Se habra confirmado. Técnicas de recuperación basadas en la actualización inmediata .
/ermite que las actualizaciones se graben en la &ase de atos mientras la transacción est2 toda$a en estado acti$o 4actualizaciones no cometidas5. •
•
•
*ntes de ejecutar un output 465, deben grabarse en memoria estable los registros del diario correspondientes a 6. Los registros del diario deben contener tanto el $alor antiguo como el nue$o. %l esquema de recuperación utiliza dos procedimientos de recuperación7 undo 43i57 restaura los datos que 3i actualiza a los $alores que tenan o
•
antes. o redo 43i57 asigna los nue$os $alores a todos los datos que actualiza 3i. espués de ocurrir un fallo, el procedimiento de recuperación consulta el diario para determinar qué transacciones deben repetirse y cu2les deshacerse7 3i debe deshacerse si el diario contiene el registro starts pero no el o
•
commit. o 3i debe repetirse si el diario contiene el registro starts y el commit. Las operaciones undo y redo deben ser idempotencias para garantizar la consistencia de la & aun cuando se produzcan fallos durante el proceso de recuperación.
'aginación de la sombra. La base de datos se di$ide en un n8mero determinado de bloques de tama#o fijo 4p2ginas5. %n memoria $ol2til se mantiene la tabla actual y en memoria estable una tabla doble 4sombra5. La idea principal es mantener dos tablas de p2ginas durante la $ida de una transacción. /rocedimiento de %scritura7 1. "uando se inicia una transacción ambas tablas son iguales. !. "uando se actualiza una p2gina, se escribe la p2gina actualizada en una p2gina no usada, y se actualiza la tabla actual para apuntar a ésta 4dejando la 0sombra sin modificar5. 9. "uando se confirma la transacción, la tabla de p2ginas actual pasa a almacenamiento no $ol2til 4se cambian las direcciones de las tablas5. :. Si se produce un fallo, la tabla 0sombra se copia en la 0actual. .
$ecuperación en sistemas de multibase de datos. %n la siguiente imagen se muestra la secuencia para la recuperación de datos.
$espaldo de base de datos y recuperación de fallos catastróficos =asta aqu todas las técnicas que se han estudiado se aplican a fallos no catastróficos. >na suposición cla$e ha sido que diario del sistema se mantiene en disco y no se pierde como consecuencia del fallo. e 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 técnicas de recuperación que se han $isto usa las entradas del diario de sistema o el directorio sombra para recuperarse de un fallo lle$ando de nue$o la base de datos aun estado consistente. %l gestor de recuperación de un S+& 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. %n caso de un fallo catastrófico del sistema, se puede cargar la copia de seguridad mas reciente y el sistema podr2 reiniciarse. /ara e$itar la pérdida 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 inter$alos de tiempo m2s frecuentes que la copia de seguridad de toda la base de datos. %l diario del sistema suele ser bastante m2s peque#o que la base de datos misma y por lo tanto se puede respaldar con mayor frecuencia.