Database management system: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gestione dei guasti: Riorganizzata sezione
Riga 106:
* FLUSH: Con questo comando si forza il gestore del buffer a eseguire il salvataggio, quando ci si trova in modalità NOT FORCE.
 
=== Gestore delle operazioni di ripristino ===
== Gestione dei guasti ==
Il recovery manager è responsabile di garantire la coerenza l'atomicità, la persistenza e di realizzare i comandi transazionali fondamentali quali begin transaction, end transaction, commit work, rollback work.
 
Il recovery manager è responsabile di garantire la coerenza l'atomicità, la persistenza e di realizzare i comandi transazionali fondamentali quali begin transaction, end transaction, commit work, rollback work.
L'obiettivo del recovery manager è quello di gestire il rollback di una transazione, ricostruire uno stato consistente del DB e che ne rispetti la semantica delle transazioni, in seguito ad un guasto del DBMS.
 
=== Tipi di guasti ===
Un DBMS deve essere in grado di fronteggiare diverse tipologie di guasti:
* guasti di sistema;
Line 120 ⟶ 119:
Un guasto di memoria secondaria è più complesso da gestire e può essere causato da eventi catastrofici che non permettono di avere una memoria ancora valida. Questo tipo di guasto causa una perdita fisica dei dati memorizzati ma non dei log che vengono salvati in una memoria stabile.
 
==== Strategie ====
=== Metodologie applicate dal DBMS ===
 
Per risolvere il problema dei guasti ilun DBMS utilizzapuè leutilizzare seguentidiverse metolodogiestrategie:
* ''system log,'': file sequenziale scritto in memoria sicura che registra tutte le attività svolte dalle transazioni e gli eventi del sistema quali checkpoint o dump;
* ''dump,'': copia della memoria secondaria su una memoria dislocata in un punto differente geografico;
* ''checkpoint,'': evento di sistema che permette di fotografare lo stato del DBMS al momento dell'esecuzione delle transazioni.
 
=== Operazioni ===
Per ripristinare situazioni non congruenti derivate da crash del sistema, il DBMS ha disposizione l'operazione di redo e l'operazione di undo da utilizzare tramite la lettura del log.