Поширені помилки InterBase/Firebird, спричинені пошкодженнями, та їхні шанси на відновлення
Олексій Ковязін, 31-03-2014
Нижче наведено опис типових помилок і проблем у базах даних InterBase/Firebird та шанси на їх відновлення.
Щоб отримати точну ціну та час відновлення, зв’яжіться з нами електронною поштою.
Для приблизної оцінки вартості дивіться опис послуги “Відновлення Firebird та InterBase”. Немає 100% гарантії, що описані помилки точно відповідають описаним причинам.
Внутрішня перевірка узгодженості програмного забезпечення gds (неможливо знайти сторінку TIP (165))
Опис помилки
База даних не може бути відкрита за допомогою рушія Firebird або InterBase, з’являється наступне повідомлення: Внутрішня перевірка узгодженості програмного забезпечення gds (неможливо знайти сторінку TIP (165))
Аварійне завершення роботи або фізичне пошкодження файлу бази даних. Сторінку інвентаризації транзакцій (TIP) втрачено. Область пошкодження може варіюватися від кількох сторінок до всієї бази даних, тому потрібне додаткове дослідження.
Причина (чому це сталося?) Найбільш ймовірні причини: аварійне завершення роботи сервера (за допомогою кнопки Reset), неправильний підхід до резервного копіювання або неправильні інструменти резервного копіювання. На Windows XP таке пошкодження може бути спричинене функцією “Відновлення системи” для файлів “gdb”.
Процес відновлення
Спочатку базу даних слід просканувати за допомогою FirstAID Diagnostician. Якщо FirstAID не попереджає про серйозне пошкодження, пошкодження можна виправити за допомогою повної версії FirstAID.
У разі серйозного пошкодження потрібне індивідуальне відновлення.
Шанси виправити пошкодження
99%
Файл бази даних виглядає пошкодженим. Неправильний тип сторінки. Сторінка NNN має неправильний тип (очікувалося X, знайдено Y)
Опис помилки
Повідомлення про помилку з’явилося у стандартному виводі або у firebird.log чи interbase.log:
Файл бази даних виглядає пошкодженим. Неправильний тип сторінки. Сторінка NNN має неправильний тип (очікувалося X, знайдено Y)
Через фізичне пошкодження або з іншої причини було змінено послідовність сторінок файлу бази даних, або на сторінках покажчиків чи кореневих сторінках індексів з’явилися неправильні значення тощо.
Причина
Найбільш ймовірні причини: аварійне завершення роботи сервера (за допомогою кнопки Reset), неправильна процедура резервного копіювання або неправильні інструменти/підхід до резервного копіювання.
Процес відновлення
Спочатку базу даних слід просканувати за допомогою FirstAID Diagnostician. Якщо FirstAID не попереджає про серйозне пошкодження, пошкодження можна виправити за допомогою повної версії FirstAID.
В іншому випадку потрібен індивідуальний процес відновлення.
Шанси виправити пошкодження
95%.
Невідома помилка введення/виведення бази даних для файлу “*.gdb”. Помилка під час спроби читання з файлу
Опис помилки
База даних не може бути відкрита, з’являється наступне повідомлення про помилку: Невідома помилка введення/виведення бази даних для файлу “*.gdb”. Помилка під час спроби читання з файлу.
Причина
Через аварійне завершення роботи сервера найновіші сторінки бази даних не були записані на диск.
Процес відновлення
Індивідуальний процес відновлення. База даних перевіряється за допомогою gfix та резервного копіювання/відновлення.
Шанси на відновлення
95%
Декомпресія перевищила буфер
Опис помилки
З’являється повідомлення про помилку: Внутрішня перевірка узгодженості програмного забезпечення gds (декомпресія перевищила буфер (179))
Причина
Це серйозне пошкодження бази даних: системні таблиці можуть бути пошкоджені. Іноді ця помилка виникає після перенесення бази даних на новий сервер/комп’ютер. Потрібне дослідження.
Процес відновлення
Аналіз структури бази даних, генерація нових сторінок, потрібно кілька ітерацій.
Шанси на відновлення
95%
Неправильна довжина запису
Опис помилки
З’являється повідомлення про помилку: Внутрішня перевірка узгодженості програмного забезпечення gds. Неправильна довжина запису
Причина
Найчастіше помилка “Неправильна довжина запису” спричинена несправною оперативною пам’яттю. Ми наполегливо рекомендуємо перевірити пам’ять ( RAM) на сервері.
Процес відновлення
Знайти та видалити неправильні записи за допомогою низькорівневих інструментів IBSurgeon. Потрібно кілька ітерацій.
Шанси на відновлення
97%
Файл бази даних виглядає пошкодженим. Погана контрольна сума
Опис помилки
Файл бази даних виглядає пошкодженим. Погана контрольна сума. Помилка контрольної суми на сторінці бази даних XX.
Причина
Несправна оперативна пам’ять. Ми наполегливо рекомендуємо перевірити пам’ять ( RAM) на сервері.
Процес відновлення
Індивідуальний процес відновлення. Потрібно кілька ітерацій.
Шанси на відновлення
99%
Неможливо знайти попередню версію запису
Опис помилки
База даних, здається, працює, але gbak не може завершити резервне копіювання.
Текст помилки:
Внутрішня перевірка узгодженості програмного забезпечення gds (неможливо знайти попередню версію запису (291))
gds_$receive завершився невдало. Вихід до завершення через помилки. внутрішня перевірка узгодженості програмного забезпечення gds (неможливо продовжити після перевірки на помилки).
Причина
Найбільш ймовірною причиною є неправильне керування транзакціями. Дослідження продуктивності транзакцій.
Процес відновлення
База даних потребує детального аналізу, і зазвичай рішення полягає в пошуку та видаленні проблемних об’єктів бази даних з подальшим їх перестворенням. Іноді необхідно перенести дані в нову базу даних.
Шанси на відновлення
99%
Наступна транзакція старша за найстарішу активну транзакцію
Повідомлення про помилку
Внутрішня перевірка узгодженості програмного забезпечення gds (наступна транзакція старша за найстарішу активну транзакцію (266))
Причина
Ця рідкісна помилка виникає в InterBase 4.x-5.x, це помилка програмного забезпечення.
Процес відновлення
Індивідуальний процес відновлення
Шанси на відновлення
99%
Пошкоджений заголовок
Опис помилки
База даних не може бути відкрита, і Firebird/InterBase не вважає її дійсною базою даних.
Причина
Фізичне пошкодження, збій жорсткого диска.
Процес відновлення
Індивідуальний процес відновлення
Шанси на відновлення
80%
Розмір файлу бази даних перевищує межу реалізації
Опис помилки
Це відбувається на серверах InterBase 4.x-5.x та ранніх бета-версіях Firebird (0.9.x). База даних не може бути відкрита, розмір файлу бази даних становить 4 ГБ.
Причина
Межа реалізації InterBase 4.x-5.x-6.0.x та ранніх версій Firebird 0.9.x.
Процес відновлення
Індивідуальний процес відновлення.
Шанси на відновлення
Зазвичай ми можемо зберегти всі дані (тобто 100%), але іноді це може бути менше 70%.
Помилка перетворення з рядка
Опис помилки
Текст помилки: Помилка перетворення з рядка “XXX”.
Причина
Попередній діагноз неможливий, потрібне дослідження на місці.
Процес відновлення
Індивідуальний процес відновлення.
Шанси на відновлення
99%
INET/inet_error: помилка читання errno = 10054 або 10038 або 10093
Повідомлення про помилку
Численні записи у firebird.log або interbase.log з помилками 10054, 10038, 10093 тощо.
Причина
Ці помилки спричинені проблемами з мережею - перевірте ваші концентратори, мережеві адаптери тощо. Це не помилка Firebird/InterBase сама по собі, але вона може вплинути на Firebird/InterBase.
Процес відновлення
Ми пропонуємо інструмент FBScanner для вирішення проблеми “помилок 10054” (серед інших питань). Детальніше дивіться тут.
Шанси на відновлення
Не застосовується.
Опис партнерського індексу не знайдено (175))
Опис помилки
Текст повідомлень про помилку: внутрішня перевірка узгодженості програмного забезпечення gds (опис партнерського індексу не знайдено (175))
Відсутній індекс для первинного або зовнішнього ключа.
Причина
Це може бути спричинено фізичним пошкодженням або внутрішніми помилками сервера.
Процес відновлення
Індивідуальний процес відновлення.
Шанси на відновлення
100%
Інші помилки
Опис помилки
Нижче наведено список рідкісних помилок Firebird/InterBase, які можуть бути спричинені різними причинами. Не соромтеся надсилати нам опис вашої проблеми - ми можемо вам допомогти.
Неправильна UDF може спричинити наступні помилки в interbase.log:
SCH_validate – не введено
SCH_validate – неправильний потік
Пошкодження індексу може спричинити наступне повідомлення в interbase.log:
Сторінка 34672 є сиротою
І ця помилка може виникнути під час інтенсивних вставок/оновлень/видалень в межах однієї транзакції:
внутрішня перевірка узгодженості програмного забезпечення gds (Забагато точок збереження (287))
Важко розпізнати причину без дослідження бази даних у випадку наступних помилок:
внутрішня перевірка узгодженості програмного забезпечення gds (помилка під час відкату до точки збереження (290))
внутрішня перевірка узгодженості програмного забезпечення gds (розмір блоку оптимізації перевищено (286))
internal gds software consistency check (invalid SEND request (167))
Ймовірна причина
Різні причини. Нам потрібно дослідити пошкоджену базу даних.
Процес відновлення
Індивідуальний процес відновлення.
Шанси на відновлення
Різні.