Цю сторінку перекладено машинним перекладом. Читайте англійський оригінал. English

Бібліотека IBSurgeon

Коротке пояснення виводу gfix.exe

Alexey Kovyazin, 13-April-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.