Typowe błędy InterBase/Firebird spowodowane uszkodzeniami oraz ich szanse na odzyskanie danych
Alexey Kovyazin, 31-03-2014
Poniżej znajduje się opis typowych błędów i problemów w bazach danych InterBase/Firebird oraz szanse na ich odzyskanie.
Aby uzyskać dokładną cenę i czas odzyskiwania, skontaktuj się z nami przez e-mail.
Aby uzyskać orientacyjne ceny, zobacz opis usługi „Firebird and InterBase Recovery” . Nie ma 100% gwarancji, że opisane błędy dokładnie odpowiadają opisanym przyczynom.
Internal gds software consistency check (cannot find tip page (165))
Opis błędu
Baza danych nie może zostać otwarta przy użyciu silnika Firebird lub InterBase, a pojawia się następujący komunikat: Internal gds software consistency check (cannot find tip page (165))
Nieprawidłowe zamknięcie systemu lub fizyczne uszkodzenie pliku bazy danych. Strona inwentaryzacji transakcji (TIP) została utracona. Obszar uszkodzenia może obejmować od kilku stron do całej bazy danych, dlatego konieczne jest dodatkowe dochodzenie.
Przyczyna (dlaczego to się stało?) Najbardziej prawdopodobne przyczyny to nieprawidłowe zamknięcie serwera (przy użyciu przycisku Reset), niewłaściwe podejście do tworzenia kopii zapasowych lub narzędzia do tworzenia kopii zapasowych. W systemie Windows XP takie uszkodzenie może być spowodowane funkcją „Przywracanie systemu” dla plików „gdb”.
Proces odzyskiwania
Najpierw baza danych powinna zostać przeskanowana za pomocą FirstAID Diagnostician. Jeśli FirstAID nie ostrzega o poważnym uszkodzeniu, uszkodzenie można naprawić za pomocą pełnej wersji FirstAID.
W przypadku poważnego uszkodzenia konieczne jest niestandardowe odzyskiwanie.
Szanse na naprawę uszkodzenia
99%
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
Opis błędu
Komunikat o błędzie pojawił się w standardowym wyjściu lub w firebird.log lub interbase.log:
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
Z powodu fizycznego uszkodzenia lub innej przyczyny sekwencja stron pliku bazy danych została zmieniona lub na stronach wskaźników lub stronach głównych indeksów pojawiły się nieprawidłowe wartości itp.
Przyczyna
Najbardziej prawdopodobne przyczyny to nieprawidłowe zamknięcie serwera (przy użyciu przycisku Reset), niewłaściwa procedura tworzenia kopii zapasowych lub niewłaściwe narzędzia/podejście do tworzenia kopii zapasowych.
Proces odzyskiwania
Najpierw baza danych powinna zostać przeskanowana za pomocą FirstAID Diagnostician. Jeśli FirstAID nie ostrzega o poważnym uszkodzeniu, uszkodzenie można naprawić za pomocą pełnej wersji FirstAID.
W przeciwnym razie konieczny jest niestandardowy proces odzyskiwania.
Szanse na naprawę uszkodzenia
95%.
Unknown database I/O error for file “*.gdb”. Error while trying to read from file
Opis błędu
Baza danych nie może zostać otwarta, a pojawia się następujący komunikat o błędzie: Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.
Przyczyna
Z powodu nieprawidłowego zamknięcia serwera najnowsze strony bazy danych nie zostały zapisane na dysku.
Proces odzyskiwania
Niestandardowy proces odzyskiwania. Baza danych jest sprawdzana przez gfix oraz backup/restore.
Szanse na odzyskanie
95%
Decompression overran buffer
Opis błędu
Pojawia się komunikat o błędzie: Internal gds software consistency check (decompression overran buffer (179))
Przyczyna
To poważne uszkodzenie bazy danych: systemowe tabele mogły zostać uszkodzone. Czasami ten błąd występuje po przeniesieniu bazy danych na nowy serwer/komputer. Konieczne jest dochodzenie.
Proces odzyskiwania
Analiza struktury bazy danych, generowanie nowych stron, konieczne jest kilka iteracji.
Szanse na odzyskanie
95%
Wrong record length
Opis błędu
Pojawia się komunikat o błędzie: Internal gds software consistency check. Wrong record length
Przyczyna
Najczęściej błąd „Wrong record length” jest spowodowany uszkodzoną pamięcią RAM. Zdecydowanie zalecamy sprawdzenie pamięci ( RAM) na serwerze.
Proces odzyskiwania
Zlokalizuj i usuń nieprawidłowe rekordy za pomocą narzędzi niskiego poziomu IBSurgeon. Konieczne jest kilka iteracji.
Szanse na odzyskanie
97%
Database file appears corrupt. Bad checksum
Opis błędu
Database file appears corrupt. Bad checksum. Checksum error on database page XX.
Przyczyna
Uszkodzona pamięć RAM. Zdecydowanie zalecamy sprawdzenie pamięci ( RAM) na serwerze.
Proces odzyskiwania
Niestandardowy proces odzyskiwania. Konieczne jest kilka iteracji.
Szanse na odzyskanie
99%
Cannot find record back version
Opis błędu
Baza danych wydaje się działać, ale gbak nie może ukończyć tworzenia kopii zapasowej.
Tekst błędu:
Internal gds software consistency check (cannot find record back version (291))
gds_$receive failed. Exiting before completion due to errors. internal gds software consistency check (can’t continue after bug check).
Przyczyna
Najbardziej prawdopodobną przyczyną jest nieprawidłowe zarządzanie transakcjami. Badanie wydajności transakcji.
Proces odzyskiwania
Baza danych wymaga szczegółowej analizy, a zwykle rozwiązaniem jest znalezienie i usunięcie problematycznych obiektów bazy danych, a następnie ich ponowne utworzenie. Czasami konieczne jest przeniesienie danych do nowej bazy danych.
Szanse na odzyskanie
99%
Next transaction older than oldest active transaction
Komunikaty o błędzie
Internal gds software consistency check (next transaction older than oldest active transaction (266))
Przyczyna
Ten rzadki błąd występuje w InterBase 4.x-5.x, jest to błąd oprogramowania.
Proces odzyskiwania
Niestandardowy proces odzyskiwania
Szanse na odzyskanie
99%
Corrupted header
Opis błędu
Baza danych nie może zostać otwarta, a Firebird/InterBase nie traktuje jej jako prawidłowej bazy danych.
Przyczyna
Fizyczne uszkodzenie, awaria dysku twardego.
Proces odzyskiwania
Niestandardowy proces odzyskiwania
Szanse na odzyskanie
80%
Database file size exceeds implementation limit
Opis błędu
Występuje na serwerach InterBase 4.x-5.x oraz we wczesnych wersjach beta Firebird (0.9.x). Baza danych nie może zostać otwarta, rozmiar pliku bazy danych wynosi 4 GB.
Przyczyna
Limit implementacyjny InterBase 4.x-5.x-6.0.x oraz wczesnych wersji Firebird 0.9.x.
Proces odzyskiwania
Niestandardowy proces odzyskiwania.
Szanse na odzyskanie
Zwykle możemy uratować wszystkie dane (tj. 100%), ale czasami może to być mniej niż 70%.
Conversion error from string
Opis błędu
Tekst błędu: Conversion error from string “XXX”.
Przyczyna
Wstępna diagnoza jest niemożliwa, konieczne jest dochodzenie na miejscu.
Proces odzyskiwania
Niestandardowy proces odzyskiwania.
Szanse na odzyskanie
99%
INET/inet_error: read errno = 10054 or 10038 or 10093
Komunikaty o błędzie
Wiele wpisów w firebird.log lub interbase.log z błędami 10054, 10038, 10093 itp.
Przyczyna
Te błędy są spowodowane problemami sieciowymi - sprawdź swoje koncentratory, karty sieciowe itp. Nie jest to sam błąd Firebird/InterBase, ale może mieć wpływ na Firebird/InterBase.
Proces odzyskiwania
Oferujemy narzędzie FBScanner do rozwiązania problemu „błędów 10054” (między innymi). Zobacz szczegóły tutaj.
Szanse na odzyskanie
Nie dotyczy.
Partner index description not found (175))
Opis błędu
Tekst komunikatów o błędzie: internal gds software consistency check (partner index description not found (175))
Brak indeksu dla klucza podstawowego lub obcego.
Przyczyna
Może to być spowodowane fizycznym uszkodzeniem lub wewnętrznymi błędami serwera.
Proces odzyskiwania
Niestandardowy proces odzyskiwania.
Szanse na odzyskanie
100%
Inne błędy
Opis błędu
Poniżej znajduje się lista rzadkich błędów Firebird/InterBase, które mogą być spowodowane różnymi przyczynami. Nie wahaj się wysłać nam opisu swojego problemu - możemy Ci pomóc.
Nieprawidłowy UDF może powodować następujące błędy w interbase.log:
SCH_validate – not entered
SCH_validate – wrong thread
Uszkodzenie indeksu może powodować następujący komunikat w interbase.log:
Page 34672 is an orphan
A ten błąd może wystąpić podczas intensywnych operacji wstawiania/aktualizacji/usuwania w ramach pojedynczej transakcji:
internal gds software consistency check (Too many savepoints (287))
Trudno jest rozpoznać przyczynę bez zbadania bazy danych w przypadku następujących błędów:
internal gds software consistency check (error during savepoint backout (290))
internal gds Software consistency check (size of opt block exceeded (286))
internal gds software consistency check (invalid SEND request (167))
Prawdopodobna przyczyna
Różne przyczyny. Musimy zbadać uszkodzoną bazę danych.
Proces odzyskiwania
Niestandardowy proces odzyskiwania.
Szanse na odzyskanie
Różne