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/)