Bases de Datos I. Cursada 2008. Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad



Documentos relacionados
Bases de Datos 2. Teórico

Clase 7: Recuperación de BD

Sistema de Recuperación. Carlos A. Olarte BDII

SISTEMAS DE RECUPERACIÓN

Administración de Bases de Datos

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

RECUPERACIÓN ANTE FALLAS EN BASES DE DATOS

Apuntes Recuperación ante Fallas - Logging

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$

15. Recuperación de fallos del sistema

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

5. RECUPERACIÓN DE FALLAS

V i s i t a V i r t u a l e n e l H o s p i t a l

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Procedimientos de recuperación

Bases de Datos 3º Informática de Sistemas

PROCESO ADMINISTRACIÓN DE RECURSOS TECNOLÓGICOS SUBPROCESO ADMINISTRACIÓN DE CONTINGENCIAS

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

Arquitectura de sistema de alta disponibilidad

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

TEMA 5 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 5. CONFIABILIDAD

Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Tema 6. Transacciones y seguridad

Copias de seguridad y recuperación Guía del usuario

Componentes de una BD

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Copias de seguridad y recuperación

Mecanismos de Recuperación

Copias de seguridad y recuperación Guía del usuario

III. ADMINISTRACIÓN DE ORACLE.

Problemas Fundamentales. Amenazas a la Seguridad de la Base de Datos. Diseño o de Alto Nivel. en las Bases de Datos. Índice. Seguridad Completa

COPIAS DE SEGURIDAD DE LA APLICACIÓN DE NOMINA

Manejo de Transacciones

PostgreSQL, Oracle, MySQL y otros. Sahyra Yépez

Introducción. Componentes de un SI. Sistema de Información:

MANUAL DE RESPALDOS Y ESTÁNDARES DE SEGURIDAD INFORMÁTICA PARA USUARIOS (RECUPERACIÓN DE INFORMACIÓN EN CASO DE DESASTRE)

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

ADMINISTRACIÓN DE BASES DE DATOS. Control de Concurrencia y Recuperación

Realización de Backups

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

Instituto Profesional DuocUC Escuela de Ingeniería Control File

Sistemas de información de laboratorio

INSTRUCTIVO COPIAS DE SEGURIDAD DE LA INFORMACIÓN PROCESO GESTIÓN TECNOLÓGICA

PROCESO: PROCESO DE GESTION DE SISTEMAS DE INFORMACIÓN Y TECNOLOGIA PROCEDIMIENTO: RECUPERACION DE LA INFORMACIÓN

Incidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.

Anexo I. Politicas Generales de Seguridad del proyecto CAT

HP Backup and Recovery Manager

T ema 2. S is tem as ges tores de bas es de datos

Guía de Inicio Respaldo Cloud

Bases de Datos Especializadas

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Para acceder a esta función debemos estar en la pestaña INICIO del menú principal y pulsar el botón COPIAS DE SEGURIDAD

Plan de estudios ISTQB: Nivel Fundamentos

Capítulo IV. INTERBLOQUEO E INANICIÓN

Guía de instalación de la carpeta Datos de IslaWin

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

Touring y Automóvil Club del Perú

Selección de los puntos de montaje

GESTION DE TRANSACCIONES

CONSEJO DE PROMOCIÓN TURÍSTICA DE MÉXICO MANUAL DE RESPALDOS Y ESTÁNDARES DE SEGURIDAD INFORMÁTICA PARA USUARIOS (RECUPERACIÓN DE INFORMACIÓN)

Acer erecovery Management

Copia de Seguridad en windows

Manual de Instalación. Sistema FECU S.A.

Tutorial: Primeros Pasos con Subversion

Sistemas de Operación II

Copia de seguridad

Acronis License Server. Guía del usuario

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

Mecanismos de Recuperación

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Guía de instalación de la carpeta Datos de ContaWin

Samsung Drive Manager Preguntas frecuentes

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS.


Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

PROCEDIMIENTO PARA LA GESTIÓN DE LOS REGISTROS DEL SISTEMA DE CALIDAD

7. RECOLECCIÓN Y MANEJO DE DATOS

Gastos Reales Web Manual de Usuario

Unidad IV: Operación y mantenibilidad 4.1 Bitácoras de trabajo del DBMS

Manual para el alumno. Cobian Backup 11 (2016)

Principales rutinas de mantenimiento en una base de datos Firebird

PLANES DE PREVENCIÓN DE PÉRDIDA DE DATOS

BASES DE DATOS TEMA 1

Cómo hacer backups en ambientes virtualizados?

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

WINDOWS : COPIAS DE SEGURIDAD

CFGM. Seguridad Informática. Unidad 3 Seguridad pasiva. Recuperación de datos

Computación de Alta Performance Curso 2009 TOLERANCIA A FALLOS COMPUTACIÓN DE ALTA PERFORMANCE 2009 TOLERANCIA A FALLOS

Soporte y mantenimiento de base de datos y aplicativos

INSTALACIÓN El Proceso de Instalación. 2.2 El Asistente de Instalación

Procedimiento para el Manejo de No Conformidades, Acciones Preventivas y Correctivas del Sistema de Gestión Integral

Instantáneas o Shadow Copy

Expansión en línea de la Capacidad RAID & Migración del nivel RAID

Cuales son las herramientas que ofrece el sistema operativo para el mantenimiento preventivo de software?

Transcripción:

Bases de Datos I Cursada 2008 Clase 7: Recuperación de BD Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. 1 Introducción a la Seguridad Una base de datos es: Un conjunto de datos integrados, adecuado a varios usuarios y a diferentes usos el uso concurrente de los datos plantea problemas de seguridad que deben ser paliadas con las facilidades que e proporciona el DBMS. La protección de los datos deberá llevarse a cabo contra fallos físicos, fallos lógicos y fallos humanos (intencionados o no). 2 Introducción a la Seguridad El DBMS facilita mecanismos para prevenir los fallos (subsistema de control), detectarlos una vez que se han producido (subsistema de detección) corregirlos después de haber sido detectados (subsistema de recuperación). Aspectos fundamentales de la seguridad Confidencialidad. No develar datos a usuarios no autorizados. Comprende también la privacidad (protección de datos personales). Accesibilidad. La información debe estar disponible. Integridad. Permite asegurar que los datos no han sido falseados. 3 1

Recuperación de Bases de Datos Significa Examinar las implicaciones de los fallos en las transacciones, sobre la base de datos. Examinar maneras de prevenir los problemas que pueden ocurrir como resultado de fallos en el sistema. 4 Transacciones Transacción: conjunto de operaciones que forman una unidad conceptual de procesamiento. Propiedades ACID Atomicidad: se ejecutan todas las operaciones de la transacción o no lo hace ninguna de ellas si algo falla no deben quedar rastros de la ejecución inconclusa en la BD Recovery Manager + Transaction Manager Consistencia: la ejecución de la transacción conserva la consistencia de la BD Concurrency Manager + restricciones 5 Transacciones Propiedades ACID Aislamiento (isolation): cada transacción se ejecuta sin interferencia del resto de las transacciones que se ejecutan concurrentemente en el sistema Transaction Manager Durabilidad: los cambios de una transacción finalizada exitosamente deben ser permanentes en la BD, incluso si hay fallos en el sistema Recovery Manager 6 2

Diagrama de estado de una transacción después de ejecutarse la última instrucción Parcialmente Comprometida Completada exitosamente Comprometida Activa estado durante la ejecución normal. Fallada no puede seguir la ejecución normal Abortada retrocedida y restablecida la BD al estado anterior al comienzo 7 Transacciones Transacción abortada ACCIONES: Error no vinculado a lógica de la transacción (hardware o software) Reinicio Error en la lógica del programa que ejecuta la transacción Cancelar 8 Fallos con Pérdida de Información Muchos tipos diferentes de fallos que pueden afectar al procesamiento de la base de datos Cada uno debe ser tratado de forma distinta Paradas catastróficas del sistema debidas a errores del hardware o del software pérdida de contenido de la memoria principal Fallos del soporte físico pérdida de la información guardada en almacenamiento secundario 9 3

Fallos con Pérdida de Información Errores de software de las aplicaciones fallo en una o más transacciones Desastres físicos naturales como incendios, inundaciones, terremotos y apagones Destrucción negligente o no intencionada de datos o instalaciones por operadores o usuarios Sabotaje o corrupción o destrucción intencionada de los datos, del hardware, del software o de las aplicaciones 10 Tratamientos ante Fallos Eventos indeseables Esperados Acciones ejecutadas durante el procesamiento normal de la transacción que permiten la recuperación ante fallos integran la lógica de la transacción 11 Tratamientos ante Fallos Eventos indeseables Inesperados Acciones ejecutadas después de ocurrir el fallo para restablecer el contenido de la BD garantizar las propiedades ACID Retornar al estado consistente previo a la ejecución de la transacción fallida. 12 4

Algoritmos de Recuperación Los algoritmos de Recuperación son técnicas que garantizan las propiedades A, C y D a pesar de las fallas. Tienen dos partes: 1. Acciones durante el procesamiento normal de una transacción para asegurar que hay suficiente información de ayuda a la recuperación en caso de falla. 2. Acciones ejecutadas después de una falla para recuperar el estado de consistencia de la base (propiedades A, C y D) 13 Recuperación Un SGBD debe proporcionar las siguientes funcionalidades como ayuda a la recuperación: Mecanismo de copia de seguridad mediante el que se hagan copias de seguridad periódicas de la base de datos Facilidades de registro que mantengan el control del estado actual de las transacciones y de los cambios realizados en la base de datos Funcionalidad de puntos de comprobación que permita que las actualizaciones de la base de datos que estén llevándose a cabo se hagan permanentes Gestor de recuperación que permita al sistema restaurar la base de datos a un estado coherente después del fallo 14 Recuperación Estrategias típicas Copias de respaldo en otros medios de almacenamiento (backups) Operaciones específicas: Redo, Undo Medio para registrar los movimientos realizados LOG de transacciones (diario o bitácora) Métodos de recuperación basadas en el contenido del log Actualización diferida (Deferred update) Actualización inmediata (Immediate update) Técnicas para recuperación Vía reprocesamiento Vía rollback/rollforward 15 5

Recuperación vía Reprocesamiento La base de datos se retorna a un estado correcto previo conocido y se reprocesan las transacciones ejecutadas hasta el momento del fallo Estrategia impráctica en algunos casos y no factible en otros El sistema tiene una carga de trabajo asincrónica, eventos concurrentes, etc. 16 Recuperación vía Rollback/Rollforward Salvar la BD periódicamente y mantener un archivo auxiliar con los cambios producidos (LOG) en orden cronológico. Write-Ahead Logging (WAL) Fuerza las escrituras en el LOG antes de escribir en la base de datos (#1) Fuerza el Commit de la transacción después de escribir en el LOG escribe todos los registros del Log de la transacción antes del commit (#2) #1 garantiza Atomicidad. #2 garantiza Persistencia (durabilidad) 17 Recuperación vía Rollback/Rollforward Cuando ocurre un fallo Rollback: deshace los cambios erróneos y reprocesa las transacciones válidas Rollforward: rehace los cambios en la base de datos usando datos salvados y transacciones válidas desde el último backup 18 6

Rollback Imagen antes de : una copia de cada registro de la BD (o página) antes de ser modificada. 19 Rollforward Imagen después de : una copia de cada registro de la BR (o página) después de haber sido cambiada 20 Backups Backups regulares salvan el estado de la base de datos en un momento determinado Útil para restaurar la base de datos en caso de fallas catastróficas (destrucción física, sabotaje, etc.) Operación costosa en tiempo ejecutada cuando el sistema está ocioso o con menor carga de trabajo Backup incremental copia de respaldo frecuente de aquéllos registros que se han modificado Cómo asegurar persistencia de los cambios (Durabilidad ACID) 21 7

Recuperación basada en el LOG Cada registro de cambio del LOG contiene Identificador de la transacción (Id_T) que ejecuta el cambio Identificador del ítem de datos modificado (típicamente la ubicación en el disco) Valor viejo (que fue sobreescrito) Valor nuevo (luego del write) Otros registros del LOG contienen <Id_T, tiempo de comienzo> transacción ACTIVA <Id_T, tiempo de commit> transacción confirmada <Id_T, tiempo de aborto> transacción abortada El LOG tiene los datos completos de los cambios desde el último backup Debe almacenarse en memoria estable!! 22 Recuperación basada en el LOG Operación de recuperación usa dos primitivas redo: rehace la actualización registrada en el LOG. Escribe el valor nuevo sobre el ítem de datos modificado undo: deshace la actualización registrada en el LOG Escribe el valor viejo sobre el ítem de datos modificado 23 Recuperación basada en el LOG Ambas primitivas ignoran el estado del registro en la base de datos sobreescriben directamente. La aplicación múltiple de estas operaciones es equivalente a la aplicación de la última vez idempotencia de undo y redo redo (redo (redo ( (redo(x))))) redo (x) undo (undo (undo ( (undo(x))))) undo (x) 24 8

Checkpoints Cuando se produce un fallo Que acciones hay que rehacer (redo)? Que acciones hay que deshacer (undo)? Inspección del LOG completo Costoso en tiempo Muchas transacciones ya habrán confirmado sus cambios en la base de datos (ya son persistentes) rehacerlas es inofensivo pero se pierde tiempo 25 Checkpoints Para reducir la carga de trabajo que implica la restauración checkpoints. 1. Grabar todos los registros del LOG actualmente en memoria principal en almacenamiento estable. 2. Grabar en la BD todos los bloques de registros almacenados en buffers. 3. Escribir en el LOG un registro < checkpoint>. 26 Checkpoints Durante la recuperación considerar solamente la transacción T i más reciente comenzada antes del checkpoint, y las que comenzaron después de T i. 1. Recorrer hacia atrás desde el final del LOG, hasta alcanzar el <checkpoint> más reciente. 2. Continuar recorriendo hasta encontrar <T i start>. 3. Considerar la parte del LOG que sigue a este registro. 27 9

Checkpoints 1. Para todas las transacciones (comenzadas desde T i o después) que no hayan registrado <T i commit>, ejecutar undo(t i ) tiene sentido en actualizaciones inmediatas o de registro desconocido!! 2. Recorrer el LOG hacia adelante para todas las transacciones comenzadas desde T i que hayan registrado <T i commit>, ejecutando redo(t i ). 28 Checkpoints No esperar a que las transacciones activas finalicen No permitir que hagan modificaciones en los buffers o en el LOG mientras dura el checkpointing Debe insertarse un registro de checkpointing en el LOG, que incluya la lista de transacciones activas <checkpoint, L> Para la recuperación se necesita recorrer los registros correspondientes a las transacciones indicadas en L, para deshacer o rehacer cambios. 29 Esquema de Situaciones con Checkpoint T c T f T 1 T 2 T 3 T4 checkpoint T 1 puede ignorarse cambios registrados en la BD por el checkpoint T 2 y T 3 rehacer Durabilidad T 4 y T 5 deshacer Atomicidad T 5 fallo 30 10

Recuperación de Bases de Datos El Commit para esta transacción no existe imagen antes de T18: start. T83: start T18: 1982374, Balance, $900.00, $950.00 T29: start T83: 3874843, Balance, $20.00, $70.00 T29: 4948543, Balance, $1350.00, $350.00 T18: 9384945, Balance, $200.00, $250.00 T18: commit T29: 3984554, Balance, $900.00, $1900.00 T29: commit Falla 31 Recuperación de Bases de Datos El Commit de estas transacciones fue provisto usar imagen despues de T18: start. T83: start T18: 1982374, Balance, $900.00, $950.00 T29: start T83: 3874843, Balance, $20.00, $70.00 T29: 4948543, Balance, $1350.00, $350.00 T18: 9384945, Balance, $200.00, $250.00 T18: commit T29: 3984554, Balance, $900.00, $1900.00 T29: commit Falla 32 Mecanismo de Undo (1) T = conjunto de transacciones con <Ti, start> en el LOG, pero sin <Ti, commit> (o <Ti, abort>) (2) Para cada <Ti, X, Xviejo> en el LOG, en orden reverso (desde el final hacia atrás) hacer: - Si Ti T write (X, Xviejo) (buffer) (3) Para cada Ti T registrar output (X) (copia en la BD) - write <Ti, abort> en el LOG 33 11

Mecanismo de Redo (1) T = conjunto de transacciones con <Ti, commit> (y sin <Ti, end>) en el LOG (2) Para cada <Ti, X, Xnuevo> en el LOG, avanzando hacia el final del LOG hacer: - Si Ti T write(x, Xnuevo) (buffer) output(x) (copia en BD) (3) Para cada Ti T write <Ti, end> 34 Rollback de Transacciones Cascading rollback S lee un ítem de datos que T escribe Si T es abortada, S leyo un valor inexistente S debe ser abortada Métodos prácticos de recuperación garantizan que no habrá rollback en cascada tópico relativo a problemas de concurrencia 35 Recuperación basada en Act. Diferidas Las transacciones no cambian la BD hasta que alcanzan el punto de confirmación No lo alcanzan hasta que el LOG no ha sido actualizado Estrategia NoUndo/Redo 36 12

Recuperación basada en Act. Inmediatas Actualiza immediatamente la BD usando WAL Dos estrategias Undo/NoRedo actualiza la BD en el disco antes del commit Undo/Redo puede hacer commit antes de que los cambios se hayan grabado efectivamente en la BD (puede haber cambios en buffers) 37 Doble Paginación (Shadow Paging) Considera la BD constituida por páginas de disco de tamaño fijo El segundo directorio no cambia y el corriente apunta a la página más reciente Estrategia NoUndo/NoRedo 38 Directorio actual (después de actualizar pág. 2,5) 1 2 3 4 5 6 Bloques de disco de la BD (páginas) Pag. 5 ( VIEJA ) Pag. 1 Pag. 4 Pag. 2 ( VIEJA ) Pag. 3 Pag. 6 Pag. 2 ( NUEVA ) Pag. 5 ( NUEVA ) Doble Paginación (Shadow Paging) Segundo directorio (no se actualiza) 1 2 3 4 5 6 39 13

Doble Paginación Para confirmar una transacción Volcar el buffer a la BD Volcar el directorio corriente a disco no sobreescribir el segundo directorio Copiar la dirección del directorio corriente a la del segundo directorio la transacción alcanza el commit No es necesario recuperar luego de un fallo las transacciones pueden continuar a partir del segundo directorio. 40 Doble Paginación: Desventajas Fragmentación de los datos páginas relacionadas están separadas en el disco Sobrecarga para los Commit (si el directorio es extenso) necesidad de volcar cada página modificada y el directorio Copiar el directorio es costoso Puede reducirse usando una estructura de árbol B + copiar solamente los caminos que llevan a hojas modificadas Colector de Basura páginas que dejan de ser apuntadas por los directorios deberían ser liberadas. 41 14