Пропала информация при сбое питания

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

Ответить
atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Пропала информация при сбое питания

Сообщение atruhin » 15 фев 2006, 15:40

Сегодня произошел сбой питания сервера. На сервере 3 БД. К одной из них в этот момент подключений не было, к двум были. И на всех трех базах потерялись данные за последнии 9 дней, т.е. последнии данные остались за 06.02.06, последний перезапуск сервера был 03.02.06. Почему такое может быть? Неужели сервер держит данные в кэше за 9 дней? Объем даныых не большой: в две БД менее 1000 записей в день, в третью 2000-3000 тысячи.
ПО работает несколько лет во многих местах, подобный лсучай первый. В чем может быть проблема? После перезапуска было сделано несколько запросов к данным таблицам, думаю с полным fetch, могли ли остаться потерянные данные как проверить?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 фев 2006, 15:53

сервер-то какой версии?
вариантов несколько.

1. в базах Forced Write=Off, в результате изменения "застряли" в кэше операционной системы. При сбое питания - да, данные пропадут.
В Firebird 1.5 такой проблемы нет.

2. повредились индексы, поэтому последние записи "не видны".
нужно сделать запрос, который не будет использовать индексы, и посмотреть, есть ли данные.

можно еще попробовать IBUndelete -
http://www.ibundelete.com/features.html

если записи эти на диске есть, то он их покажет. хотя, он покажет в том числе и удаленные обычным способом записи.

atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Сообщение atruhin » 15 фев 2006, 16:09

Сервер Firebird 1.5.2
Сделал запрос с планом PLAN SORT ((CHECKS NATURAL))
записий столь ко же.
IBUndelete - пробовал говорит нет помеченных записей.
Но после этого было несколько запросов именно к данным таблицам.Самое интересное, что в трех базах записи удалились именно до 6 числа :(.
Последнии записи лога сервера:
SERVER (Client) Fri Feb 03 12:13:18 2006
Guardian starting: c:\firebird\bin\fbserver.exe
SERVER (Client) Wed Feb 15 16:38:14 2006 - вот здесь был сбой питания
Guardian starting: c:\firebird\bin\fbserver.exe
Сейчас уже не до данных, выяснить бы причину и как этого избежать. При каких либо сбоях, зависаниях сервера.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 фев 2006, 16:49

forced write в базах = off?
Сейчас уже не до данных, выяснить бы причину и как этого избежать. При каких либо сбоях, зависаниях сервера.
гм, я может грубо скажу, но не надо бросать базу. то есть, не надо оставлять ее без надзора, если никакие (!) меры по автоматизации резервного копирования и т.п. не применялись.

По поводу сбоев и т.п. - читать
www.ibase.ru/devinfo/db_repair.htm
а также
www.ibase.ru/devinfo/sys_failure.htm

вообще для FB 1.5.2 такая ситуация весьма странна - в конфиге есть параметры (и по умолчанию), на тему сброса кэша при fw=off. Эти параметры как раз и были введены в 1.5:

MaxUnflushedWrites
This parameter was introduced in Version 1.5 to handle a bug in the Windows server operating
systems, whereby asynchronous writes were never flushed to disk except when the Firebird server
underwent a controlled shutdown. Hence, on 24/7 systems, asynchronous writes were never flushed at all.

Alexey Kovyazin
Сообщения: 15
Зарегистрирован: 25 окт 2004, 19:13

Сообщение Alexey Kovyazin » 15 фев 2006, 16:54

Если был бы Линукс, тогда понятно - копирование БД при неотключенных пользователях.

А так не очень понятно. Базы точно не поврежденные?

atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Сообщение atruhin » 15 фев 2006, 16:58

гм, я может грубо скажу, но не надо бросать базу. то есть, не надо оставлять ее без надзора, если никакие (!) меры по автоматизации резервного копирования и т.п. не применялись.
Автоматизации копирования не было по тому, что систему только установили 30,01,2006 и посути работа идет в режиме настройки, тестирования. До резервного копирования руки не дошли. Как всегда. :(
вообще для FB 1.5.2 такая ситуация весьма странна - в конфиге есть параметры (и по умолчанию), на тему сброса кэша при fw=off. Эти параметры как раз и были введены в 1.5:
MaxUnflushedWrites
Вот их я как то выпустил из виду, не знал. Хм. Они не были установлены, т.е. по умолчанию.

atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Сообщение atruhin » 15 фев 2006, 17:02

Alexey Kovyazin писал(а):Если был бы Линукс, тогда понятно - копирование БД при неотключенных пользователях.
А так не очень понятно. Базы точно не поврежденные?
Да ни кто их ни куда не копировал. Звонит клиент, говорит моргнул свет, и данные потерялись, а ИБП увезли в сервис меньть аккамуляторы, неделю назад :).
Базы точно не поврежденные?
Неправильные значения нескольких генераторов, меньше чем нужно. В остальном вроде нет.
Только что нашел в ветке:
Продолжительность непрерывной работы FB сервера от 06,04,05
Кому интересно нашел пример на ibase:
Не знаю как Firebird и Win2003, но у меня (Win2000 + IB7) однажды произошел полный откат на два дня, т.е., до момента последней перезагрузки. Хотя до этого сервак молотил неделями без проблем. И честно тебе скажу, ничего веселого в этом нет. Если в работе есть перерывы, то лучше перегружаться, и желательно на холодную.
Значит не я первый, хотя все равно обидно. :(

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 16 фев 2006, 09:57

А не вмешался ли здесь печально известный System Restore, подсунувший файлы, сохраненные при последней перезагрузке?..

atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Сообщение atruhin » 16 фев 2006, 15:21

Dimitry Sibiryakov писал(а):А не вмешался ли здесь печально известный System Restore, подсунувший файлы, сохраненные при последней перезагрузке?..
Да сегодня выяснили, именно он это и был! :) Помогла отмена восстановления. Один "умный" человек после перезагрузки согласился на вопрос восстановить.
Но я не понимаю, восстонавливает система свои файлы, хорошо, но зачем чужие базы трогать.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 фев 2006, 16:45

это сила! надо будет запомнить. с другой стороны, для system restore операционка же должна скопировать исходный файл при начале его изменения. И вы это что, терпите? www.ibase.ru/ibfaq.htm#xp

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 16 фев 2006, 16:52

Опа. Вот это да. Разгадка вековой тайны про пропадание изменений с какой-то роковой минуты в прошлом. И именно под Виндой. И кажется, действительно с момента появления сей рацухи в ей. А как бодались, как искали причины...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 фев 2006, 17:34

для меня все равно остается тайной момент с исходным копированием БД, который отражен в FAQ. Хотя, если база микроскопическая, на уровне 5-10 мегабайт, то тогда вполне реально. Задержку с первым коннектом на 2-10 секунд не воспринимают как нечто необычное, ну и ...

atruhin
Сообщения: 6
Зарегистрирован: 15 фев 2006, 15:19

Сообщение atruhin » 17 фев 2006, 13:42

kdv писал(а): Хотя, если база микроскопическая, на уровне 5-10 мегабайт, то тогда вполне реально. Задержку с первым коннектом на 2-10 секунд не воспринимают как нечто необычное, ну и ...
Вообще я настраивая сисему всегда отключаю, систем рестори, упаковку файлов, лишние службы и т.д., но в данном случае как я и писал система только недавно была установлена, оптимизировать руки не дошли, базу почти пустые около 30 мб

Ответить