Krótkie wyjaśnienie wyniku działania gfix.exe
Alexey Kovyazin, 13 kwietnia 2014
Kiedy gfix.exe zakończy działanie, zapisuje podsumowanie błędów (jeśli występują) na standardowe wyjście (zwykle na ekran). Oto krótkie wyjaśnienie wyniku działania gfix:
- Liczba błędów na poziomie rekordów - liczba uszkodzonych rekordów znalezionych podczas pracy gfix. Te rekordy nie są poprawne - w zasadzie utracone.
- Liczba błędów stron indeksów - liczba stron indeksów w uszkodzonych indeksach. Gdy nawet tylko jeden klucz w indeksie jest nieprawidłowy, gfix oznacza cały indeks jako uszkodzony, więc liczba stron jest zwykle wysoka. Jednak ponieważ nie wpływa to na dane użytkownika, a uszkodzone indeksy zostaną odtworzone podczas kopii zapasowej/przywrócenia, można to traktować wyłącznie informacyjnie.
- Liczba błędów stron transakcji - liczba stron transakcji naprawionych przez gfix. Zwykle, jeśli widzisz ten komunikat, oznacza to, że gfix wykonał swoją pracę i transakcje są teraz w porządku.
- Liczba błędów BLOB - liczba uszkodzonych stron BLOB, wskazuje liczbę uszkodzonych obiektów BLOB.
- Liczba błędów stron bazy danych - to całkowita liczba stron bazy danych, które zostały odwiedzone i zmienione/oznaczone jako uszkodzone przez gfix. Ponownie, to głównie informacyjnie.
Następnie możesz zajrzeć do firebird.log, aby zobaczyć szczegóły dotyczące problemów zidentyfikowanych przez gfix. Prawdopodobnie zobaczysz wiele komunikatów dotyczących stron osieroconych.
Strony osierocone to po prostu utracone miejsce. Są konsekwencją błędów, ale nie są błędami.
Strony osierocone są naprawiane wtedy i tylko wtedy, gdy nie wykryto innych błędów i podano parametr -full.
Dodatkowo mogą pojawić się informacje o osieroconych wersjach rekordów - różnią się one od stron osieroconych. Osierocone wersje rekordów nie są naprawiane w żadnym przypadku, po prostu pozostają w bazie danych.
Jeśli uruchomiłeś gfix, takie mocno uszkodzone rekordy mogą zostać naprawione przez oznaczenie jako „uszkodzone”, ale tylko jeśli podano parametr -mend. Takie rekordy pozostają w bazie danych, ale są pomijane przez silnik.
Zatem wynik działania gfix daje przybliżone oszacowanie problemów znalezionych w uszkodzonej bazie danych Firebird lub InterBase. Dobrą rzeczą w tym podsumowaniu jest to, że jeśli gfix jest w stanie je wydrukować, oznacza to, że baza danych jest wystarczająco spójna.
Jeśli gfix nie był w stanie odzyskać uszkodzonej bazy danych, spróbuj IBSurgeon FirstAID.