BD-1st-2.4-lab9.tresc-1.1-Slajd21

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zakleszczenie w bazie danych

Zakleszczenie w bazie danych


Ciąg dalszy z poprzedniego slajdu.

Tymczasem użytkownik ALA w transakcji 2 chce usunąć ze swojej relacji PRACOWNICY rekord opisujący pracownika o identyfikatorze 200. Operacja jednak nie może zostać zrealizowana, gdyż transakcja nie uzyskuje blokady na rekordzie, który ma zostać usunięty – rekord ten został wcześniej zablokowany przez transakcję 1. Transakcja 2 zostaje również zawieszona i czeka na zakończenie transakcji 1.

Obie transakcje zostają zawieszone, czekając na zdjęcie blokad. Żadna nie może kontynuować pracy, gdyż nie może uzyskać blokad. Przez to nie może również zwolnić blokad, na które czeka druga transakcja. Wystąpiło zakleszczenie. System zarządzania bazą danych wykrywa zakleszczenie i rozwiązuje je, wycofując jedno z czekających poleceń zawieszonych transakcji. Dalej to użytkownik musi zdecydować, co dalej ma się dziać z transakcjami: czy je wycofać, czy może kontynuować, jednak wykonując inne polecenia.


<< Poprzedni slajd | Spis treści | Następny slajd >>