17
Instalacja serwera Firebird Plik instalacyjny serwera Firebird można pobrać z strony http://www.firebirdsql.org . Przed instalacją należy zamknąć wszystkie działające programy. Uruchamiamy plik Firebird-1.5.4.4910-0-Win32.exe, pojawi się okno o wybór języka, klikamy przycisk OK uruchomiony zostanie instalator serwera klikamy przycisk dalej akceptujemy warunki umowy licencyjnej i klikamy przycisk dalej

Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Embed Size (px)

Citation preview

Page 1: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Instalacja serwera Firebird

Plik instalacyjny serwera Firebird można pobrać z strony http://www.firebirdsql.org .

Przed instalacją należy zamknąć wszystkie działające programy. Uruchamiamy plik

Firebird-1.5.4.4910-0-Win32.exe, pojawi się okno o wybór języka, klikamy przycisk

OK

uruchomiony zostanie instalator serwera klikamy przycisk dalej

akceptujemy warunki umowy licencyjnej i klikamy przycisk dalej

Page 2: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

w kolejnym oknie pojawi się okno z treścią licencji, w którym ponownie wybrać należy

dalej

Page 3: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

W następnym oknie należy wskazać folder w którym serwer FireBird będzie

zainstalowany i wybrać przycisk dalej. Zaleca się niezmienianie domyślnych

ustawień.

w kolejnym oknie użytkownik ma możliwość wyboru typu instalacji. Należy

pozostawić wartości domyślne i wybrać przycisk dalej.

Page 4: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

następnie podać należy nazwę która będzie widoczna w „Menu Start” i wcisnąć

przycisk dalej.

Page 5: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

następnie należy zaznaczyć:

- „Kontrolować pracę serwera za pomocą Guardiana” – w tle będzie działał

dodatkowy program kontrolujący pracę serwera

- „Uruchamiaj FireBird automatycznie przy starcie systemu” – uruchamiany będzie

automatycznie

przy starcie systemu

- „Skopiować bibliotekę fbClient.dll do <system>” – kopiuje bibliotekę fbClient.dll

- “Utworzyć bibliotekę GDS32.dll” – kopiuje bibliotekę gds32.dll

Dodatkowo w systemie XP/2000 należy zaznaczyć:

- „Uruchom serwer FireBird jako usługę” – serwer powinien działać jako usługa

Pojawi się okno pozwalające na rozpoczęcie procesu instalacji za pomocą przycisku

instaluj.

Page 6: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

okno z informacjami należy kliknąć przycisk dalej

Page 7: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

W oknie tym należy wybrać przycisk zakończ.

Serwer Firebird został zainstalowany i automatycznie uruchomiony

Page 8: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Przełączenie bazy w tryb synchroniczny

Przełączenie bazy w tryb synchroniczny (większa odporność bazy na uszkodzenia

podczas nieprawidłowego wyłączenia serwera)

gfix baza.gdb –write sync -user SYSDBA -password masterkey

Wyłączenie automatycznego porządkowania bazy danych

gfix baza.gdb –h 0 -user SYSDBA -password masterkey

Naprawa uszkodzonej bazy danych

1. Powody uszkodzeń baz danych

• problemy sprzętowe (uszkodzenie dysku, pamięci operacyjnej)

• wirusy komputerowe

• niepoprawne wyłączenie komputera (reset, zanik napięcia)

2. Ratowanie uszkodzonej bazy danych

Ratowanie bazy danych jest wykonywane przy pomocy standardowych

programów GBAK oraz GFIX. Są one dostępne praktycznie w każdej instalacji

serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin. W systemie Linux /opt/Firebird/bin.

W programach GBAK i GFIX występują między innymi parametry

−user SYSDBA −password masterkey. W tym miejscu zamiast masterkey

należy oczywiście użyć odpowiedniego hasła użytkownika SYSDBA.

Page 9: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

• zablokowanie dostępu do bazy

Po stwierdzeniu lub podejrzeniu uszkodzenia bazy danych należy jak

najszybciej zablokować możliwość pracy na uszkodzonej bazie danych

ponieważ niektóre działania naprawcze wymagają wyłącznego dostępu do bazy

danych, oraz dalsza praca na uszkodzonej bazie danych może spowodować

jeszcze większe uszkodzenie bazy (a programy użytkowników mogą nie działać

prawidłowo)

• wykonanie kopii bezpieczeństwa

Działania naprawcze zmieniają informacje w pliku bazy danych. Może się

zdarzyć, że podjęte działania nie przyniosą oczekiwanego efektu. W skrajnym

przypadku plik bazy danych może ulec dalszemu uszkodzeniu. Dlatego zawsze

należy wykonać kopię uszkodzonej bazy danych — dzięki temu w razie potrzeby

będzie można podjąć inne działania naprawcze.

copy uszkodzona.gdb naprawiana.gdb

• weryfikacja uszkodzonej bazy

Zanim przystąpimy do naprawy należy zweryfikować uszkodzenia pliku bazy

danych. W tym celu wykonujemy polecenie

gfix naprawiana.gdb -validate -full -user SYSDBA -password masterkey

To polecenie nie tylko wykrywa uszkodzenia bazy danych, ale część z nich

automatycznie naprawia. Jeżeli będą sygnalizowane błędy bazy danych to

polecenie należy powtórzyć w celu upewnienia się czy wszystkie błędy zostały

naprawione.

Jeżeli do powyższego polecenia zostanie dodana opcja −no_update to

polecenie sprawdzi i pokaże wszystkie wykryte błędy w strukturze bazy danych,

ale nie będzie próbować niczego zmieniać.

Jeżeli natomiast do powyższego polecenia zostanie dodana opcja −ignore to

polecenie zignoruje wszelkie błędy sum kontrolnych rekordów lub stron bazy

danych.

Page 10: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

• pominięcie uszkodzonych części bazy

Kolejnym krokiem może być pominięcie uszkodzonych części bazy danych. W

tym celu należy wykonać polecenie

gfix naprawiana.gdb -mend -full -ignore -user SYSDBA -password masterkey

To polecenie oznacza wszystkie uszkodzone części bazy danych jako

niedostępne. Dzięki temu będą pominięte przy najbliższym wykonywaniu kopii

bezpieczeństwa bazy danych.

• ponowna weryfikacja bazy danych

Po zaznaczeniu uszkodzonych fragmentów bazy danych jako niedostępne

ponownie zweryfikuj bazę danych aby się upewnić czy wszystkie uszkodzenia

zostały naprawione.

gfix naprawiana.gdb -validate -full -user SYSDBA -password masterkey

• przebudowanie bazy danych

Następnym krokiem jest przebudowa bazy danych. W tym celu należy wykonać

kopię bezpieczeństwa bazy danych.

gbak naprawiana.gdb kopia.gbk -backup_database -verify -ignore -garbage_collect -user SYSDBA -password masterkey

Teraz na podstawie kopii bezpieczeństwa tworzymy bazę danych od nowa.

gbak kopia.gbk nowa.gdb -create_database -verify -user SYSDBA -password masterkey

Jeżeli podczas odtwarzania stwierdzimy, że uszkodzone są indeksy to możemy

do powyższego polecenia dodać opcję −inactive. Dzięki niej indeksy nie będą

aktywowane w odtworzonej bazie danych. Po utworzeniu bazy będzie można takie

indeksy aktywować indywidualnie lub zmienić ich definicję.

Użycie opcji −one_at_a_time pozwoli na odtworzenie każdej tabeli z danymi

oddzielnie i pominięcie uszkodzonych tabel.

• ponowna weryfikacja bazy danych

Page 11: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Upewniamy się czy odtworzona baza danych jest poprawna.

gfix nowa.fdb -valildate -full -user SYSDBA -password masterkey

Ostatnim krokiem jest przejrzenie danych w bazie w celu upewnienia się czy i jakie dane zostały utracone.

3. Działania, które prawdopodobnie uszkodzą bazę danych

Jest też szereg działań, których wykonanie może spowodować uszkodzenie

bazy danych.

• kopiowanie pliku bazy danych

Jeżeli kopiujemy plik bazy danych podczas pracy użytkowników tej bazy to

może się zdarzyć, że uszkodzone zostaną zarówno oryginalny plik bazy danych oraz wykonywana kopia! NIGDY nie kopiujemy pliku bazy danych

jeżeli nie mamy pewności, że żaden użytkownik nie korzysta z tej bazy danych!

Kopię bezpieczeństwa należy wykonywać przy pomocy programu GBAK

Podczas wykonywania kopii wykonywane jest również porządkowanie bazy

danych (garbage collection). Jeżeli kopia bezpieczeństwa jest wykonywana

regularnie to również regularnie baza jest porządkowana. Powoduje to

stabilniejszą oraz szybszą pracę serwera i aplikacji korzystających z tej bazy

danych.

Plik powstały w wyniku działania programu GBAK można oczywiście swobodnie

kopiować.

• używanie odtwarzanej bazy danych

Jeżeli podczas odtwarzania bazy danych pozwolimy użytkownikom na

korzystanie z odtwarzanej właśnie bazy to niemal na pewno odtworzona baza

będzie uszkodzona!

Aby uniknąć takiego niebezpieczeństwa najlepiej odtwarzać bazę do pliku o

innej nazwie i dopiero po utworzeniu pliku skopiować go w docelowe miejsce lub

zmienić nazwę na docelową. Jeżeli baza jest odtwarzana przy pomocy

standardowego programu GBAK to zamiast opcji −replace_database lepiej

Page 12: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

• powody sprzętowe

Powodem uszkodzenia bazy mogą być oczywiście wszelkiego rodzaju awarie

sprzętu, a w szczególności:

• niespodziewany zanik zasilania gdy komputer nie ma zasilacza awaryjnego

lub inny powód niepoprawnego zakończenia pracy komputera,

• błędne działanie dysku twardego, sterowników lub innych podzespołów

komputera,

• brak wystarczającej ilości wolnego miejsca na dysku gdy baza danych musi

zostać powiększona,

• brak wystarczającej ilości wolnego miejsca na dysku dla plików roboczych

tworzonych podczas wykonywania niektórych działań.

Page 13: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

PODZIAŁ BAZY DANYCH NA KILKA PLIKÓW

Serwer FireBird umożliwia podział bazy danych na kilka plików. Podział na niezależne

pliki ma na celu:

uniezależnienie rozmiaru bazy danych od ograniczeń systemów

operacyjnych co do wielkości plików (np. 2GB);

optymalizację wydajności, np. rozmieszczenie plików na różnych,

niezależnie działających dyskach

Podział bazy danych na pliki można wykonać w dwóch trybach:

OnLine – podział działającej bazy danych, bez zatrzymywania systemu

OffLine – podział bazy danych na podstawie wykonanej wcześniej kopii

bazy danych

Tryb Zalety Wady

OnLine

Podział bez wstrzymywania pracy systemu

Brak możliwości zmiany (zmniejszenia) rozmiaru pliku. Podział nastąpi od aktualnego rozmiaru

OffLine

Możliwość zmniejszenia aktualnego rozmiaru pliku (podział na mniejsze);

Możliwość zmiany lokalizacji plików bazy danych;

Konieczność wstrzymania pracy systemu

Kiedy zdecydować się na podział bazy danych na kilka plików?

Rozmiar pliku bazy danych zbliża się do ~1.2 GB (rozmiar optymalny ze

względu na wydajność);

Przewidujemy, iż baza danych rozrośnie się do rozmiaru powyżej ~1.2 GB;

Dysponujemy co najmniej dwoma niezależnymi, szybkimi dyskami i chcemy

uzyskać wzrost wydajności (UWAGA! Dotyczy to tylko dysków NIE

PRACUJĄCYCH w systemie RAID)

Page 14: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

OD CZEGO ZACZĄĆ?

1. Zrelaksować się, aby nie wykonywać czynności w pośpiechu i stresie,

2. Przemyśleć położenie plików (łatwość w identyfikacji pliku – do jakiej bazy

należy),

3. Przemyśleć nazewnictwo plików,

4. Określić docelowe rozmiary plików.

JAK OKREŚLIĆ ROZMIAR PLIKÓW?

Wykonując podział bazy danych, rozmiary poszczególnych plików, podaje się

w ilościach stron.

Aby określić rozmiar pliku w stronach, należy odczytać rozmiar strony bazy danych,

np. z programu IBConsole.

właściwości bazy danych, opcja Database-> Properties

Rozmiar strony bazy danych podawany jest w bajtach. Liczba (z przykładu) 4096

oznacza, iż strona posiada 4kB (4096 bajtów).

rozmiar strony bazy danych podawany w bajtach

Page 15: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Przykład:

Zakładany rozmiar pliku to 1.2GB, rozmiar strony bazy danych to 4096 bajtów.

1. Gigabajty (GB) przeliczamy na megabajty (MB): 1.2 GB * 1024 = 1228,8 MB

2. Megabajty (MB) przeliczamy na kilobajty (kB): 1228,8 MB * 1024= 1258291,2 kB

3. Kilobajty (kB) przeliczamy na bajty (B): 1258291,2 kB * 1024 = 1288490188,8 B

4. Rozmiar w bajtach dzielimy przez rozmiar strony: 1288490188,8 B / 4096 ≈ 314572

Rozmiar pliku 1.2GB to 314572 stron dla bazy danych o rozmiarze strony 4096

bajtów.

PODZIAŁ BAZY W TRYBIE ONLINE

Podział bazy danych w trybie OnLine, należy wykonać z poziomu poleceń SQL,

np. w programie IBConsole lub IBExpert.

Podział następuje po wykonaniu polecenia:

alter table add file nazwa_pliku length rozmiar_pliku_w_stronach

np.:

alter database

add file 'd:/bazy/demo01.gdb' length 314572

add file 'd:/bazy/demo02.gdb' length 314572

add file 'd:/bazy/demo03.gdb'

polecenie podziału bazy w programie IBConsole

Page 16: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

Powyższe polecenie, spowoduje dodanie do istniejącego pliku bazy danych, trzech

kolejnych, z których demo01.gdb oraz demo02.gdb mają określone rozmiary 314572 stron.

Po wykonaniu polecenia, baza danych zostanie podzielona na nowe pliki oraz zostanie

rozpoczęty zapis do pierwszej z nowo utworzonych części (pliku).

PODZIAŁ BAZY W TRYBIE OFFLINE

Podział bazy danych w trybie OffLine, odbywa się na podstawie wcześniej wykonanej

kopii bazy danych. W tym trybie konieczne jest ZATRZYMANIE pracy systemu.

Podobnie jak w trybie OnLine, wynikowe rozmiary plików (części) podawane są

w stronach (patrz „Jak określić rozmiar plików?”).

Podział bazy wykonuje się z linii komend systemu operacyjnego, narzędziem gbak.

gbak –r –user SYSDBA –pass hasło_serwera pierwszy_plik rozmiar

drugi_plik rozmiar trzeci_plik

np.:

gbak -r -user SYSDBA -pas masterkey kopia.gbk

127.0.0.1:d:/bazy/demo.gdb 314572 d:/bazy/demo01.gdb 314572

d:/bazy/demo02.gdb

Wykonanie polecenia spowoduje odtworzenie bazy danych z pliku kopii (kopia.gbk)

z jednoczesnym podziałem bazy danych na pliki: demo.gdb, demo01.gdb, demo02.gdb.

Rozmiary plików demo oraz demo01 zostały ustalone na 314572 stron (dla bazy o rozmiarze

strony 4096 bajtów, oznacza plik 1.2GB).

UWAGA!!!

Nazwy plików MUSZĄ być podane z pełnymi ścieżkami BEZ adresu serwera

Ostatni plik NIE MOŻE mieć podanego rozmiaru

UWAGA!!!

TYLKO pierwszy plik posiada adres serwera

Nazwy plików (poza pierwszym) MUSZĄ być podane z pełnymi ścieżkami

BEZ adresu serwera

Ostatni plik NIE MOŻE mieć podanego rozmiaru

Page 17: Instalacja serwera Firebird - Syriusz FAQfaq.syriusz.eu/attachments/307/Serwis bazy Firebird.pdf · serwera Firebird SQL. W systemie Windows w katalogu C:\Program Files\Firebird\Firebird_1_5\bin

UWAGI

1. Dostęp do „podzielonej” bazy danych odbywa się tak samo jak dla bazy posiadającej

jeden plik, tj. przez podanie lokalizacji oraz nazwy pliku głównego (pierwszego);

2. Wykonując kopię „podzielonej” bazy danych, należy podać tylko nazwę pliku głównego;

3. Odtwarzając z kopii już wcześniej podzieloną bazę danych, należy za każdym razem

podawać nazwy oraz rozmiary części (plików).