Эта страница переведена машинным переводом. Читайте английский оригинал. English

Библиотека IBSurgeon

Краткое объяснение вывода 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.