NOTATKA SERWISOWA
STRONA 1
C o p yr i gh t 20 0 8 e m s o f tw a r e
Procedura naprawy uszkodzonej bazy Firebird SQL
Serwer bazy danych Firebird SQL pracuje stabilnie i uszkodzenia bazy danych zdarzaj si bardzo rzadko. Jak w ka dym innym programie mo e si mimo wszystko zdarzy , e baza danych ulegnie uszkodzeniu. W szczególno ci mo e si tak zdarzy gdy serwer zostanie nagle wy czony, na przyk ad z powodu nag ego zaniku napi cia zasilaj cego. Zazwyczaj najbardziej niezawodnym sposobem naprawienia uszkodzonej bazy danych jest odbudowanie bazy na podstawie ostatnio wykonaj kopii bezpiecze stwa. Jednak odtwarzaj c baz z kopii bezpiecze stwa utracimy wszystkie zmiany w danych wykonane po wykonaniu kopii bezpiecze stwa bazy danych. Dlatego mo na spróbowa naprawi uszkodzon baz danych. W tym celu nale y wykona opisane dalej czynno ci. W opisanej dalej procedurze wykorzystywane s programy GBAK oraz GFIX. S to standardowe programy instalowane wraz z serwerem Firebird. Programy te znajduj si w folderze bin serwera. W wywo aniach programów GBAK i GFIX oprócz opisanych dalej parametrów nale y wskaza identyfikator i has o ytkownika. W tym celu nale y dodatkowo u
parametry: -user SYSDBA -password masterkey.
1. Wykona kopi pliku bazy danych
copy baza.fdb uszkodzbaza.fdb
Procedura naprawiania bazy danych ingeruje w zawarto pliku. Je eli ta procedura zawiedzie i chcemy mie mo liwo podj cia alternatywnych prób odzyskania danych z uszkodzonej bazy to koniecznie nale y pami ta o zrobieniu kopii pliku bazy danych przed podj ciem jakichkolwiek prób jej naprawy.
2. Wykona weryfikacj struktury bazy danych
gfix -v -f uszkodzbaza.fdb
Polecenie to sprawdza prawid owo wewn trznej struktury pliku bazy danych i wy wietla wszelkie informacje o napotkanych problemach. W tym poleceniu niektóre b dy s naprawiane. Dlatego warto je powtórzy kilkakrotnie. Je eli po kilku uruchomieniach tego polecenia b dy przestan by sygnalizowane to mo na uzna , e baza danych zosta a naprawiona i na tym zako czy procedur .
3. Kopia zapasowa w trybie specjalnym
gbak -b -v -ig -g uszkodzbaza.fdb kopia.fbk
Polecenie to tworzy kopi zapasow bazy danych (opcja -b) oraz wy wietla szczegó owe informacje o przebiegu tworzenia kopi (opcja -v). B dy sum kontrolnych b
w tym poleceniu ignorowane (opcja -ig) i wy czony zostanie proces Garbage Collection (opcja -g). Je eli uda si zrobi kopi danych tym sposobem to nale y przej do punktu Odtworzenie bazy z kopi . W przeciwnym razie nale y wykona nast pny punkt procedury.
4. Usun
uszkodzone fragmenty bazy
gfix -m -f -i uszkodzbaza.fdb
Informacja. Polecenie gfix -m usuwa uszkodzone fragmenty bazy danych. Po wykonaniu tej operacji nale y przyst pi do normalnej operacji backup/restore — (gbak -b, gbak -c).
5. Odtworzenie bazy z kopii
gbak -c kopia.fbk nowabaza.fdb
W przypadku pomy lnego zako czenia operacji odtworzenia bazy danych (brak komunikatów o b dach), nale y przyst pi do standardowej operacji odtwarzania bazy danych z kopii (restore). Podczas odtwarzania bazy danych z kopii zapasowej mog wyst pi problemy z tworzeniem indeksów. W tym przypadku powy sze polecenie nale y wykona z opcjami -i oraz -o. Opcje te dezaktywuj tworzenie indeksów i potwierdzaj (commit) zapis danych ka dej tabeli oddzielnie.
6. Sprawdza odtworzon baz
gfix -v -f OdtworzonaBaza.fdb
Po odtworzeniu bazy danych z kopii nale y zawsze sprawdza poprawno wewn trznej struktury pliku bazy danych.
ród o: Grzegorz Skoczylas (http://gskoczylas.rekord.pl/)