DEADLOCK

Ein Deadlock (Verklemmung) bezeichnet einen Zustand, bei dem ein oder mehrere Transaktionen auf die Möglichkeit warten, einen LOCK auf Datenbankobjekte abzusetzen und sich dabei gegenseitig behindern.

Um Deadlocks zu verhindern, gibt es mehrere Strategien:

wait/die:

  • Fordert eine Transaktion eine Sperre an, die von einer jüngeren gehalten wird, so wartet die ältere bis die Sperre von der jüngeren freigegeben wird.
  • Fordert eine Transaktion eine Sperre an, die von einer älteren gehalten wird, so bricht sie sich selber ab

wound/wait:

  • Fordert eine Transaktion eine Sperre an, die von einer jüngeren gehalten wird, so wird die jüngere abgebrochen und die ältere bekommt die Sperre zugewiesen.
  • Fordert eine Transaktion eine Sperre an, die von einer älteren gehalten wird, so wartet sie bis die Sperre von der älteren wieder freigegeben wird.

siehe auch Transaktion,Mehrbenutzerbetrieb

Kategorie: Transaktionen, D