Ломаются базы данных
Добавлено: 14 ноя 2013, 14:17
Добрый день.
Я использую firebird в одном своём продукте. До недавнего времени всё работало стабильно и хорошо. Но сначала у одного, а потом у другого а потом как эффекте домино начали ломаться базы. Точнее обнаружили сначала невосстанавливаемые бэкапы, всё заканчивалось с ошибкой "Check constraint". Индексы естественно не активировались. Почитав эту статью http://www.ibase.ru/devinfo/db_repair.htm#gfix я научился чинить эти базы данных. Но починенная база долго не живёт. Через какое-то время она так или иначе опять убивается. Во время лечения базы обнаруживаются записи целостность которых нарушена, после удаления таких записей все ключи и индексы спокойно восстанавливаются и базу можно возвращать клиенту.
Я не могу понять причины такого поведения и не понятно с какого момента такой процесс начался. При этом пользователи работают и всё хорошо, пока не попытаться извлечь данные из бэкапа и тут появляются проблемы.
Я весьма опасаюсь, что в один прекрасный день если произойдёт какой-то форс-мажор(а он как назло произойдёт, в самый неподходящий момент), то будет мне не очень весело.
Подскажите как можно понять причину повреждения базы данных? Может включить какой-то лог или написать какой-то скрипт который будет мониторить какие-то отдельные события?
Я использую firebird в одном своём продукте. До недавнего времени всё работало стабильно и хорошо. Но сначала у одного, а потом у другого а потом как эффекте домино начали ломаться базы. Точнее обнаружили сначала невосстанавливаемые бэкапы, всё заканчивалось с ошибкой "Check constraint". Индексы естественно не активировались. Почитав эту статью http://www.ibase.ru/devinfo/db_repair.htm#gfix я научился чинить эти базы данных. Но починенная база долго не живёт. Через какое-то время она так или иначе опять убивается. Во время лечения базы обнаруживаются записи целостность которых нарушена, после удаления таких записей все ключи и индексы спокойно восстанавливаются и базу можно возвращать клиенту.
Я не могу понять причины такого поведения и не понятно с какого момента такой процесс начался. При этом пользователи работают и всё хорошо, пока не попытаться извлечь данные из бэкапа и тут появляются проблемы.
Я весьма опасаюсь, что в один прекрасный день если произойдёт какой-то форс-мажор(а он как назло произойдёт, в самый неподходящий момент), то будет мне не очень весело.
Подскажите как можно понять причину повреждения базы данных? Может включить какой-то лог или написать какой-то скрипт который будет мониторить какие-то отдельные события?