UNDO naplózás. Naplóbejegyzések. Visszaállítási esetek

Hasonló dokumentumok
Tranzakció, mint a helyreállítás egysége

Adatbázisok elmélete 24. előadás

Adatbázisok elmélete 24. előadás

Adatbázis rendszerek megvalósítása 1. Irodalom: Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása

Tematika. Helyreállíthatóság (Failure Recovery) (8. fejezet) Konkurenciavezérlés (Concurrency control) (9. fejezet)

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR 2( Adatbázisrendszerek 2) 4. Előadás: Indexek A rendszeribák kezelése

Ellenőrző kérdések. 5. Kis dolgozat kérdései. (9-10. előadás)

Adatbázisrendszerek megvalósítása 1

Adatbázisrendszerek megvalósítása 1

Adatbázisok elmélete 18. előadás

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Ellenőrző kérdések. 1. Kis dolgozat kérdései

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

FORD Edifact IHS Import

Adatbázisrendszerek 9. előadás: Tranzakciók és konkurencia

B I T M A N B I v: T M A N

Biztonsági mentés és visszaállítás Felhasználói útmutató

2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl

12. előadás. Tranzakció kezelés és konkurencia kontroll. Adatbázisrendszerek előadás december 12.

Hálózati operációs rendszerek II. Kötetek kezelése

Távolléti díj kezelése a Novitax programban

2. lépés A Visszaállítási pont leírása: mezőbe gépeld be: Új alkalmazás telepítése!

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

Tengelyanyák Szorítóhüvelyek Biztosítólemezek Öntöttvas- és lemez Y csapágyházak Öntöttvas osztott, álló csapágyházak.

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Memeo Instant Backup Rövid útmutató. 1. lépés: Hozza létre ingyenes Memeo fiókját. 2. lépés: Csatlakoztassa a tárolóeszközt a számítógéphez

Az Oracle rendszer komponensei

3Sz-s Kft. Tisztelt Felhasználó!

Az adatbázisrendszerek világa

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

Biztonsági mentés és visszaállítás Felhasználói útmutató

Adatbázisok elmélete 18. előadás

Kézikönyv. Különbözet lista nyomtatása, leltár zárás

Optimista konkurenciavezérlés

Recepció Portai beléptető program 2.3 ver. Irta: Molnár István 2005

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

15. A VERSENYRENDEZÉS

MÉRY Android Alkalmazás

tovább használhatjuk a Windows-t.

Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden

BaBér bérügyviteli rendszer telepítési segédlete év

Telepítési Kézikönyv

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

- Kurt.exe a windows-os felület, amelyen keresztül a lejátszás konfigurálható.

PLC Versenyfeladat. XIV. Országos Irányítástechnikai Programozó Verseny Budapest, március Összeállította az EvoPro Kft.

Vodafone ODI ETL eszközzel töltött adattárház Disaster Recovery megoldása. Rákosi Péter és Lányi Árpád

J-N-SZ Megyei Hámori András SZKI és SZI szóbeli

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

Rendszerkezelési útmutató

JEGYZŐKÖNYV. Az ülésről Gyói Gábor, Nagy Lászlóné és Vágner István képviselők távolmaradtak.

StP Műszaki Fejlesztő, Gyártó és Kereskedelmi Kft. StP Patrol. Őrjárat-ellenőrző rendszer. Rövid leírás. Tartalomjegyzék.

ClicXoft programtálca Leírás

Központi SQL adatbázis kapcsolat

MEDITOR 5 KLÓN telepítési segédlete

Mérlegelés több cég számára

A termékkel kapcsolatos tájékoztatás

A varázsgömbön túl - 3. rész: Adatmentés

assume CS:Code, DS:Data, SS:Stack Start mov dl, 100 mov dh, 100 push dx Rajz

Ez a telepítési dokumentum segítséget nyújt abban, hogy szabályosan telepítse az Áfa átállító szoftvert Szerviz 7 programhoz.

Hálózatos adatbázis-kapcsolódási problémák és azok javítása

Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden 1

I. A program áttelepítése másik számítógépre

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A CCL program használatbavétele

Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN

Kézikönyv Vevő infó központ infosystem

PortaWin (PW2) Jármű mérlegelő program Mérlegelés több cég számára

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Programozás nyelvek a közoktatásban 2. előadás

mhtml:file://d:\users\zsolt\appdata\local\temp\fartmp0g.q30\3-lenovo_recovery...

ZAPP ZERAPP. 1/6. 1 láthatatlan varázslat fuvallata 1 szabály. Az első játék előtt... Játékszabály

A számítógépes adatgyűjtő program használata

Java Programozás 1. Gy: Java alapok. Ismétlés ++

NAV felé történő számla adatszolgáltatás a Nagy Utazás 3 programmal

Telepített szoftverek

Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások

SQLServer. 10. téma Adatok mentése. Adatmentés. A DBA egyik fő feladata az adatok épségének, megőrzésének biztosítása.

Helyi emberek kellenek a vezetésbe

ACTUAL Ügyviteli Rendszer FRISSÍTÉSI ÚTMUTATÓ. Felhasználói kézikönyv - kivonat

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

KEZELÉSI KÉZIKÖNYV TÁLCAHEGESZTŐ, TÁLCAZÁRÓ GÉP XYZ MODELLEK. Nyilvántartási szám: 777

ÜGYVÉDI IRODA Telepítési útmutató

Az interrupt Benesóczky Zoltán 2004

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Teljes vírusirtás a NOD32 Antivirus System segítségével. vírusirtási útmutató

Országos kompetenciamérés eredményei

Az elektronikus napló használatának szabályzata

NAV Online számla első napok

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

A Hálózat, mint olvashattad úgy épül fel, hogy nem te építed, hanem előre el van készítve, és az aktuális üres irodákat foglalhatod el.

lizengo használati utasítás A Windows egy USB stick-re való másolása

EL-USB-1 EL-USB-2. Az adatrögzítő készenléti állapotban van. Adatrögzítés, nincs riasztás. Dupla villanás. Egy villanás. Magas riasztási fokozat

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Fábián Zoltán Hálózatok elmélet

Bankkártya elfogadás a kereskedelmi POS terminálokon

A Munka Törvénykönyv évi módosításának hatása a munkaügyi kapcsolatokra, a kollektív szerződésekre. MINTA Kollektív Szerződés

ISSF SZABÁLY ÉRTELMEZÉSEK 2015

Geotechnika II. (NGB-SE005-2) Geo5 használat

FÁJLOK ÉS MAPPÁK MÁSOLÁSA PENDRIVE-RA ÉS CD-RE A LEGEGYSZERŰBBEN WINDOWS XP-N

Tervezett helyszín. OKJ képzések. Kiskunhalas. Baja. Kiskőrös. Kecskemét. Kiskunhalas. Baja. Kalocsa. Kecskemét. Kiskunfélegyháza.

Átírás:

UNDO naplózás Semmiségi naplózás. A naplóba a régi értéket írjuk ki, azonnal naplózunk. A naplót először a memóriában frissítjük, a (FLUSH LOG) utasításra írjuk a lemezre. Naplóbejegyzések <START T> : T tranzakció kezdete <T, A, x> : T írja A-t; x-ben tároljuk, hogy írás előtt mi volt az A-ban <COMMIT T> : a T tranzakció sikeresen befejeződött <ABORT T> : a T tranzakció a normálisnál korábban fejeződött be Visszaállítási esetek # tevékenység t napló 1 <START T> 2 READ(A, t) 8 3 t := t*2 8 4 WRITE(A, t) 16 <T, A, 8> 5 READ(B, t) 8 6 t := t*2 8 7 WRITE(B, t) 16 <T, B, 8> 8 FLUSH LOG 9 OUTPUT(A) 16 10 OUTPUT(B) 16 11 <COMMIT T> 12 FLUSH LOG 1. ha a hiba a 12. lépés után következik be tudjuk, hogy a <COMMIT T> bejegyzés már a lemezre lett írva, tehát a T tranzakció hatásait nem kell visszaállítanunk. 2. ha a hiba a 11. és 12. lépés között következik be a. ha a <COMMIT T> a lemezre íródott, akkor ez az előző eset.

b. ha a <COMMIT T> nincs a lemezen, akkor vissza kell állítanunk B, majd A értékét, majd <ABORT T> -t írunk a naplóba és a lemezre. FONTOS: alulról felfelé kell visszaállítani az értékeket! 3. ha a hiba a 10. és a 11. lépés között következik be nincs <COMMIT T>, tehát T befejezetlen, hatásainak semmisé tétele a 2.b. esetnek megfelelően történik. 4. ha a hiba a 8. és a 10. lépés között következik be az előző esethez hasonlóan T hatásait semmisé kell tenni (a különbség annyi, hogy A és B értéke még nincs a lemezre írva, de ettől függetlenül mindkét adatbázis elemet a korábbi értékre állítjuk vissza). 5. ha a hiba a 8. lépésnél korábban következik be mivel a naplózás nem lett kiírva a lemezre (csak a memóriába), így a lemezre írt naplóban nem jelent meg semmi, tehát itt nincs visszaállítási feladat. Ellenőrző-pontok Hogy ne kelljen hiba esetén a teljes naplózást visszaállítani CHECKPOINT-okat hozunk létre. Képzése: 1. megtiltjuk az új tranzakciók indítását 2. megvárjuk, amíg minden futó tranzakció COMMIT vagy ABORT módon véget ér 3. a naplót a memóriából a háttértárra írjuk (FLUSH LOG) 4. az adategységeket a memóriából a háttértárra írjuk 5. a naplóba beírjuk, hogy CHECKPOINT 6. a naplót újra a háttértárra írjuk (FLUSH LOG) 7. újra engedélyezzük a tranzakciók indítását Ezek után elegendő az első CHECKPOINT -ig, amit találunk, hiszen előtte már minden tranzakció már befejeződött valahogy. Helyreállítás ellenőrzőpont esetén # napló 1 <START T 1 > 2 <T 1, A, 5> 3 <START T 2 > 4 <T 2, B, 10> 5 <START CKPT(T 1,T 2 )> 6 <T 2, C, 15> 7 <START T 3 >

8 <T 1, D, 20> 9 <COMMIT T 1 > 10 <T 3, E, 25> 11 <COMMIT T 2 > 12 <END CKPT> 13 <T 3, F, 30> 1. ha a hiba a 13. lépés után következik be a. a naplót visszafelé vizsgálva látjuk, hogy T 3 egy be nem fejezett tranzakció, ezért hatásait semmisé kell tenni b. a 13. naplóbejegyzésből látjuk, hogy az F adatbáziselembe a 30 értéket kell visszaállítani c. az <END CKPT> naplóbejegyzést látva tudjuk, hogy az összes be nem fejezett tranzakció a <START CKPT> bejegyzés után indult el d. megtaláljuk a <T 3, E, 25> bejegyzést, ami miatt az E adatbáziselem értékét 25-re kell állítani e. ezen bejegyzés és a <START CKPT> között további elindult és be nem fejezett tranzakcióra vonatkozó bejegyzést nem találtunk, így mást már nem kell megváltoztatnunk 2. ha a hiba a 10. és a 11. lépés között következik be a. visszafelé elemezve a naplót látjuk, hogy a T 3 és a T 2 nincs befejezve, tehát helyreállító módosításokat végzünk. b. ezután megtaláljuk a <START CKPT(T 1, T 2 )> naplóbejegyzést, emiatt tudjuk, hogy az egyetlen be nem fejezett tranzakció csak a T 2 lehet. c. a <COMMIT T 1 > bejegyzést már láttuk, vagyis a T 1 befejezett tranzakció. Láttuk a <START T 3 > bejegyzést is, így csak addig kell folytatnunk a napló elemzését, amíg a <START T 2 > bejegyzést meg nem találjuk. Eközben a B adatbáziselem értékét is visszaállítjuk 10-re.

REDO naplózás Helyrehozó naplózás. A naplóba az új értékeket írjuk, a lemezre az adatokat késleltetve írjuk. Mielőtt az adatbázis bármely X elemét a lemezen módosítanánk, az X módosítására vonatkozó összes naplóbejegyzésnek, azaz <T, X, v>-nek és <COMMIT T>-nek a lemezre kell kerülni. Naplóbejegyzések <START T> : T tranzakció kezdete <T, A, x> : T írja A-t; x-ben tároljuk, hogy írás után mi kerül az A-ba <COMMIT T> : a T tranzakció sikeresen befejeződött <END T> : a T tranzakció vége <ABORT T> : a T tranzakció a normálisnál korábban fejeződött be Visszaállítási esetek # tevékenység t napló 1 <START T> 2 READ(A, t) 8 3 t := t*2 8 4 WRITE(A, t) 16 <T, A, 16> 5 READ(B, t) 16 6 t := t*2 16 7 WRITE(B, t) 16 <T, B, 16> 8 <COMMIT T> 9 FLUSH LOG 10 OUTPUT(A) 16 11 OUTPUT(B) 16

12 <END T> 13 FLUSH LOG 1. ha a hiba a 9. lépés után következik be a. a <COMMIT T> bejegyzés már a lemezen van, a helyreállító rendszer a T-t befejezett tranzakcióként azonosítja b. amikor a naplót az elejétől kezdve elemzi, a <T, A, 16> és a <T, B, 16> bejegyzések hatására a helyreállítás kezelő az A és B adatbáziselemekbe a 16 értéket írja 2. ha a hiba a 8. és a 9. lépés között következik be a <COMMIT T> bejegyzés már a naplóba került, de nem biztos, hogy a lemezre íródott a változás. Ha lemezre került, akkor a helyreállítási eljárás az 1. esetnek megfelelően történik, ha nem, akkor pedig a 3. esetnek megfelelően 3. ha a hiba a 8. lépést megelőzően következik be akkor a <COMMIT T> még biztosan nem került be a naplóba, így T egy be nem fejezett tranzakciónak tekintendő: A és B értékeit a lemezen még nem változtatta meg a T tranzakció, tehát nincs mit helyreállítani, végül egy <ABORT T> bejegyzést írunk a naplóba. Ellenőrző-pontok 1. <START CKPT(T 1,, T k )>naplóbejegyzés elkészítése és lemezre írása, ahol T 1,, T k az összes épen aktív tranzakció 2. az összes olyan adatbáziselem kiírása a lemezre, amelyeket olyan tranzakciók írtak a pufferbe, melyek a <START CKPT> naplóba írásakor már befejeződtek, de puffereik lemezre még nem kerültek 3. <END CKPT> bejegyzés naplóba írása, és a napló lemezre írása Helyreállítás ellenőrzőpont esetén # napló 1 <START T1> 2 <T1, A, 5> 3 <START T2> 4 <COMMIT T 1 >

5 <T2, B, 10> 6 <START CKPT(T2)> 7 <T2, C, 15> 8 <START T3> 9 <T3, D, 20> 10 <END CKPT> 11 <COMMIT T 2 > 12 <COMMIT T 3 > Amikor az ellenőrzőpont-képzés elkezdődött, csak a T2 tranzakció volt aktív, de a T1 által A-ba írt érték még nem biztos, hogy a lemezre került. Ha még nem, akkor A-t lemezre kell másolnunk, mielőtt az ellenőrzőpont-képzést befejezhetnénk. 1. ha a hiba a 12. lépés után következik be (a hiba egy <END CKPT> után van) a. elég azokat a tranzakciókat venni amelyek az utolsó <START CKPT(T 1,, T k )> naplóbejegyzésben a T i -k között szerepelnek, vagy ezen naplóbejegyzést követően indultak el b. a <COMMIT T 2 > és <COMMIT T 3 > miatt T 2 és T 3 befejezett tranzakciók, így a <T2, B, 10>, <T2, C, 15> és a <T3, D, 20> alapján a lemezre újraírjuk a B a C és a D tartalmát 2. ha a hiba a 11. lépés után követekzik be (a hiba egy <END CKPT> után van) a <COMMIT T 2 > miatt csak T 2 befejezett tranzakció, így <T2, B, 10> és <T2, C, 15> alapján a lemezre újraírjuk a B és a C tartalmát. T 3 most befejezetlen, így nem kell újragörgetni, a naplófájlba egy <ABORT T 3 > bejegyzést írunk. 3. ha a hiba a 8. lépés után következik be (a hiba egy <START CKPT> után van) vissza kell menni az előző <END CKPT>bejegyzés <START CKPT(S 1,, S m )> bejegyzésig, és helyre kell állítanunk az olyan befejeződött tranzakciókat, amelyek az utóbbi <START CKPT(S 1,, S m )> bejegyzés után indultak, vagy az S i -k közül valóak. Ha nincs előző <END CKPT>, akkor a napló elejéig kell visszamenni. Most: a. nem találtunk korábbi ellenőrzőpont-bejegyzést, így a napló elejére kell mennünk b. az egyedüli befejezett tranzakció a T 1, ezért a <T1, A, 5> tevékenységet helyreállítjuk c. a helyreállítást követően <ABORT T 2 > és <ABORT T 3 > bejegyzést írunk a naplóba

UNDO/REDO naplózás Semmiségi/helyreállító naplózás.