BD-1st-2.4-lab9.tresc-1.1-Slajd19
Blokady w SZBD Oracle (3)
Ręczną blokadę na relacji można uzyskać, stosując polecenie LOCK TABLE IN <tryb> MODE, gdzie <tryb> to jeden z trybów, wymienionych na slajdzie. Nie wchodząc w szczegóły, blokada ROW SHARE jest najlżejszą blokadą relacji, zakładana jest automatycznie przy wykonaniu polecenia SELECT... FOR UPDATE, blokada ROW EXCLUSIVE zakładana jest na relacji, na której wykonano polecenie INSERT, UPDATE lub DELETE. Pozostałe blokady relacji są zakładane w specjalnych sytuacjach. Wszystkie blokady są blokadami współdzielonymi z wyjątkiem blokady EXCLUSIVE, która powoduje zablokowanie całej relacji w trybie wyłącznym przez transakcję.
W zaprezentowanym na slajdzie przykładzie transakcja próbuje założyć blokadę wyłączną na relacji PRACOWNICY, jeśli blokada nie zostanie uzyskana, polecenie zostanie przerwane (zapewnia to klauzula NOWAIT).