70 likes | 177 Views
Recovery (helyreállítás) feladatok gyakorlatra. PPKE-ITK, Database Systems, 2010. Előadás tananyagból:. Adatbázis kezelő tulajdonságai Adatbázis hibák, kezelés Tárolás Naplózás – jelölések Tranzakciók lefutása – késleltett naplózási technikával REDO-zás Checkpointok UNDO-zás
E N D
Recovery(helyreállítás)feladatok gyakorlatra PPKE-ITK, Database Systems, 2010.
Előadás tananyagból: • Adatbázis kezelő tulajdonságai • Adatbázis hibák, kezelés • Tárolás • Naplózás – jelölések • Tranzakciók lefutása – késleltett naplózási technikával • REDO-zás • Checkpointok • UNDO-zás • Azonnali naplózási technika: UNDO+REDO 2 Database Systems – Recovery (gyakorlat)
Kezdőértékek: A==1000 B==2000 C==500 3 Database Systems – Recovery (gyakorlat)
Feladat 1 • Állítsuk helyre az egyes naplók szerint, ha a CRASH a „T3 bef.” előtt éri a rendszert (vastag vonalnál)! • csak REDO: elindulunk a végétől, T2-t fölvesszük a listába, elértünk a ChP-ig, ott csak T2 van az aktív listán, ami eddig commitált, így csak a T2 startját keressük, megvan, visszafordulunk, a T2 összes műveletét újra végrehajtjuk (<T2, C, 600>). • csak UNDO: elindulunk a végéről, T2 bekerül a Commit-listába, T3-nak nem volt commitja, ezért ezt újra végrehajtjuk: beírjuk a régi (B=2050) értéket vakon. A ChP-tól csak a T3-at undozzuk tovább, nincs is mit. • REDO+UNDO: elindulunk a végéről. T2 a REDO-listába. ChP-ig nem volt START, de a T2 és a T3 START-jáig el kell jutni. T3 START megvan, T3: UNDO-listába. T2 START megvan, T2: a WAIT-listába (bár itt nem sok értelme van). UNDO-lista: T3 OldValue értékeit visszaírjuk. WAIT-lista: T2: NewValue értékeit visszaírjuk. 4 Database Systems – Recovery (gyakorlat)
Feladat 2 F:Helyreállítás menete azonnali technikával: • Aktív lista • UNDO-lista • REDO-lista • recovery sorrend (késleltetett technikával csak REDO-zás van) • A LogFile vizsgálatát a T0 kezdetéig vesszük, a CheckPointnál ő a legöregebb • T1 a CheckPoint előtt commitált, így nem kell vele foglalkoznunk. • L = [active-list] = T4, T3, T2, T0 • Helyreállítás: (azonnali technikánál – a késleltetettnél csak REDO-zás van!) 1. végéről vissza: UNDO-lista: T7, T6, T4 REDO-lista: T0, T2, T3, T5 2. UNDO-zás a végétől 3. REDO-zás az elejétől 5 Database Systems – Recovery (gyakorlat)
Feladat 3 • a) Milyen technikával készült az alábbi LogFile? • b) Add meg a kezdeti értékeket! • c) Rajzold le az idő függvényében a tranzakciók lefutását, jelölve a CheckPointot! • d) Hogyan állítod helyre, ha hiba lép fel az 1-2 / 3-4 / 5-6 / stb. sorok közzött? • e) Írd át egy másik technikára és válaszolj ugyanezekre a kérdésekre! • a) immediate modification log • b) A=500, B=400, C=410 • c) • d) Pl. 5-6 sor közti Failure undo(T8) undo(T7) undo(T6) és nincs redo mert még egyik sem committált. • e) Pl. késletetett: csak redo 6 Database Systems – Recovery (gyakorlat)
Feladat 4 • A system reboots after a crash and finds the following database and UNDO log state: • DB(A:10, B:10) • LOG(<T1,start>, <T2,start>, <T1, A, 5>, <T1, commit>, <T2, B, 5>, <T2, A, 15> CRASH) • 1. What was the initial state of the system before T1 and T2 began executing? • 2. What will be the state after the recovery? • 3. Repeat questions (1) and (2) assuming it is a REDO log. 7 Database Systems – Recovery (gyakorlat)