"Yurij" wrote ...
Vlad Khorsun wrote:
А как у нас сейчас обстоят дела с нештатным отключением компьютера,
где Firebird активно работает с базами?
Ничего не изменилось, ибо менять нечего. Если FW=OFF, то можно только
молиться. Если FW=ON, то всё зависит от честности контроллера диска.
Обычно кроме кучки orphan pages никаких повреждений нет.
FW=On обычно всегда. А что значит честность контроллера диска?
При FW=ON ось возвращается из вызова WriteFile (write для posix) только
когда контроллер сказал, что записал данные *на диск*. Некоторые контроллеры
врут (как и все пациенты) и возвращают управление после записи в *кеш диска*.
Просто я наблюдал несколько раз заморочки вида "убились текущие
значения генераторов",
Это исправлено в каком-то из 1.5.х х\з сколько лет назад
"ошибки неясного происхождения в firebird.log,
лечатся только gfix" и тому подобное.
Могу комментировать только конкретные ошибки
Меня просто убеждают, что базы данных должны переживать отключение
питания в силу того, что обязаны выполнять ACID свойства транзакций, а
я что-то с ходу не соображу - возможно ли теорически это гарантировать
в случае если запись на диск скэширована в том числе и операционной
системой/жестким диском.
Если есть хоть какой-то кеш записи вне СУБД, то, конечно, ничего
гарантировать на 100% нельзя. Даже при многократном дублировании данных
в различного вида логах - это только приблизит гарантию к 100%, но не до упора.
--
Хорсун Влад