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

Documentos relacionados
Recuperación de Fallos del Sistema

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

15. Recuperación de fallos del sistema

Integridad Transaccional

CAPITULO 6. Control de Concurrencia y Recuperación

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

Recuperación del Sistema

El Sistema Gestor de Base de Datos (DBMS)

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Grandes de Bases de Datos. Alta disponibilidad Envío de bitácoras

TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ

5. RECUPERACIÓN DE FALLAS

SISTEMAS DE RECUPERACIÓN

PROCEDIMIENTOS DEL NOC RESPALDO Y RECUPERACION DE DATOS

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

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

Alertar. Supervisor. Registrar Clientes Morosos y Cuentas. Cliente Previamente moroso? Primero trabajar con cada instancia. previamente?

CICLOS DEL PROCESADOR

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN X

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

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

Manejo de Transacciones

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

NATIONAL SOFT HOTELES GUÍA DE MIGRACIÓN DE BASE DE DATOS

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

Principales rutinas de mantenimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Administración de Bases de Datos

Laboratorio Informix. Stored Procedures Triggers

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

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Afinación y Rendimiento de Bases de Datos

Introducción al SQL embebido

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Bases de Datos / Elementos de Bases de Datos Que es un Stored Procedure? Stored Procedures: Ventajas

Sistema de Recuperación. Carlos A. Olarte BDII

Bases de Datos 2. Teórico

Recuperación de Bases de Datos

TEMA 4.4: Recuperación ante fallos

Enlaces relacionados:

Restricciones de Integridad

6. PROGRAMACIÓN CON TRANSACT-SQL

SIIGO WINDOWS. Procesos de Caja Menor. Cartilla I

GESTION DE TRANSACCIONES

Bases de Datos / Elementos de Bases de Datos 2015

TEMA 4: El lenguaje SQL II: Introducción, modificación y borrado de datos.

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

Fundamentos de Oracle

Interacción con el Servidor Oracle8. Copyright Oracle Corporation, All rights reserved.

Transacciones en SQL Server Autor: Cesar Manivesa (manivesa)

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

UNIVERSIDAD SIMÓN BOLÍVAR Vicerrectorado Académico

Modificación de datos

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Control de Concurrencia

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012

Nivel Básico/Intermedio. Instalar y Configurar SQL Server Diseñar una Base de Datos. Optimización de consultas

MANUALITO MS-SQL SERVER

1

Componentes de una BD

Manipulando Datos. y Transacciones

INSTRUCTIVO 003/2012

UD 1: Adopción de pautas de seguridad informática

Tema 4. Manipulación de datos con SQL

SQL (Structured Query Language)- DML

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Memoria. Organización de memorias estáticas.

Capítulo 5. Edición de datos

Tema: Disparadores Parte I.

Tema 6. Transacciones y seguridad

Desarrollo Cobol/DB2

ÍNDICE PRIMERA PARTE... 17

SQLModificaciones a la BD

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

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

DIVISIÓN ADMINISTRATIVA UNIDAD DE INFORMÁTICA PLAN DE COPIAS DE SEGURIDAD

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Procedimientos de recuperación

Tema 1. Bases de datos activas

Introducción a las bases de datos

Estructura de Bases de datos. Leonardo Víquez Acuña

Objetivos y Temario CURSO MySQL 5

Lenguaje de manipulación de datos

Oracle Database: Introducción a SQL

ESTRUCTURA BÁSICA DE UN ORDENADOR

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Transacciones, Recuperación y Control de Concurrencia

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO ASIGNATURA: TALLER DE BASE DE DATOS

Formato para prácticas de laboratorio

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

ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA

CONSULTAS BASICAS EN SQL SERVER

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo

Tema 4. SQL. Juan Ignacio Rodríguez de León

PLAN DE CONTINGENCIA EN CASO DE INTERRUPCIÓN DEL SUMINISTRO ELECTRICO

Mecanismos de Recuperación

MANUAL DEL USUARIO BALANZA ELECTRÓNICA PROGRAMABLE MX8F MIXER VERSION C-1.7

Manual del Integrador Contable Premium Soft

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

Transcripción:

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

Recuperación de transacciones Está vinculado a la noción de procesamiento de transacciones. Operaciones de SQL COMMIT (comprometer) ROLLBACK (retroceder). Transacción es una unidad lógica de trabajo.

Ejemplo: Supongamos que: la tabla P contiene un campo más: CANTTOTAL (cant. total enviada de cada parte). Es decir, CANTTOTAL para una parte dada es la suma de todos los valores CANT de todos los registros de la tabla SP correspondientes a esa parte.

Consideremos la secuencia de operaciones para añadir un nuevo envío a la BD: (S5,P1,1000) INSERT agrega el nuevo envío a la tabla SP UPDATE actualiza en forma apropiada el campo CANTTOTAL de la parte P1

Consideremos la secuencia de operaciones para añadir un nuevo envío a la BD: (S5,P1,1000) EXEC SQL WHENEVER SQLERROR GO TO ANULAR; EXEC SQL INSERT INTO SP (S#, P#, CANT) VALUES ( S5, P1, 1000); EXEC SQL UPDATE P SET CANTTOTAL = CANTTOTAL + 1000 WHERE P# = P1 ; EXEC SQL COMMIT; GO TO TERMINAR; ANULAR: EXEC SQL ROLLBACK; TERMINAR: RETURN;

Una operación supuestamente individual dos modificaciones de la BD. Definición: Una unidad lógica de trabajo no es una sola operación, sino una secuencia de varias operaciones con la cual un estado consistente de la BD se transforma en otro estado consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios.

En el ejemplo no se puede permitir una ejecución de una de las modificaciones y no de la otra la BD quedaría inconsistente Existe la posibilidad de falla: por ejemplo: el sistema podría caer luego de ejecutar la primera modificación.

Si el sistema maneja el procesamiento de transacciones, garantizará que: si la transacción ejecuta alguna de las modificaciones y después presenta una falla, antes de que llegue a término normal de la transacción, se anularán esas modificaciones. La transacción se lleva a cabo en su totalidad, o se cancela en su totalidad (como sí jamás se hubiera ejecutado)

El componente del sistema encargado de lograr esa atomicidad se conoce como manejador de transacciones y las operaciones COMMIT (comprometer) ROLLBACK (retroceder) de SQL son la clave de su funcionamiento.

COMMIT señala el término exitoso de la transacción. Le dice al manejador de transacciones que ha finalizado con éxito una unidad lógica, que la BD está de nuevo en un estado consistente y que se pueden comprometer o hacer permanentes todas las modificaciones efectuadas.

ROLLBACK señala el término no exitoso de la transacción. Le dice al manejador de transacciones que algo salió mal, que la BD podría estar en un estado inconsistente y que todas las modificaciones deben retroceder o anularse.

Cómo es posible anular una modificación El sistema mantiene una bitácora o diario donde se registran los detalles de todas las operaciones de actualización, en particular los valores inicial y final del objeto modificado. Si resulta necesario anular alguna modificación, el sistema puede utilizar la entrada correspondiente de la bitácora para restaurar el valor original del objeto modificado.

Definición: Un punto de sincronización representa un límite entre dos transacciones consecutivas, de modo que corresponde al final de una unidad de trabajo, y por tanto al punto en el cual la BD está (o debería estar) en un estado de consistencia.

Las únicas operaciones que establecen un punto de sincronización son COMMIT ROLLBACK el inicio de un programa

Cuando se establece un punto de sincronización: Se comprometen (COMMIT) o se anulan (ROLLBACK) todas las modificaciones realizadas por el programa desde el punto de sincronización anterior Se cierran los cursores abiertos y se pierde todo posicionamiento en la BD Se liberan todos los registros bloqueados

Una sola ejecución de programa puede incluir varias transacciones. Cada COMMIT o ROLLBACK termina una transacción o inicia la siguiente. las transacciones no son sólo la unidad de trabajo sino también la unidad de recuperación. Si una transacción se compromete con éxito, el sistema deberá garantizar el establecimiento permanente de sus modificaciones en la BD, aún si el sistema cae en el instante siguiente.

Regla: protocolo de bitácora de escritura adelantada La bitácora se deberá grabar físicamente antes de poderse completar el procesamiento de una instrucción COMMIT. Así el procedimiento de reinicio recuperará todas las transacciones completadas con éxito pero cuyas modificaciones no lograron grabarse físicamente antes de la caída. las transacciones son la unidad de recuperación y también son la unidad de concurrencia

Recuperación del sistema y de los medios de almacenamiento El sistema debe estar preparado para fallas globales, por ejemplo corte de energía. Una falla local afecta solo la transacción Una falla global afecta a varias o todas

Recuperación del sistema y de los medios de almacenamiento Fallas del sistema: Categorías de fallas afectan a todas las transacciones que se están realizando pero no dañan físicamente a la BD. Ejemplo: interrupción de electricidad. Fallas de los medios de almacenamiento: dañan físicamente a la BD. Ejemplo: rotura del disco.

Fallas del sistema Punto crítico: se pierde el contenido de la memoria principal (áreas de almacenamiento temporal: buffers de datos). Por lo tanto: ya no se conoce el estado preciso de la transacción que se realizaba en el momento de la falla.

Fallas del sistema Esa transacción no se podrá completar con éxito. Es preciso anularla (retroceder cuando se reinicie el sistema) Podría ser necesario volver a realizar transacciones al reiniciar el sistema (aquellas cuyas modificaciones no lograron ser transferidas de los buffers de la BD a la BD física)

cómo sabe el sistema cuáles anular y cuáles realizar otra vez? Cada cierto intervalo previamente establecido, el sistema establece un punto de revisión de manera automática. Esto implica grabar físicamente: el contenido de los buffers en la BD física un registro de punto de revisión especial en la bitácora física El registro de punto de revisión incluye una lista de todas las transacciones que se estaban realizando en el momento de establecerse el punto de revisión.

Ejemplo de uso de esta información: tiempo t v t f T 1 T 2 Transacciones T 3 T4 T 5 Punto de Verificación (tiempo t v ) Falla del sistema (tiempo t f )

Se presentó una falla de sistema en el momento tf El punto de verificación más reciente antes de tf se tomó en el momento tv Las transacciones del tipo T1 se completaron antes del tv Las transacciones del tipo T2 se iniciaron antes del tiempo tv y se completaron después del tiempo tv y antes del tf Las transacciones del tipo T3 se iniciaron antes del tiempo tv y se pero no se completaron antes del tf Las transacciones del tipo T4 se iniciaron después del tiempo tv y se completaron antes del tf Las transacciones del tipo T5 se iniciaron después del tiempo tv pero no se completaron antes del tf

Al reiniciarse el sistema: Deberán anularse las transacciones del tipo T3 y T5 Deberán realizarse de nuevo las transacciones del tipo T2 y T4 Las del tipo T1 no entran porque sus modificaciones ya fueron grabadas físicamente en la BD en el momento tv como parte del proceso de punto de revisión.

Fallas de los medios de almacenamiento Se destruye físicamente la BD Esto implica: cargar de nuevo o restaurar la BD a partir de un respaldo y utilizar después la bitácora (activa y archivada) para realizar de nuevo todas las transacciones desde que se hizo la copia de respaldo.