CREATE
, ALTER
INSERT
, UPDATE
, DELETE
SELECT
, SELECT … FOR UPDATE
(lekérdezés zárolással)COMMIT
) vagy egyike sem teljesül (ROLLBACK
) RS
→ RX
SELECT … FOR UPDATE
, LOCK TABLE …
)Az izolációs szinteket a fenti három hatás függvényében definiálja a szabvány:
dirty olvasás | fuzzy olvasás | fantom olvasás | |
---|---|---|---|
read committed | nincs | lehet | lehet |
serializable | nincs | nincs | nincs |
ORA-08177: can’t serialize access for this transaction
hiba keletkezikSELECT … FOR UPDATE
) Néhány módnak két neve van: a „row” (sor) és a „sub” (rész) itt szinonimák. Magyarázat: a tábla egy összetett objektum, és annak „rész”-e a „sor”.
A táblákra tehető zárak szigorúsági sorrendben:
SELECT … FOR UPDATE
)LOCK TABLE … IN ROW SHARE MODE
INSERT
, UPDATE
, DELETE
)LOCK TABLE … IN ROW EXCLUSIVE MODE
SELECT … FOR UPDATE
utasítással zárolhat módosítandó sorokat a táblábanS
módbanLOCK TABLE … IN SHARE MODE
S
, de egyszerre egy tranzakció zárolhatja a táblát ebben a módbanLOCK TABLE … IN SHARE ROW EXCLUSIVE MODE
SELECT … FOR UPDATE
nem megengedettLOCK TABLE … IN EXCLUSIVE MODE
RS
, RX
táblazárak), ezzel biztosítja az utasításszintű olvasási konzisztenciátS
, SRX
, X
táblazárak csak manuálisan igényelhetőkIgényelhető | |||||
---|---|---|---|---|---|
Jelenlegi | RS | RX | S | SRX | X |
RS | ✔ | ✔ | ✔ | ✔ | ✘ |
RX | ✔ | ✔ | ✘ | ✘ | ✘ |
S | ✔ | ✘ | ✔ | ✘ | ✘ |
SRX | ✔ | ✘ | ✘ | ✘ | ✘ |
X | ✘ | ✘ | ✘ | ✘ | ✘ |
Részletesebben: Summary of table locks
LOCK TABLE …
, SELECT … FOR UPDATE
SET TRANSACTION ISOLATION LEVEL [READ COMMITTED | SERIALIZABLE]
ALTER SESSION SET ISOLATION_LEVEL = [READ COMMITTED | SERIALIZABLE]
SELECT … FOR UPDATE
esetében, amely lekérdezés és RS módú zárolás is egyben)can’t serialize access
adatbázishiba figyelése és a tranzakció újraindítása/visszavonása szükséges CREATE [OR REPLACE] VIEW/ PROCEDURE/PACKAGE/PACKAGE BODY/FUNCTION/ TRIGGER
CREATE TABLE
(kivéve CLUSTER
esetén)CREATE SYNONYM
AUDIT
, NOAUDIT
COMMENT
CREATE PROCEDURE
: a hivatkozott objektumok megosztottan zárolhatók több CREATE utasítás által, de egyik sem igényelhet kizárólagos zárat