Re[7]: IB Recovery
От: Romkin  
Дата: 12.11.03 11:40
Оценка:
Здравствуйте, Merle, Вы писали:

R>>А вот менеджера транзакций в понимании блокировочника там нет,

M>Там нет не менеджера транзакций, а менеджера блокировок. А менеджер транзакций там в полне себе есть. Возможно он называется по другому, но это тот самый механизм, который определяет, что вот эта вот транзакция нарвалась на вот эту вот и ее надо откатить, по бырому, чтобы не отсвечивала.
M>Это не обязательно остдельный сервер или отдельная часть ядра — это просто специальное название весьма конкретной функциональности.



R>>журнала также нет, все гораздо проще — есть страницы, и есть версии записей.

M>Да. Нет журнала, как отдельного файла или механизма, но схема работы с данными действительно напоминает undo-журнал.

Ну да, хотя скорее это напоминает именно версионность

R>>Сбой в структуре может произойти в следующих случаях:

R>>1. Смерть сервера по форсмажорным электричествам во время сборки мусора (sweep)
M>Вот здесь вот та самая оговорка про отказоустойчивость. Отказоустойчивость должна обеспечиваться и при работе всех обслуживающие механизмов, а здесь ее нет.

Да, к сожалению. Поэтому автоматическую сборку мусора обычно отключают, она нужна редко, поэтому ее делают сразу после бекапа, или просто восстанавливают из бекапа всю БД. Кстати, в Yaffil именно это и исправлено — sweep не представляет опасности.

R>>2. Отключение forced writes — сервер не знает, данные в кеше системы или уже на диске

M>Естественно, тут никакой журнал не спасет.

R>>3. Некорректные изменения метаданных — во время работы и тд.

M>Вот это тоже непонятно....

В частности, изменение текста хранимой процедуры во время ее использования может привести к повреждению. Поэтому не рекомендуется изменять структуру БД в то время, когда с ней работают.

R>>4. ... Ну еще несколько причин, не таких основных.

M>В том-то и дело, что при полноценном Recovery никаких причин не должно быть в принципе.

Все эти причины вполне преодолимы, нужно просто соблюдать чистоту рук так сказать:
-грамотно писать структуру БД, понимая, что такое версионность и как работают проверки целостности
-не лезть изменять метаданные во время работы
-отключить sweep
-включить forced wirtes

M>Единственная допускаемая возможность невосстановимого сбоя — это случай физического повреждения носителя. Если же повреждения не произошло, то база обязана сама себя привести в корректное состояние без посторонней помощи.


При выполнении вышеуказанных условий повреждение базы может произойти фактически только при сбое оборудования (не только носителя, память, к сожалению тоже может сбоить)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.