Académique Documents
Professionnel Documents
Culture Documents
Tipos de Fallos
Elementos de Fallos en la Transaccin
Error lgico: la transaccin no puede continuar su
Otras
transa-
Bases de Datos
ejecucin a causa de alguna condicin interna.
Error del sistema: el sistema alcanza un estado no
cciones
continuan
correcto. La transaccin puede volver a ejecutarse
ms tarde. con su
Dpto.Ciencias e Ingeniera de la Computacin
ejecucin
Universidad Nacional del Sur
Caida del sistema: por ejemplo errores del Todas las
hardware o software de base de datos o transaccio
Lic. Mara Mercedes Vitturini nes deben
software del sistema operativo.
[mvitturi@cs.uns.edu.ar] ser
Fallo de disco: dao fsico en el medio de
recupera-
almacenamiento masivo.
das
Clase 19 1er. Cuatrimestre de 2004
Elementos de Bases de Datos
Clase 19 2
Recuperacin mediante
Acciones de recuperacin Bitcora
Para asegurar la consistencia en la base de datos y la La bitcora es una estructura usada para guardar
informacin sobre las modificaciones que se realizaron a
atomicidad de las transacciones (a pesar de los fallos),
los datos.
los algoritmos tienen dos partes: Existen varias implementaciones. Veremos una
Acciones tomadas durante el procesamiento normal implementacin que contiene registros con los campos:
de la transaccin para asegurar que existe suficiente Nombre de la Transaccin: el nombre de la transaccin
informacin para permitir la recuperacin de fallos que ejecut el Write.
(preventivas). Nombre del Dato: el nombre nico del dato escrito.
Acciones tomadas a continuacin de un fallo para Valor Antiguo: el valor del dato anterior a la escritura.
asegurar la consistencia de la base de datos y la Valor Nuevo: el valor que tendr el dato despus de la
atomicidad de las transacciones (paleativas). escritura.
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 3 Clase 19 4
1
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
Puntos de Verificacin
Recuperacin de fallos (Checkpoints)
El esquema de recuperacin usa las operaciones Cuando ocurre un fallo del sistema es necesario
y Undo (Deshacer) y Redo (Rehacer) usando consultar la bitcora para ver cules
transacciones deben rehacerse y cules
informacin de la bitcora. deshacerse.
Cuando se produce un fallo, el esquema de
recuperacin consulta a la bitcora para Esto implica revisar TODA la bitcora.
El proceso de bsqueda consume tiempo.
determinar que transacciones deben deshacerse
2
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
3
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
Recuperacin y Concurrencia
El esquema de recuperacin depende fuertemente del
Retroceso de Transacciones
esquema de control de concurrencia utilizado. El retroceso de una transaccin T fallada implica
El retroceso de una transaccin fallada, debe deshacer recorrer la bitcora hacia atrs, ya que una
los cambios hechos por la misma. transaccin puede realizar ms de un cambio sobre
Ejemplo: Si una transaccin T0 modific el dato Q y tiene que el mismo dato.
ser retrocedida, entonces debe restaurarse el valor anterior
de Q. ,<T,A,10,20>, ,<T,A,20,30>,
Pero si una transaccin T1 realiz otro cambio sobre Q
Esto es, T primero modifica A de 10 a 20 y luego de
despus del cambio de T0 pero antes de que T0 sea
retrocedida, el cambio realizado por T1 se perder. 20 a 30.
Por lo tanto, si una transaccin T actualiza un item Q, El orden en que se recorre la bitcora es importante
es deseable que cualquier otra transaccin que desee ya que si no la recorremos hacia atrs, se
modificar Q espere que T est cometida. restaurara el valor 20 a A (cuando debe ser 10).
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 21 Clase 19 22
4
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
El valor final de A debera ser 30, y eso es Protocolo: Estampilla de tiempo con ts(T1) < ts(T2)
posible de alcanzar si se realiza primero el undo T1 debe retroceder por no cumplir las condiciones del protocolo
y luego el redo. T2 debe retroceder en cascada.
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 27 Clase 19 28
5
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
6
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
Implementacin de Memoria
Copias de Seguridad Estable
Ninguna transaccin debe estar activa durante La informacin que reside en memoria estable nunca se
el proceso de dump y se ejecuta un proceso pierde.
similar al checkpointing: Para alcanzar ello, debe repetirse la informacin (de
manera controlada) en varios medios de almacenamiento.
Se vuelcan los registros de bitcora residiendo
actualmente en memoria principal al almacenamiento La transferencia de bloques entre la memoria y el disco
estable. puede resultar en:
Terminacin con xito: la informacin transferida lleg ntegra a su
Se vuelcan todos los bloques de buffer al disco.
destino.
Se copian los contenidos de la base de datos al Fallo Parcial: ocurri un fallo durante la transferencia y el bloque
almacenamiento estable. destino tiene informacin incorrecta.
Se vuelca un registro de bitcora <dump> al Fallo Total: ocurri un fallo al inicio de la transferencia y el bloque
almacenamiento estable. destino queda intacto.
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 41 Clase 19 42
7
Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimestre de 2004
Implementacin de Memoria
Estable La Operacin Output(B)
Si ocurre un fallo en la transferencia de datos, Una operacin de salida se ejecuta
el sistema debe detectarlo e invocar un sistema
de recuperacin que restaure el bloque a un
como sigue:
estado consistente. Escribir la informacin en el primer
Para hacerlo, el sistema debe mantener dos bloque fsico.
bloques fsicos por cada bloque lgico de la Una vez que se completa con xito la
base de datos. primera escritura, escribir la misma
En el caso de discos espejados, ambos bloques estn informacin en el segundo bloque fsico.
fisicamente en la misma locacin.
En el caso de copias remotas, uno de los bloques es
La salida est completa slo despus de
local y el otro est en un sitio remoto. terminar con xito la segunda escritura.
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 43 Clase 19 44
Implementacin de Memoria
Estable Puntos de Verificacin Difusos
Durante la recuperacin, se examina cada par de Los puntos de verificacin (checkpoints) requieren que
bloques fsicos. todas las actualizaciones a las base de datos se
suspendan temporariamente.
Si los dos son iguales y no existen errores detectables,
no es necesario tomar ms acciones. La tcnica de puntos de verificacin difusos (fuzzy
checkpointing) permite que se reinicien las
Si un bloque contiene un error detectable (checksum), actualizaciones despus de grabar el registro de
se sustituye su contenido por el valor del segundo checkpoint en bitcora en memoria estable pero antes
bloque. de que los bloques modificados se escriban en disco.
Si ambos bloques no contienen errores detectables, En lugar de recorrer hacia atrs la bitcora hasta
pero el contenido es diferente, entonces se sustituye el encontrar un registro de checkpoint (donde se hizo la
contenido del primer bloque por el valor del segundo. ltima escritura segura), se almacena en una posicin
Este procedimiento garantiza que una escritura en fija del disco la ubicacin del ltimo checkpoint (last-
almacenamiento estable termine con xito o no checkpoint).
produzca cambio alguno.
Elementos de Bases de Datos Elementos de Bases de Datos
Clase 19 45 Clase 19 46