Коротке пояснення виводу 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.