Recovery manager Gestore della affidabilità



Похожие документы
Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Tecnologia di un Database Server (centralizzato) Introduzione generale

8 Tecniche di recovery

Sistemi transazionali. sistemi transazionali 1

L architettura di un DBMS

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Introduzione all Architettura del DBMS

Linguaggio SQL: costrutti avanzati

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Esecuzione concorrente di transazioni

Basi di Dati Distribuite

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a:

1. BASI DI DATI: GENERALITÀ

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

Corso di Basi di Dati e Conoscenza

Introduzione al data base

Considerazioni sui server

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

TRANSAZIONI DISTRIBUITE TRANSAZIONI

File system II. Sistemi Operativi Lez. 20

Progettaz. e sviluppo Data Base

DB - Cenni sulla gestione delle transazioni

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Linee guida per la programmazione di transazioni in PL/SQL

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

IL SISTEMA INFORMATIVO

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO IMPIEGATO

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill

Base di dati e sistemi informativi

Progettaz. e sviluppo Data Base

Il Sistema Operativo

Il linguaggio SQL: transazioni

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Facoltà di Farmacia - Corso di Informatica

Sistemi avanzati di gestione dei Sistemi Informativi

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Procedure di ripristino del sistema.

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Organizzazione degli archivi

Architetture distribuite

Il File System. Il file system

Basi di dati. Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: presentazione corso (1.

Procedure di ripristino del sistema.

Come usare P-touch Transfer Manager

Access. P a r t e p r i m a

Corso di Informatica (Basi di Dati)

CODICE PRIVACY PROCEDURA DI GESTIONE DEL BACKUP ED IL RESTORE DEI DATI

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

CONFIGURAZIONE E GESTIONE DEI DATABASE (rev. 1.1)

STRUTTURE DEI SISTEMI DI CALCOLO

Automazione Industriale (scheduling+mms) scheduling+mms.

Gestione del workflow

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Descrizione di un algoritmo

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Come modificare la propria Home Page e gli elementi correlati

PROGRAMMA DI CLASSE 5AI

Linguaggi di programmazione

Транскрипт:

Riferimenti Basi di Dati Complementi Parte 2: Tecnologie per DBMS Parte 2.5: Recovery Manager Trasparenze parte Recovery manager Basi di Dati Atzeni et al. - Capitolo 2.1, 2.2 Anche: Garcia Molina, Ullman, Widom, Database Systems the complete book, Prentice Hall, 2002 Buffer Management Recovery Management @ C. Batini 2006 2 Data Base Recovery Recovery manager Gestore della affidabilità Il recovery manager e responsabile di Garantire Atomicita Garantire Persistenza Realizzare i comandi transazionali fondamentali: Begin transaction, end transaction, commit work, rollback work Obiettivo del recovery manager e quindi di: Gestire il rollback di una transazione Ricostruire uno stato consistente del DB e che rispetti la semantica della transazioni, in seguito a un guasto del DBMS Buffer Management Recovery Management @ C. Batini 2006 3 Buffer Management Recovery Management @ C. Batini 2006 4 Architettura del controllore dell'affidabilità Gestore dei metodi d accesso fix, unfix begin, commit, abort Gestore della affidabilità fix, unfix, force, (sulle pagine BD e sul log) e e Redo sulle pagine DB Gestore del buffer read, write Gestore della memoria secondaria BD Log Gestore delle transazioni Buffer Management Recovery Management @ C. Batini 2006 5 Organizzazione del materiale 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager e Redo 4. Politiche operative, cioe diverse modalita possibili per l aggiornamento delle informazioni di sistema (log) e della BaseDati da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo Buffer Management Recovery Management @ C. Batini 2006 6 1

Organizzazione del materiale - 1 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager Redo 4. Politiche per l aggiornamento delle informazioni di sistema (log) e della BD da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo 1. Tipi di guasti e politica generale di ripristino Buffer Management Recovery Management @ C. Batini 2006 7 Buffer Management Recovery Management @ C. Batini 2006 8 Concetto di Memoria stabile Memoria resistente ai guasti E un astrazione, benche tecniche di replicazione su dispositivi fisici multipli possano portare la probabilita di perdita di dati vicina allo zero L organizzazione fisica puo differire a seconda della criticita delle applicazioni: Unita nastro Devices di tipo diverso accoppiati (es un nastro e un disco) Due unita disco replicate protocolli RAID, Redundant Array of Inexpensive Disks Buffer Management Recovery Management @ C. Batini 2006 9 Tipi di guasti e cause di rollback - 1 Guasti di sistema System crash, errore hw/sw o di rete (es. Calo tensione): Errore di sistema o applicativo (della transazione) Esempio: divisione per zero Condizioni logiche locali durante l esecuzione di una transazione (es. assenza di un dato) Gestione della concorrenza Lo scheduler puo forzare il rollback e restart di una transazione Perdita del contenuto del buffer, memoria di massa rimane valida Buffer Management Recovery Management @ C. Batini 2006 10 Tipi di guasti e cause di rollback - 2 Guasti di dispositivo di memorizzazione Guasto di disco Problemi catastrofici Incendio Alluvione Attentato Perdita fisica di dati su memoria di massa ma non del log (che e su memoria stabile) Le strategie da adottare dipendono dal tipo di guasto Guasti di sistema: Perdita del buffer, stato persistente intatto Problema principale Atomicita Strategia di recovery: Ricordare le operazioni effettuate (log) Fare periodicamente la fotografia della situazione (checkpoint) All atto del guasto, tramite il log, ripercorrere all indietro la storia dei cambiamenti di stato del DB E necessario disfare (undo) alcune operazioni, ripeterne altre (redo) (vedi oltre per dettagli) Buffer Management Recovery Management @ C. Batini 2006 11 Buffer Management Recovery Management @ C. Batini 2006 12 2

Le strategie da adottare dipendono dal tipo di guasto Guasti di dispositivo: Perdita dello stato persistente (perdita dei dischi) Problema principale Persistenza Strategia di recovery: Memorizzare periodicamente su memoria stabile lo stato della BD () Caricare il piu recente stato disponibile del DB Ricostruire lo stato attuale a partire dal utilizzando il log Politica generale di ripristino: il modello fail-stop Normal Restart completed Fail Fail Restart Stop Boot Buffer Management Recovery Management @ C. Batini 2006 13 Buffer Management Recovery Management @ C. Batini 2006 14 Organizzazione del materiale - 2 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager Redo 4. Politiche per l aggiornamento delle informazioni di sistema (log) e della BD da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo 2. Informazioni disponibili al recovery manager 2.1. Il log di sistema 2.2. Checkpoint 2.3. Dump Buffer Management Recovery Management @ C. Batini 2006 15 Buffer Management Recovery Management @ C. Batini 2006 16 2.1 Organizzazione del system log Il log e un file sequenziale che si assume scritto su memoria stabile, per la quale cioe non vi possono essere guasti Registra le attivita svolte da ciascuna transazione, in ordine cronologico Nel log compaiono due tipi di record: Record di transazione Informazioni sulle operazioni effettuate dalle transazioni Record di sistema Evento di Checkpoint Evento di Dump Record di transazione: ci interessano le operazioni di modifica La struttura dipende dal tipo di operazione Legenda O=oggetto, AS = After (dopo) State, BS = Before (prima) State Struttura per le varie operazioni begin, B(T) insert, I(T,O, AS) delete, D(T,O,BS) update, U(T,O,BS,AS) commit, C(T), o abort, A(T) Buffer Management Recovery Management @ C. Batini 2006 17 Buffer Management Recovery Management @ C. Batini 2006 18 3

Esempio di log 2.2 Checkpoint C() U(, ) Lo scopo del checkpoint e quello di ricordare l insieme delle transazioni attive (al momento del checkpoint),, Tn distinguendole da quelle completate/committed Buffer Management Recovery Management @ C. Batini 2006 19 Buffer Management Recovery Management @ C. Batini 2006 20 Attiva/ uncommitted Completata/ committed Deve ancora iniziare Esempiodi statodelletransazioni al momento del checkpoint C() U(, ) Checkpoint - 1 La primitiva di checkpoint () esegue due operazioni Per ogni transazione che ha eseguito un commit (committed nel seguito) al momento del checkpoint, copia le pagine di buffer su disco Successivamente scrive nel log un record (, Tn) contenente gli IDentificatori delle transazioni, Tn attive (cioe che non hanno eseguito un commit, uncommitted nel seguito) all atto della esecuzione del checkpoint Buffer Management Recovery Management @ C. Batini 2006 21 Buffer Management Recovery Management @ C. Batini 2006 22 Attiva/ Uncommitted Scrive su log l identificatore Completata/ Committed Copia su disco Deve ancora Iniziare niente Esempiodi statodelletransazioni al momento del checkpoint C() U(, ) (t 1 ) Buffer Management Recovery Management @ C. Batini 2006 23 Checkpoint - 2 Conseguenza: Per tutte le transazioni T per cui Commit(T) precede (, Tn), non e necessario fare niente (rieseguire) in caso di guasto Il checkpoint viene eseguito periodicamente, e registrato nel log Buffer Management Recovery Management @ C. Batini 2006 24 4

Percio la sequenza di checkpoint e.. 1. Sospende l esecuzione delle transazioni 2. Scrive su disco le pagine del buffer delle transazioni che hanno fatto il commit 3. Successivamente, scrive il record (, Tn) sul log in modo sincrono (force) 4. Riprende l esecuzione delle transazioni Deve essere sicuro che sia completato il trasferimento Per garantire la persistenza Esempio di log con checkpoint C() U(, ) Buffer Management Recovery Management @ C. Batini 2006 25 Buffer Management Recovery Management @ C. Batini 2006 26 2.3 Dump Un e una copia dell intero stato del DB su memoria stabile Eseguita offline (nessuna transazione attiva, serve una fotografia ) Produce un backup, cioe salvataggio su memoria stabile Scrive (force) un record di nel log, che segnala che in quell istante e stata fatta una copia della BD Esempio di log con checkpoint e C() U(, ) Buffer Management Recovery Management @ C. Batini 2006 27 Buffer Management Recovery Management @ C. Batini 2006 28 Record di end Alcuni sistemi registrano nel log per ogni transazione anche il record di end, che attesta che le operazioni di flush relative alla transazione sono terminate. Record di end In presenza del record di end, e possibile individuare una ulteriore classe di transazioni per le quali non e necessario effettuare nessuna azione, ne di undo ne di redo. C() U(, ) C() U(, ) END() END() Buffer Management Recovery Management @ C. Batini 2006 29 Buffer Management Recovery Management @ C. Batini 2006 30 5

Record di end In genere il record di end non e previsto, e noi faremo nel seguito questa assunzione. C() END() U(, ) Organizzazione del materiale - 3 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager Redo 4. Politiche per l aggiornamento delle informazioni di sistema (log) e della BD da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo Buffer Management Recovery Management @ C. Batini 2006 31 Buffer Management Recovery Management @ C. Batini 2006 32 Esempiodi statodelletransazioni al momento del crash Operazioni che utilizzano il log e Redo C() U(, ) Buffer Management Recovery Management @ C. Batini 2006 33 Buffer Management Recovery Management @ C. Batini 2006 34 Atomicita e persistenza delle transazioni Per le transazioni che al momento di un guasto sono: Committed (la transazione si e impegnata a eseguire tutte le proprie azioni) e necessario rifare le azioni, per garantire la persistenza Redo Uncommitted e necessario disfare le azioni, perchè non e noto quali azioni siano state effettuate, ma deve essere garantita la atomicita Buffer Management Recovery Management @ C. Batini 2006 35 Ripristina lo stato di un dato O al tempo precedente l esecuzione di una operazione Ripercorre il log all indietro, assegnando il valore BS before state ad ogni dato incontrato nel log update,delete: assegna il valore BS ad O insert: cancella O Buffer Management Recovery Management @ C. Batini 2006 36 6

Redo Ripristina lo stato di un dato O al tempo successivo l esecuzione di una operazione Ripercorre il log in avanti, assegnando il valore AS ( after state ) ad ogni dato incontrato nel log insert,update:assegna il valore AS ad O delete: cancella O Idempotenza di e Redo Durante il ripristino, possono verificarsi errori Puo essere necessario eseguire ripetutamente le azioni associate a e Redo Valgono le proprieta di idempotenza: ((A)) = (A) Redo (Redo(A)) = Redo(A) Buffer Management Recovery Management @ C. Batini 2006 37 Buffer Management Recovery Management @ C. Batini 2006 38 Organizzazione del materiale - 4 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager Redo 4. Politiche per l aggiornamento delle informazioni di sistema (log) e della BD da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo Politiche per l aggiornamento del log e della BD da parte del recovery manager Buffer Management Recovery Management @ C. Batini 2006 39 Buffer Management Recovery Management @ C. Batini 2006 40 Tre tipi di eventi vanno sequenziati con opportune politiche 1. Scrittura dei record di transazione del log su memoria stabile 2. Scrittura dei record dati su disco 3. Esecuzione della istruzione di commit e memorizzazione nel log In che ordine, per garantire la possibilita di usare consistentemente undo e redo? 2. Record dati su disco Log 3. Commit 1 Memoria Stabile 1. Record di log con i Record transazione su memoria stabile 3. Esecuzione Commit e memoriz. nel log Dati Buffer Memoria principale 2 Memoria secondaria Buffer Management Recovery Management @ C. Batini 2006 41 Buffer Management Recovery Management @ C. Batini 2006 42 7

Caso record di log su memoria stabile vs record dati su disco: regole Caso record di log su memoria stabile vs record dati su disco: regole Record di log con i Record transazione su memoria stabile Record dati su disco Esecuzione Commit e memoriz. nel log Il recovery manager rispetta la regola: 1.WAL (write-ahead log) I record di log, per la parte BeforeState, vengono scritti su memoria stabile prima dei corrispondenti record dati su disco Questo rende consistente la procedura di (un valore puo sempre essere riscritto su memoria di massa con il BS scritto nel log) Buffer Management Recovery Management @ C. Batini 2006 43 Buffer Management Recovery Management @ C. Batini 2006 44 Caso record di log su memoria stabile vs esecuzione del commit e mem. nel log Record di log con i Record transazione su memoria stabile Record dati su disco Esecuzione Commit e memoriz. nel log Buffer Management Recovery Management @ C. Batini 2006 45 Caso record di log su memoria stabile vs esecuzione del commit e mem. nel log Il recovery manager rispetta sempre la regola: 2.Commit-Precedence I record di log, per la parte AfterState, vengono scritti su memoria stabile prima di effettuare il commit della transazione Questo rende consistente il Redo (se una transazione e committed al momento di un guasto, ma le sue pagine non sono ancora state scritte su memoria di massa, possiamo usarei valoreas chetrovonellog) Buffer Management Recovery Management @ C. Batini 2006 46 Caso record dati su disco vs esecuzione del commit e mem. nel log Caso record dati su disco vs esecuzione del commit e mem. nel log Record di log con i Record transazione su memoria stabile Record dati su disco Esecuzione Commit e memoriz. nel log Per ciascuna delle tre tipologie di operazioni su DB Update Insert Delete il recovery manager deve seguire delle politiche di esecuzione per la scrittura su disco Lo faremo per la update Buffer Management Recovery Management @ C. Batini 2006 47 Buffer Management Recovery Management @ C. Batini 2006 48 8

Caso dei record dati su disco e esecuzione del commit e mem. nel log - strategie - 1 Tre strategie di scrittura dei valori nella BD N.B. Tutte consistenti con le regole WAL e commitprecedence 1. Aggiornamento immediato - Le updates vengono scritte su disco immediatamente I record di log vengono comunque scritti prima dei dati corrispondenti (regola WAL) Il buffer manager si impegna (con force o flush) a scrivere prima del commit su disco In questo modo tutte le pagine della BD modificate dalla transazione sono certamente scritte su memoria di massa Buffer Management Recovery Management @ C. Batini 2006 49 Caso dei record dati su disco e esecuzione del commit e mem. nel log - strategie - 1 2. Aggiornamento differito Le updates vengono scritte su disco solo dopo il commit della transazione e la scrittura del record di commit nel log I record di log vengono comunque scritti prima dei dati corrispondenti (regola WAL) 3. Aggiornamento misto Entrambe le politiche, in funzione della efficienza Buffer Management Recovery Management @ C. Batini 2006 50 Esempi delle tre politiche Immediata Differita Vediamo ora per le tre politiche quali tra le operazioni REDO e UNDO devono essere effettuate per garantire la Atomicita Mista Buffer Management Recovery Management @ C. Batini 2006 51 Buffer Management Recovery Management @ C. Batini 2006 52 Modalita immediata Il DB contiene valori AS provenienti da transazioni uncommitted Richiede delle operazioni di transazioni uncommitted al momento del guasto Non richiede Redo Modalita differita Il DB non contiene valori AS provenienti da transazioni uncommitted In caso di abort, non occorre fare nulla Rende superflua la procedura di Richiede Redo T4 T4 Redo Redo Buffer Management Recovery Management @ C. Batini 2006 53 Buffer Management Recovery Management @ C. Batini 2006 54 9

Modalità mista La scrittura puo avvenire in modalita sia immediata che differita Consente l ottimizzazione delle operazioni di flush Richiede sia che Redo Nel seguito tratteremo questa politica T4 Redo Redo Organizzazione del materiale - 5 1. Tipi di guasti e politica generale di ripristino 2. Informazioni che il recovery manager deve avere a disposizione per operare Log Dump Checkpoint 3. Operazioni che utilizzano queste informazioni e che sono a disposizione del recovery manager Redo 4. Politiche per l aggiornamento delle informazioni di sistema (log) e della BD da parte del recovery manager 5. Strategie per il recovery Ripresa a caldo Ripresa a freddo Buffer Management Recovery Management @ C. Batini 2006 55 Buffer Management Recovery Management @ C. Batini 2006 56 Scopo delle strategie Strategie per il recovery Garantire atomicita e persistenza (durability) Atomicita le transazioni in corso all atto del guasto lasciano il DB nello stato iniziale o nello stato finale Persistenza Le pagine completate nel buffer ma non ancora trasferite su disco devono essere trasferite permanentemente su disco Buffer Management Recovery Management @ C. Batini 2006 57 Buffer Management Recovery Management @ C. Batini 2006 58 Due modalita Caso di guasto di sistema Perdita del contenuto del buffer: Warm restart o Ripresa a caldo Guasto di dispositivo Perdita della memoria di massa: Cold restart o Ripresa a freddo Ambito del warm restart o del cold restart C() Warm restart U(, ) Cold restart Buffer Management Recovery Management @ C. Batini 2006 59 Buffer Management Recovery Management @ C. Batini 2006 60 10

Warm restart (ripresa a caldo) Assumiamo una modalita mista Quattro fasi: 1. Ricerca dell ultimo checkpoint nel log, per sapere in quel momento quali erano le transazioni in corso di esecuzione 2. Costruzione degli insiemi e Redo (politica mista) Partendo dall ultimo checkpoint contiene le transazioni uncommitted Redo contiene le transazioni committed 3. Fase Ripercorre il log all indietro disfacendo le transazioni nel set 4. Fase Redo Ripercorre il log in avanti rifacendo le transazioni nel Esempio di warm restart U(, O1, B1, A1) C U(,O2,B3,A3) U(T4,O3,B4,A4) A C(T4) T4 B() C U(,O3,B5,A5) U(,O4,B6,A6) D(,O5,B7) C() I(t2,O6,A8) set Redo Buffer Management Recovery Management @ C. Batini 2006 62 Buffer Management Recovery Management @ C. Batini 2006 61 1. Ricerca dell ultimo checkpoint 2. Costruzione degli insiemi UNDO e REDO U(, O1, B1, A1) U(,O2,B3,A3) U(T4,O3,B4,A4) C(T4) B() U(,O3,B5,A5) U(,O4,B6,A6) D(,O5,B7) C() I(t2,O6,A8) T4 REDO = { } UNDO = {,,T4} C A C Buffer Management Recovery Management @ C. Batini 2006 63 Buffer Management Recovery Management @ C. Batini 2006 64 2. Costruzione degli insiemi UNDO e REDO 2. Costruzione degli insiemi UNDO e REDO UNDO = {, }. REDO = {T4} Buffer Management Recovery Management @ C. Batini 2006 65 UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} Buffer Management Recovery Management @ C. Batini 2006 66 11

2. Costruzione degli insiemi UNDO e REDO UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } Buffer Management Recovery Management @ C. Batini 2006 67 3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, }, Buffer Management Recovery Management @ C. Batini 2006 68 3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, }, Buffer Management Recovery Management @ C. Batini 2006 69 3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, }, Buffer Management Recovery Management @ C. Batini 2006 70 3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5, Buffer Management Recovery Management @ C. Batini 2006 71 3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5 7. O2 =B3, Buffer Management Recovery Management @ C. Batini 2006 72 12

3. Fase UNDO: per tutte le transazioni in UNDO, e per tutti i loro comandi elementari UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5 7. O2 =B3 8. O1=B1, Buffer Management Recovery Management @ C. Batini 2006 73 4. Fase REDO UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5 7. O2 =B3 8. O1=B1 Redo T4, Buffer Management Recovery Management @ C. Batini 2006 74 4. Fase REDO 4. Fase REDO UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5 7. O2 =B3 8. O1=B1 9. O3 = A4 Redo T4, Buffer Management Recovery Management @ C. Batini 2006 75 UNDO = {, }. REDO = {T4} UNDO = {,,}. REDO = {T4} UNDO = {,}. REDO = {T4, } 6. O3 = B5 7. O2 =B3 8. O1=B1 9. O3 = A4 Redo T4, 10. O4 = A6 Buffer Management Recovery Management @ C. Batini 2006 76 Cold restart (ripresa a freddo) Tre fasi 1. Caricamento da memoria stabile del piu recente e copia selettiva dei frammenti danneggiati Ricerca del record di piu recente nel log 2. RICOSTRUISCE STATO DELLA BD Forward recovery dallo stato del Riapplica tutte le azioni del log, nel loro ordine Otteniamo lo stato del DB immediatamente precedente al crash 3. GARANTISCE ATOMICITA e PERSISTENZA Esegue un warm restart come descritto in precedenza Buffer Management Recovery Management @ C. Batini 2006 77 13