Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Transakce a izolace transakcí v databázích

Snapshot
Snapshot (neregistrovaný)
13. 5. 2009 23:19

Re: isolation levels

celé vlákno
Imho Snapshot too old je trosku neco jineho. Asi bych to nedefinoval jako problem s garbage collection snapshot bloku :-) Takova vec neni potreba. :-)
Vse je to zavisle na UNDO. Tzn. modifikovane bloky se ziskavaji z UNDO a u jiz commitnutych transakci se muze stat, ze se pubvodni bloky prepisou a nepodari se je v UNDO dohledat (snapshot too old). Zalezi tedy na nastaveni velikosti UNDO a undo retention time.
Obecne se jedna spis o problem dlouho bezicich query nad modifikovanymi daty.
Klasicky pripad je napr. commit v cyklu namisto po cele transakci.

Jde proste o to, ze po commitu jsou UNDO bloky uvolneny pro dalsi pouziti, pak uz je to jen o te velikosti UNDO a jeho nastaveni. Proste dokud neprovedu commit, tak jsou bloky v undo v bezpeci. :-)

Pri dostatecne sizovanem undo je mozne klidne vytahnout obraz tabulky nekolik dnu zpetne.

U rozsahlych modifikaci se muze stat naopak to, ze se modifikovane bloky jiz do UNDO nevejdou a cela transakce spadne na unable to extend undo segment.