Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Пример восстановления после сбоя.




Здесь только докат, отката нет, т.к. нет незавершенных транзакций.

Перезапись «грязных» блоков ОСБ на диск производится в следующей последовательности:

  1. Сначала перезаписывается буфер сегмента отката.
  2. Далее перезаписывается буфер журнала транзакций.
  3. В конце перезаписывается буфер БД.

 

 

Лекция 28

Обработка тупиковых ситуаций

Предположим, что процедура «проводка» (см. предыдущую лекцию) реализована несколько по-другому:

 

Проводка (счёт1, счёт2, сумма)

2 оператора.

 

UPDATE … счёт1

Пример: UPDATE счёт SET остаток = остаток - сумма

WHERE номер_счёта=счёт1;

:

UPDATE … счёт2

:

COMMIT

 

Пусть к этой процедуре одновременно обращаются две рабочие станции

WS1WS2

Проводка (100, 1001, 300) проводка (1001, 100, 150)

процесс 1 процесс 2

UPDATE … 100 UPDATE … 1001

(соответствующая запись (запись с этим номером счёта

блокируется до конца транзакции, также блокируется до COMMIT)

т.е. до оператора COMMIT)

:

:

UPDATE … 1001 UPDATE … 100

(ждёт разблокировки записи (процесс 2 приостанавливается и

процессом 2) ожидает разблокировки со стороны

процесса 1)

 

Возникает тупиковая ситуация.

СУБД распознаёт такую ситуацию, и какой-либо процесс аварийно завершается. Соответствующая программа получит код возврата и должна выполнить одно из следующих действий:

  1. Либо выполнить ROLLBACK (выполняется откат транзакции, и записи разблокируются);
  2. Задача очень важная, и её нельзя завершить. Здесь должен быть предусмотрен вывод сообщений оператору с указанием снять задачу, которая мешает выполнению данной задачи, далее по реакции оператора продолжить выполнение задачи.

 


Поделиться:

Дата добавления: 2015-04-21; просмотров: 63; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты