Краткое объяснение вывода gfix.exe
Alexey Kovyazin, 13 апреля 2014
Когда gfix.exe завершает работу, он выводит сводку ошибок (если они есть) в стандартный вывод (обычно на экран). Вот краткое объяснение вывода gfix:
- Количество ошибок на уровне записей - количество поврежденных записей, найденных во время работы gfix. Эти записи некорректны - по сути, утеряны.
- Количество ошибок страниц индексов - количество страниц индексов в поврежденных индексах. Если даже один ключ в индексе некорректен, gfix помечает весь индекс как поврежденный, поэтому количество страниц обычно велико. Однако, поскольку это не влияет на пользовательские данные, и благодаря тому, что поврежденные индексы будут пересозданы при резервном копировании/восстановлении, это можно рассматривать только как справочную информацию.
- Количество ошибок страниц транзакций - количество страниц транзакций, которые были исправлены gfix. Обычно, если вы видите это сообщение, это означает, что gfix выполнил свою работу, и теперь транзакции в порядке.
- Количество ошибок BLOB - количество поврежденных BLOB-страниц, это указывает на количество поврежденных BLOB-объектов.
- Количество ошибок страниц базы данных - это общее количество страниц базы данных, которые были посещены и изменены/помечены как поврежденные gfix. Опять же, это в основном справочная информация.
Затем вы можете заглянуть в firebird.log, чтобы увидеть подробности о проблемах, выявленных gfix. Вероятно, вы увидите много сообщений о страницах-сиротах.
Страницы-сироты - это просто потерянное пространство. Они являются следствием ошибок, но сами по себе не являются ошибками.
Страницы-сироты исправляются только в том случае, если не было обнаружено других ошибок и была указана опция -full.
Также может быть информация о версиях записей-сиротах - они отличаются от страниц-сирот. Версии записей-сирот не исправляются ни в каком случае, они просто остаются в базе данных.
Если вы запустили gfix, такие сильно поврежденные записи могут быть исправлены путем пометки как «поврежденные», но только если была указана опция -mend. Такие записи остаются в базе данных, но движок их пропускает.
Таким образом, вывод gfix дает вам приблизительную оценку проблем, найденных в вашей поврежденной базе данных Firebird или InterBase. Хорошая новость в этой сводке заключается в том, что если gfix может ее вывести, это означает, что база данных достаточно консистентна.
Если gfix не смог восстановить вашу поврежденную базу данных, попробуйте IBSurgeon FirstAID.