Учебное пособие Для студентов университетов Специальностей «Информатика», «Прикладная математика»



Pdf көрінісі
бет61/177
Дата15.02.2022
өлшемі2,58 Mb.
#25567
түріУчебное пособие
1   ...   57   58   59   60   61   62   63   64   ...   177
Метод отложенного обновления
. При использовании этого протоко-
ла обновления не заносятся в БД тех пор, пока транзакция не выдаст ко-
манду фиксации выполненных изменений. Если выполнение транзакции 
будет  прекращено  до  достижения  этой  точки,  никаких  изменений  в  БД 
выполнено не будет, поэтому не потребуется и их отмена. Однако в та-
ком случае может потребоваться повторный прогон уже завершившихся 
транзакций,  поскольку  их  результаты  могли  еще  не  достичь  вторичной 
памяти.  При  применении  данного  метода  файл  журнала  используется  с 
целью восстановления следующим образом. 
1.  При  запуске  транзакции  в  журнал  помещается  запись:  Начало 
транзакции
2. При выполнении любой операции записи помещаемая в файл жур-
нала строка содержит все указанные выше данные (за исключением зна-
чения  элементов  данных  до  обновления).  Реально  запись  изменений  в 
буфере СУБД или саму БД не производится. 
3. Когда транзакция достигает своей конечной точки, в журнал поме-
щается  запись:  Транзакция  завершена.  Все  записи  журнала  по  данной 
транзакции  выводятся  на  диск,  после  чего  выполняется  фиксация  вне-
сенных  транзакцией  изменений.  Для  внесения  действительных  измене-
ний в БД используется информация, помещенная в файл журнала. 
4.  В  случае  отмены  выполнения  транзакции  записи  журнала  по  дан-
ной транзакции аннулируются и не выводятся на диск. 
Обратите внимание на то, что записи журнала по выполненной тран-
закции выводятся на диск до того, как ее результаты будут зафиксирова-
ны. Поэтому, если отказ БД произойдет в процессе действительного вы-
полнения обновлений в БД, помещенные в журнал сведения сохранятся 
и требуемые обновления можно будет выполнить позже. В случае отказа 
файл  журнала  анализируется  с  целью  выявления  транзакций,  которые 
находились  в  процессе  выполнения  в  момент  отказа,  начиная  с  послед-
 
76


 
ней  строки.  Файл  журнала  просматривается  в  обратном  направлении 
вплоть до записи о последней выполненной контрольной точке. 
5.  Любые  транзакции,  для  которых  в  файле  журнала  присутствуют 
записи  Начало  транзакции  и  Транзакция  завершена,  должны  быть  вы-
полнены повторно. Процедура повторного прогона транзакций выполня-
ет  все  операции  записи  в  БД,  используя  информацию  о  состоянии  эле-
ментов данных после обновления, содержащуюся в записях журнала по 
данной транзакции, причем в том порядке, в каком они были записаны в 
файле журнала. Если операции записи уже были успешно завершены до 
возникновения  отказа,  это  не  окажет  никакого  влияния  на  состояние 
элементов данных, поскольку они не могут быть испорчены, если будут 
записываться еще раз. Однако этот метод гарантирует, что будут обнов-
лены  любые  элементы  данных,  которые  не  были  корректно  обновлены 
до момента отказа. 
6.  Любая  транзакция,  для  которой  в  файле  журнала  присутствуют 
записи Начало транзакции и Отмена транзакции, просто игнорируется, 
поскольку  никаких  реальных  обновлений  информации  в  БД  по  ней  не 
выполнялось, а значит, не требуется и реального выполнения их отката. 
Если  в  процессе  восстановления  возникнет  другой  системный  сбой, 
записи файла журнала могут быть использованы для восстановления БД 
еще раз. В таком случае не имеет значения, сколько раз каждая из строк 
журнала была использована для повторного внесения изменений в БД. 


Достарыңызбен бөлісу:
1   ...   57   58   59   60   61   62   63   64   ...   177




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет