Mecanismos de Recuperacion de La SGBD

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

RECUPERACION ANTE FALLOS DE LA SGBD

Cuando una falla del sistema ocurre, el contenido de la base de datos voltil se pierde.
Por lo tanto, el DBMS tiene que mantener cierta informacin acerca de su estado en el
momento de la falla con el fin de ser capaz de llevar a la base de datos al estado en el
que se encontraba antes de la falla. A esta informacin se le denomina informacin de
recuperacin.

Por qu es necesaria la recuperacin?

Siempre que se introduce una transaccin a un SGBD para ejecutarla, el sistema tiene
que asegurarse de que todas las operaciones de la transaccin se superen con xito y
su efecto quede registrado en la base de datos, o que la transaccin no tenga efecto
alguno sobre la BD ni sobre cualquier otra transaccin.

La informacin de recuperacin que el sistema mantiene depende del mtodo con el


que se realizan las actualizaciones. Existen dos estrategias para efectuarlas: en el
lugar (in place) y fuera de lugar (out-ofplace).

En el primer caso, cada actualizacin se hace directamente en los valores almacenados


en las pginas de los buffers de la base de datos. En la segunda alternativa, al crear un
nuevo valor para un dato, ste se almacena en forma separada del valor anterior. De
esta manera, se mantiene los valores nuevo y anterior.

Recuperacin in-place. Dado que las actualizaciones in-place hacen que los
valores anteriores se pierdan, es necesario mantener suficiente informacin de
los cambios de estado en la base de datos. Esta informacin se mantiene, por lo
general, en el registro de la base de datos (database log). As cada
actualizacin, no solo cambia la base de datos, sino es tambin guardada en el
registro de la base de datos.

Ejecucin de una operacin de actualizacin.


El registro de la base de datos contiene informacin que es utilizada por el proceso de
recuperacin para restablecer la base de datos a un estado consistente. Esta
informacin puede incluir entre otras cosas:

El identificador de la transaccin,
El tipo de operacin realizada,
Los datos accesados por la transaccin para realizar la accin,
El valor anterior del dato (imagen anterior), y
El valor nuevo del dato (imagen nueva).

Considere el escenario mostrado en la Figura siguiente. El DBMS inicia la ejecucin en


el tiempo 0 y en el tiempo t se presenta una falla del sistema. Durante el periodo [0,t]
ocurren dos transacciones, T1 y T2. T1ha sido concluida (ha realizado su commit) pero
T2 no pudo ser concluida. La propiedad de durabilidad requiere que los efectos de T1
sean reflejados en la base de datos estable. De forma similar, la propiedad de
atomicidad requiere que la base de datos estable no contenga alguno de los efectos de
T2.

A pesar que T1 haya sido terminada, puede suceder que el buffer correspondiente a la
pgina de la base de datos modificada no haya sido escrito a la base de datos estable.
As, para este caso la recuperacin tiene que volver a realizar los cambios hechos por
T1. A esta operacin se le conoce como REDO y se presenta en la Figura siguiente. La
operacin de REDO utiliza la informacin del registro de la base de datos y realiza de
nuevo las acciones que pudieron haber sido realizadas antes de la falla. La operacin
REDO genera una nueva imagen.

Recuperacin out-of-place. Las tcnicas de recuperacin ms comunes son de tipo in-


place. Por lo tanto, aqu se presenta solo una breve descripcin de las tcnicas out-of-
place.
1. Shadowing. Cuando ocurre una actualizacin, no se cambia la pgina anterior, sino
se crea una pgina sombra con el nuevo valor y se escribe en la base de datos estable.
Se actualizan los caminos de acceso de manera que los accesos posteriores se hacen a
la nueva pgina sombra. La pgina anterior se retiene para propsitos de recuperacin,
para realizar una operacin UNDO.

2. Archivos diferenciales. Para cada archivo F se mantiene una parte de solo lectura
(FR), un archivo diferencial que consiste de la parte de inserciones DF+ y la parte de
supresiones DF-.As, el archivo completo consistir de la unin de la parte de lectura
ms la parte de inserciones ya todo esto se le eliminan las supresiones realizadas.

F = (FR DF+) DF
Todas las actualizaciones se tratan como la supresin de un valor anterior y la insercin
de un nuevo valor. Peridicamente, el archivo diferencial tiene que ser mezclado con el
archivo base de solo lectura
Tipos de fallos.
Un fallo del computador (cada del sistema)
Un error de la transaccin o del sistema.
Errores locales o condiciones de excepcin detectadas por la transaccin.
Imposicin de control de concurrencia.
Fallo del disco
Problemas fsicos y catstrofes

Ejemplos:

Un fallo del computador (cada del sistema). Durante la ejecucin de una transaccin
se produce un error de hardware, software de reden el sistema de computador. Los
fallos del hardware normalmente son fallos de los medios, por ejemplo, un fallo de la
memoria principal.

Un error de la transaccin o del sistema: algunas operaciones de la transaccin pueden


hacer que sta falle, por ejemplo, un desbordamiento (overflow)

De enteros o una divisin entre cero. Tambin puede haber un fallo de transaccin
debido a valores errneos de los parmetros o a un error lgico de programacin.
Adems, puede suceder que el usuario interrumpa a propsito la transaccin durante
su ejecucin.

Errores locales o condiciones de excepcin detectadas por la transaccin: durante la


ejecucin de transacciones pueden presentarse ciertas condiciones que requieran la
cancelacin de la transaccin. Por ejemplo, puede que no se encuentren los datos para
la transaccin. Ntese que, con una condicin de excepcin, puede hacer que se
cancele una transaccin.

Imposicin de control de concurrencia: el mtodo de control de concurrencia puede


decidir que se aborte la transaccin, para reiniciarla despus, porque viola la
seriabilidad o porque varias transacciones se encuentran en un estado de abrazo
mortal (deadlock)

Fallo del disco: algunos bloques de disco pueden perder sus datos por un mal
funcionamiento de lectura o de escritura o por un fallo de una cabeza de
lectura/escritura. Esto puede suceder durante una operacin de lectura o de escritura
de la transaccin.

Problemas fsicos y catstrofes: esto se refiere a una interminable lista de problemas


que incluyen interrupcin del suministro de energa o aire acondicionado, incendio,
robo, sabotaje, sobreescritura de discos o cintas por error o que el operador haya
montado una cinta equivocada.

También podría gustarte