You are on page 1of 11

Oporavak baze

podataka
Baza podataka se moe nai u nekonzistentnom stanju zbog prekida
transakcije, pogrenog rada transakcije, ili nekih drugih hardwareskih ili
softwareskih razloga
Do pogrenog rada transakcije moe doi zbog:

Logike greke u samoj transakciji


softwareske greke u DBMSu ili operacijskom sustavu
hardwareske greke u raunalu
Do prekida transakcije moe doi:

zbog odustajanja od same transakcije


kao posljedica kontrole istovremenog izvravanja vie transakcija
zbog softwareske greke u DBMSu ili operacijskom sustavu
hardwareske greke u raunalu
DBMS* mora omoguiti oporavak baze, tj. njen povratak iz
nekonzistentnog u blisko konzistentno stanje.

To se postie:
rezervnom kopijom baze podataka
journal datotekom

*(DBMS je programski sustav koji osigurava osnovne funkcije odabranog modela


podataka u postupku kreiranja i koritenja baze podataka)
Backup copy

backup copy baze podatak dobiva se snimanjem cijele baze


podataka na magnetske trake, i to u trenutku kad smatramo da je
baza u konzistentnom stanju.
Journal file

u journal file se biljei povijest rada svake transakcije

Za svaku transakciju journal datoteka sadri:


identifikator transakcije
adresu svakog podatka kojeg je transakcija stvorila ili promjenila zajedno s
prethodnom vrijednou tog podatka (pre-image) i sa novom vrijednou (post-
image)
kontrolne toke (checkpoints) u napredovanju transakcije

Poeljno je da journal datoteka sadri tzv. toke isporuke (commintments)*

*(kontrolna toka kojom transakcija biljei u jaurnal datoteci da smatra da je sve svoje
operacijama uspjeno zavrila)
Dvofazni postupak isporuke
(two-phase commitment policy)
transakcija upisuje u journal sve promjene koje bi trebalo napraviti u
bazi podataka, te nakon toga biljei toku isporuke

im je toku isporuke zabiljeena, DBMS prenosi promjene iz journal


datoteke u bazu podataka
Skica dvofaznog postupka isporuke:
Roll-back

primjenjuje se kod manjih nekonzistencija. Npr. za neutralizaciju


jedne transakcije

Sastoji od dva koraka:


itamo journal i pronalazimo stare vrijednosti (pre-images)
podataka koje je transakcija mijenjala
te stare vrijednosti ponovo uspostavljamo u bazi
Roll-forward

primjenjuje se kod veih oteenja baze. Zahtijeva da u journal


datoteku budu upisane kontrolne toke u kojima smatramo da je
baza jo bila konzistentna.
Obino te kontrolne toke odgovaraju trenucima kad nije bilo
aktivnih transakcija.

You might also like