Title: Z
1Zárolási módszerek
blokkolás
sorrendiség igény
2Zárolási módok
lw(x)
uw(x)
exclusive
lr(x)
shared
lu(x)
3Két-fázisú zárolás (2PL)
A tranzakció vége elotti felszabadítás izolációs
problémához vezet
r1(x)
w1(x)
a1
l
u
r2(x)
c2
w2(x)
4Helyes zárolás
- helyesen formált a zárolás - minden muvelet
zárol - van írási és olvasási zárolás - 2PL
teljesül, a tranzakció végén felengedve az
objektumokat
A helyes zárolás ST? SR historyt ad
Biz.
- - nem ST nem következhet be H.Z esetén
- w1 (r2, w2)
- nem SR nem következhet be H.Z. esetén
- o1(x) o2(x) o2(y)
o1(y)
5Dead-lock
x
T1
T2
y
Egymásra várnak
WFG módszer
Timeout módszer
6Kompatibilitási mátrixok
r
w
x
r
r
w
u
w
x
x
r
w
u
r
w
u
ir
iw
x x x
x x x
x x
r
w
objektum hierarchia
SQL - default zárolás - LOCK TABLE
u
ir
r
iw
7TO ütemezés
A tranzakciók az eroforrásokat a sorszámuk
sorrendjében érinthetik
Muködési szabályok r kérés w -kérés
mw 3
m 4
T
X
mr 5
A TO csak SR historyt biztosít
Biz
- nem SR nem következhet be TO esetén
- o1(x) o2(x) o2(y)
o1(y) - - nem RA bekövetkezhet ( ST-TO)
8Oracle zárolás
Az olvasás mindig megengedett, az utolsó
konzisztens értéket adja, nincs olvasási zárolás
COMMIT / ROLLBACK SET TRANSACTION
READONLY LOCK TABLE IN SAVEPOINT
w1(x)
r2(x)
c1
r2(x)
9VFP zárolás
Közvetett SET EXCLUSIVE ON OFF USE ..
EXCLUSIVE SHARED ISEXCLUSIVE() ALIAS() DBF()
DBC() CLOSE TABLE (ALL) CLOSE DATABASE
(ALL) PRIVATE DATA SESSION
10VFP zárolás
Kézi RLOCK() FLOCK() ISRLOCKED() ISFLOCKED(
) UNLOCK SET REPROCESS TO ON
ERROR ERROR() MESSAGE()
11VFP zárolás
Pufferelés alapú CURSORSETPROP(BUFFERING,n) n
1,2,3,4,5 CURSORGETPROP() TABLEUPDATE(n,
tabla) n 0,1,2, TABLEREVERT(n,tabla) BEGIN
TRANSACTION END TRANSACTION ROLLBACK