firebird zarządzanie - usługi informatyczne info zarządzanie 2 dystrybucje interbase interbase,...

22
Firebird zarządzanie 1 Firebird zarządzanie Wprowadzenie Pełna obsługa procedur przechowywanych i wyzwalaczy, Pełna zgoda z standardem ACID, Więzy integralności, Multi Generational Architecture, Bardzo mały rozmiar, W pełni funkcjonalny wewnętrzny język procedur przechowywanych i wyzwalaczy (PSQL) Wsparcie dla zewnętrznych funkcji (UDF), Niewiele lub brak potrzeby specjalistycznych DBA, Prawie nie wymaga konfiguracji - wystarczy zainstalować i zacząć używać! Duża społeczność i wiele miejsc, gdzie można uzyskać bezpłatną wsparcie, Opcjonalna wersja jedno plikowa - świetna do tworzenia katalogów CD, pojedynczego użytkownika lub wersje aplikacji do oceny, Dziesiątki narzędzi firm trzecich, w tym graficznych narzędzi administracyjnych, narzędzi replikacji itp, Ostrożne zapisy - szybki odzyskiwanie, nie wymagane logi transakcji, Wiele możliwości dostęp do bazy danych: native/API, sterowniki dbExpress, ODBC, OLEDB, .Net, JDBC, Python moduł, PHP, Perl, etc, Natywny wsparcie dla wszystkich głównych systemów operacyjnych, włączając Windows, Linuks, Solaris, OS X, HP-UX i FreeBSD, Przyrostowe kopie zapasowe, 64-bitowa architektura, Pełna implementacja kursorów w PSQL, Monitorowanie tabel, Wyzwalacze połączeń i transakcji, Tabele tymczasowe, TraceAPI - monitorowanie stanu serwera. Źródło: Get to know Firebird in 2 minutes [1] Podstawy Serwer InterBase/Firebird InterBase - wysoce wydajnym, wielkoformatowym serwerem bazodanowym SQL przeznaczonym dla aplikacji biznesowych, mobilnych i opartych na internecie platform: Windows NT, UNIX, Solaris i MacOS. Od 1985, InterBase dostarcza sprawdzone technologicznie rozwiązania dla baz relacyjnych dla takich przedsiębiorstw jak: Motorola, Nokia, MCI, Northern Telecom, Bear Stearns, Money Store, US Army, NASA, Boeing. Popularność serwera InterBase wynika z łatwości użycia, niskich kosztów utrzymania i uproszczenia procesów wdrożeniowych. Firebird - wszechstronna relacyjna baza danych SQL, pozwalająca na wykorzystanie architektury klient-serwer, pracująca w wielu środowiskach operacyjnych, włączając Windows, Linux, UNIX. Jej ważną zaletą, jest dostępność na zasadzie licencji Open Source [2] .

Upload: phamdien

Post on 12-Apr-2018

265 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 1

Firebird zarządzanie

Wprowadzenie•• Pełna obsługa procedur przechowywanych i wyzwalaczy,•• Pełna zgoda z standardem ACID,•• Więzy integralności,•• Multi Generational Architecture,•• Bardzo mały rozmiar,• W pełni funkcjonalny wewnętrzny język procedur przechowywanych i wyzwalaczy (PSQL)•• Wsparcie dla zewnętrznych funkcji (UDF),•• Niewiele lub brak potrzeby specjalistycznych DBA,•• Prawie nie wymaga konfiguracji - wystarczy zainstalować i zacząć używać!•• Duża społeczność i wiele miejsc, gdzie można uzyskać bezpłatną wsparcie,•• Opcjonalna wersja jedno plikowa - świetna do tworzenia katalogów CD, pojedynczego użytkownika lub wersje

aplikacji do oceny,•• Dziesiątki narzędzi firm trzecich, w tym graficznych narzędzi administracyjnych, narzędzi replikacji itp,•• Ostrożne zapisy - szybki odzyskiwanie, nie wymagane logi transakcji,• Wiele możliwości dostęp do bazy danych: native/API, sterowniki dbExpress, ODBC, OLEDB, .Net, JDBC,

Python moduł, PHP, Perl, etc,• Natywny wsparcie dla wszystkich głównych systemów operacyjnych, włączając Windows, Linuks, Solaris, OS X,

HP-UX i FreeBSD,•• Przyrostowe kopie zapasowe,•• 64-bitowa architektura,• Pełna implementacja kursorów w PSQL,•• Monitorowanie tabel,•• Wyzwalacze połączeń i transakcji,•• Tabele tymczasowe,• TraceAPI - monitorowanie stanu serwera.Źródło: Get to know Firebird in 2 minutes [1]

Podstawy

Serwer InterBase/FirebirdInterBase - wysoce wydajnym, wielkoformatowym serwerem bazodanowym SQL przeznaczonym dla aplikacjibiznesowych, mobilnych i opartych na internecie platform: Windows NT, UNIX, Solaris i MacOS. Od 1985,InterBase dostarcza sprawdzone technologicznie rozwiązania dla baz relacyjnych dla takich przedsiębiorstw jak:Motorola, Nokia, MCI, Northern Telecom, Bear Stearns, Money Store, US Army, NASA, Boeing. Popularnośćserwera InterBase wynika z łatwości użycia, niskich kosztów utrzymania i uproszczenia procesów wdrożeniowych.Firebird - wszechstronna relacyjna baza danych SQL, pozwalająca na wykorzystanie architektury klient-serwer,pracująca w wielu środowiskach operacyjnych, włączając Windows, Linux, UNIX. Jej ważną zaletą, jest dostępnośćna zasadzie licencji Open Source [2].

Page 2: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 2

Dystrybucje InterBase

InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open Source. Wersja tajest wersją darmową, co oznacza, że jej użytkowanie i wykorzystywanie we własnych programach nie pociąga zasobą dodatkowych kosztów. Co więcej, wersję tą można rozprowadzać w dowolny sposób zgodnie z zasadamilicencji IBM Public License [3] i Initial Developer's Public License.Równocześnie jednak firma Borland, wychodząc naprzeciw życzeniom klientów, postanowiła udostępnić płatnąwersję InterBase-a 6 na najpopularniejsze platformy. Od niedawna dostępna jest zatem wersja certyfikowana tejbazy danych na następujące rodziny systemy operacyjnych: Linux, Microsoft Windows, Mac OS X i Solaris.Certyfikacja tego produktu oznacza, że firma Borland dołożyła wszelkich starań aby współpraca z tymi systemaminie sprawiała żadnych problemów, a przede wszystkim dawała pewność co do bezpieczeństwa przechowywanychdanych.Wersja komercyjna InterBase'a 6 Server Edition zawiera dodatkowo kilka funkcji i programów niedostępnych innądrogą. Jest to m.in. uaktualniona i w pełni przetestowana wersja InterClientTM 2, IBXTM, IBConsoleTM,sterowniki ODBC, program IBReplicatorTM oraz pełną dokumentację projektu w wersji elektronicznej idrukowanej.Równolegle tworzona jest niezależna wersja serwera, zwana Firebird, dostępna stronie http:/ / www. firebirdsql. org/.

Wersje serwera FirebirdSerwer Firebird może zostać zainstalowany do pracy w trzech trybach, różniących się architekturą samego serwera.Aplikacje klienckie mogą komunikować się z poszczególnymi rodzajami serwerów, bez konieczności wprowadzaniejakichkolwiek modyfikacji.

Classic server

Classic server jest historycznie pierwszą wersją. Zaprojektowany pod koniec lat 80-tych, kiedy zasoby komputerówbyły ograniczone i programy zmuszone były wykorzystywać je w sposób bardzo ekonomiczny. Model Classic serverprzeznaczony jest dla systemów, dla których wielowątkowość jest niedostępna lub ograniczona, czyniącniemożliwym wykorzystanie Superserver. Classic server pozostaje najlepszym rozwiązaniem dla środowisk, gdziewysoka wydajność pozostaje głównym kryterium, a zasoby systemowe są przygotowane na liniowy wzrostobciążenia wraz ze wzrostem liczby użytkowników bazy danych.Classic Server działa w odrębnym procesie dla każdego połączenia z bazą danych, uruchamianym na żądanie. Gdyklient bazy danych próbuje nawiązać połączenie z bazą, inicjowany jest nowy, oddzielny proces serwera do jegoobsługi, który pozostaje dedykowany do wyłącznej obsługi danego klienta przez cały czas jego połączenia z bazą.Kiedy klient kończy połączenie z bazą, jego proces serwera kończy swoje działanie. Każdy nowy klient bazy danychma wobec tego własne, dedykowane obszary pamięci w ramach serwera, zwiększając w ten sposób liniowo ogólnezapotrzebowanie na zasoby systemowe.Classic jest zalecany do używania w komputerach wieloprocesorowych oraz w niektórych innych, specyficznychsytuacjach.

Page 3: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 3

SuperClassic

Wersja SuperClassic jako jedyna oferuje tryb pracy Guardian w środowisku Linuks.

Superserver

Wielowątkowy model Superserver lepiej wykorzystuje zaawansowane możliwości nowych serwerów i sieci.Możliwości modelu Superserver do podzielenia procesów serwera na niezależne wątki oraz dynamiczna alokacjapamięci podręcznej czynią go wydajniejszym od Classic Server w zastosowaniach z dużą liczbą współpracującychużytkowników i ograniczonymi zasobami sprzętowymi.Proces serwera w tym modelu jest jeden, uruchamiany najczęściej wraz ze startem systemu, i pozostaje aktywny ażdo zamknięcia systemu lub jawnego żądania zamknięcia serwera.Model Superserver rezerwuje do komunikacji z bazą danych wspólny obszar pamięci dla wszystkich klientów bazy,zwiększając tym samym efektywność wykorzystania zasobów systemowych. Dodatkowo, Superserver pozwala nakomunikację z bazą danych wyłącznie przy wykorzystaniu mechanizmów sieciowych (Classic serwer umożliwiabezpośrednie operacje na plikach lokalnych baz danych), nawet dla baz danych wykorzystywanych lokalnie –połączenia są wykonywane standardowo poprzez serwer localhost (IP 127.0.0.1).

Embedded

Wersja Embedded jest odmianą serwera - w pełni funkcjonalna, dostępna w postaci kilku plików. Łatwa douruchomienia, z racji na brak konieczności instalacji Firebird-a.

Embedded server

Model Embedded jest odmianą Superserver dla systemu operacyjnego Windows, zawierającą własną instalacjęklienta, odwołującą się bezpośrednio i wyłącznie do zarządzanej przez niego bazy danych. Aplikacja korzystająca ztakiego serwera bazy danych może wykorzystywać wyłącznie połączenia lokalne, dostępne jest połączenie tylko zjednym procesem klienta - jedna baza danych może być wykorzystywana tylko przez jedną aplikację.

Ochrona danych

Programowa

Dostęp do systemu komputerowego powinien być możliwy jedynie dla osób powołanych. W sieciachkomputerowych wymagane jest stworzenie układu kont i haseł, umożliwiającego dostęp do poszczególnych zasobówsieci określonym użytkownikom.Istnieje możliwość zdefiniowania systemu haseł na potrzeby każdego systemu, możliwego do wykorzystywania napojedynczych komputerach, nie chronionych przez zabezpieczenia sieci komputerowych, lub też jako uzupełnieniezabezpieczeń wynikających z instalacji sieci. Każdy operator posiada unikalny kod, rejestrowany podczas każdejmodyfikacji przez niego poszczególnych zakresów danych. Oprogramowanie użytkowe Pakietu dla Administracjipotrafi rozpoznać użytkowników i przypisać im odpowiednie uprawnienia w zakresie dostępu do poszczególnychfunkcji.Dodatkowo, podczas edycji danych, danych oprogramowanie dba o poprawność i wzajemną spójność podawanychinformacji.

Page 4: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 4

Przez użytkownika

Podczas codziennej pracy z programami zaleca się częste wykorzystywanie ich dokumentacji - w celuprzypomnienia pewnych informacji, podpowiedzi o sposobie przetwarzania danych, znalezienia wyjaśnieniazaistniałych problemów. Najlepszym uzupełnieniem dokumentacji jest serwis oprogramowania - możliwośćnatychmiastowego kontaktu telefonicznego i uzyskania wyczerpującej odpowiedzi, a także wizyta kompetentnejosoby w siedzibie użytkownika, w celu rozwiązania powstałych problemów.Równolegle z elektronicznym przetwarzaniem danych należy zadbać o sporządzanie dokumentacji tej działalności wpostaci wydruków. Oprogramowanie umożliwia tworzenie szerokiego zestawu wydruków danych, zarównosyntetycznych jak i analitycznych. Utworzenie niektórych jest wymagane (np. dzienniki obrotów, rejestry), wartojednak przeanalizować i inne zestawienia i wykonywać je w regularnych okresach czasu.

Instalacja

Wymagania sprzętowe i programowe• Procesor. Jeśli serwer posiada kilka fizycznych procesorów lub procesor wielordzeniowy, instalujemy Firebirda w

wersji Classic Server (lub SuperClassic dla >= Firebirda 2.5). Monitorujemy obciążenia procesora, może okazaćsię, że będzie konieczna wymiana CPU na wydajniejszy,

•• Dysk twardy,•• Plik z bazą danych najlepiej jeśli jest umieszczony na dedykowanym dysku. Dla dużych danych macierz RAID

lub dyski SSD. Można plik bazy umieścić bezpośrednio w pamięci RAM (w Linuksie montowanie przez fstab,w Windowsie dodatkowe programy) i włączyć shadowing/rsync,

•• Zabezpieczamy dostęp do pliku bazy danych nie udostępniając dysku i/lub pliku.•• Sieć:

•• Zapora sieciowa. Firebird korzysta z portu TCP 3050 i 3051. Jeśli są duże opóźnienia w dostepie do bazy,można wyłączyć chwilowo zaporę,

•• Wydajność sieci sprawdzamy poprzez polecenie ping do serwera Firebirda z parametrem -l 8192. Opóźnienienie powinno być większe niż 2 ms. Przykład:

ping -l 8192 192.168.1.2

•• Oprogramowanie:•• Program antywirusowy jeśli serwer Windows. Dodaje serwera firebirda do zaufanych aplikacji. Skanowanie

pliku bazy danych może również wpłynąć na wydajność (wykluczamy lokalizację),•• Aktualny system operacyjny wraz z aktualnym sterownikami,• Okresowo przeglądamy logi serwera dostępne w pliku Firebird.log,•• Aliasy bazy Firebird.

•• Nie uruchamiamy wygaszacza ekranu (lepiej wyłączać monitor),• Na komputerze obsługującym bazę danych nie zalecamy wykonywania normalnej pracy – osłabia to wydajność

systemu, lepiej jest wykorzystywać komputer dedykowany wyłącznie do obsługi serwera:•• Jeżeli komputer jest wykorzystywany do pracy sporadycznie, wylogowujemy się z systemu (Windows

NT/2000/ itd.).

Page 5: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 5

Serwera

Windows

Pobieramy ze strony internetowej www.firebirdsql.org [4] aktualną wersję serwera dla systemu operacyjnego, naktórym będzie przechowywana baza danych. Następnie uruchamiamy pobrany plik i instalujemy serwer jako usługę.W celu zainstalowania, będziemy potrzebowali uprawnień administratora systemu. Po zainstalowaniu uruchamiamyponownie komputer. W liście usług Menadżera zadań widnieje uruchomiona usługa Firebird.Po zainstalowaniu programu może wystąpić błąd niezgodności sterownika baz danych. Należy wówczas:• Uruchomić BDE Administrator w Panelu Sterowania,•• Wybrać alias IS_PDA,•• Zmienić LANGDRIVER na dowolny,•• Zapisać zmiany,• Następnie powtórnie ustawić na Paradox Polish 852.Ponadto należy sprawdzić, czy wartość ENABLED BCD jest ustawiona na true. Standardowym użytkownikiem bazyis_pda.gdb jest:• Użytkownik - SYSDBA• Hasło - masterkey

W przypadku włączenia opcji Kontrola uprawnień standardowym użytkownikiem jest:• Użytkownik: Administrator• Hasło: a

Wskazówki

Nie zalecamy:•• Instalacji serwera Firebird-a na systemach Windows 95/98/ME.•• Korzystania z Firebird-a w wersji 1.5 (programy w wersji 2011 nie będą działać) i 2.0 (wersja ta działa

niestabilnie).•• Programy antywirusowe mogą poważnie uszkodzić pliki bazodanowe, powodując utratę danych. Konfigurujemy

je tak, by nie skanowały plików z bazami danych.•• W sytuacji instalacji Firebirda na komputerze wyposażonym w procesor wielordzeniowy, korzystamy z wersji

Classic Serwer.•• Instalowanie serwera w systemach Windows Vista/ 7

• Przed instalacją serwera i aplikacji upewniamy się czy wyłączona jest opcja Kontrola konta użytkownika(UAC) w Panel sterowania > Użytkownicy.

• Na systemach 64-bitowych instalujemy wersję Firebird dla systemów 32-bitowych. W razie występowaniaproblemów z instalacją BDE (Borland Database Engine) pobieramy i instalujemy BDE w wersji 5.1.

•• Parametry baz danych:• Rozmiar strony. Standardowo strona bazy danych ma 1K – zwiększenie jej rozmiaru do 4K zwiększa

całkowity rozmiar bazy danych, ale może przynieść wiele korzyści:•• Mniej rekordów danych jest dzielonych pomiędzy strony bazy danych, odczytywanie danych jest znacznie

szybsze,•• Indeksy tablic mają efektywniejszą strukturę, przyspiesza to odszukiwanie danych,•• Rozmiar strony możemy zmienić tylko w wyniku operacji backup-restore bazy danych,• Pamięć cache serwera bazy danych. Standardowo pamięć cache odpowiada 256 stronom bazy danych – jeżeli

jest taka możliwość, zalecamy zwiększenie rozmiaru tej pamięci w celu zwiększenia wydajności. Zmianęwykonujemy poleceniem gfix (wielkość pamięci określa się w stronach bazy danych):

Page 6: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 6

Gfix.exe –buffers 3000 baza_danych.gdb

Jednocześnie pamiętamy, aby nie ustawić zbyt dużego rozmiaru cache – może bowiem zajść sytuacja, w którejFirebird zacznie część tej pamięci zapisywać na dysku, co spowoduje spowolnienie działania. Serwer alokujeoddzielny obszar cache dla każdej obsługiwanej bazy danych.

Linuks

Instalacja zależna jest od dystrybucji systemu Linuks. Dla dystrybucji opartej o paczki typu RPM serwer Firebirdinstalujemy poleceniem rpm –Uvh <nazwa_paczki_firebird> jako root (lub podnosimy uprawnienia użytkownikapoleceniem sudo).

Uwaga!

Jeśli posiadamy wcześniejszą wersję to musimy ją bezwzględnie od instalować przed instalacją nowej wersji.Należy również sprawdzić wymaganą wersję jądra i biblioteki glibc (czasami nie ma możliwości upgrade [np.dla dystrybucji Centos 5.X] i konieczna będzie pełna instalacja nowszej wersji Linuksa).

W trakcie instalacji serwera bazy Firebird w wersji 2.5. na platformie Linux automatycznie generowane jest losowehasło dostępu do serwera dla użytkownika sysdba. Hasło znajduje się w pliku:

/opt/firebird/SYSDBA.password

Aby móc połączyć się z bazami INFO-SYSTEM należy zmienić hasło na standardowe masterkey. Aby dokonaćzmiany hasła należy uruchomić poniższy skrypt:

/opt/firebird/bin/changeDBAPassword.sh script

Po uruchomieniu zostaniemy zapytani o aktualne hasło użytkownika SYSDBA - należy je odczytać z plikuSYSDBA.password następnie zostaniemy poproszeni o podanie nowego hasła więc wpisujemy nasze hasłomasterkey. Następnie restartujemy serwer Firebird poleceniem:

/etc/init.d/firebird reload

Wszystkie czynności wymagają poświadczeń administracyjnych.W przypadku problemów z połączeniem przez sieć (działa połączenie lokalne, zapora wyłączona, uprawnieniasprawdzone) zalecamy przełączyć się na tryb SuperClassic za pomocą skryptu changeMultiConnectMode.sh iodpowiedzieć thread.

Bazy danychCzysta baza danych dostarczana jest wraz z instalatorem programów INFO-SYSTEM.

Lokalizacja bazy danych

Programy z instalatora posiadają skonfigurowaną ścieżkę do pliku bazy danych. Jeśli baza danych jest w innejlokalizacji, to w pliku XML danej aplikacji podajemy ścieżkę do bazy danych. W celu uniknięcia jawnegopodawania ścieżki do bazy danych w pliku XML, można użyć aliasu bazy. Alias podaje się w pliku aliases.conf,zlokalizowanym w katalogu z instalacją Firebird – należy dokonać wpisu:

ALIAS_BAZY = ścieżka_do_bazy_danych

Po podaniu aliasu, w pliku konfiguracyjnym w miejsce ścieżki należy wprowadzić alias.

Page 7: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 7

Generowanie nowej bazy danych

Czysta baza danych dołączana jest przez dystrybutora do każdej wersji oprogramowania. Generowanie nowej bazyodbywa się poprzez:•• Skopiowanie czystej bazy,•• Rozszerzanie nowej bazy danych o tabele nowej aplikacji. Pełen opis znajduje się w instrukcji programu Admin,•• Sprawdzanie wersji aplikacji i bazy danych.W każdej aplikacji, po kliknięciu odpowiedniej ikony, lub wybraniu z menu Informacje o środowisku, programpokazuje okno z informacjami o wersji programu, wersji bazy danych, połączeniu z bazą danych i jej lokalizację,oraz ogólne informacje o tabelach, dając pogląd o rozmiarze danych w bazie.

Upgrade aplikacji - modyfikacje bazy danych

Kolejne wersje aplikacji mogą wymagać modyfikacji bazy danych (struktury tabel, procedury wbudowane). W tymcelu razem z aplikacją dostarczane są pliki SPT. Wykonywane są one automatycznie przez program, bezpośredniopo jego uruchomieniu.Wersja bazy danych, wykorzystywana przez aplikację przechowywana jest w polu DBVERSION w tabeliIS_REJESTR. Wpis powinien mieć format rrmmdd np. 040831, natomiast skrypty aktualizacyjne dodatkowo mająrozszerzenie spt, np. 040901.spt i powinny być przechowywane w podkatalogu SPT głównego katalogu programu.Program wykonuje tylko skrypty z datą wcześniejszą, niż odczytana wersja bazy danych.

AplikacjiAplikację instalujemy z instalatora. Jeśli nie mamy lub nie istnieje instalator, to wykionujemy kroki opisane w sekcjiBrak instalatora programu.

Protokoły komunikacyjneWyboru protokołu komunikacyjnego dokonuje się poprzez odpowiednią specyfikacje bazy danych w plikuDBPATH.SQN.

TCP/IP

Architektura protokołu TCP/IP sprawia, że pakiety sieciowe są kierowane bezpośrednio do odbiorców, niepowodując nadmiernego obciążenia sieci, w związku z czym korzystanie z tego protokołu pozwala na jednoczesnąwydajną pracę większej liczby użytkowników.Standardowo komunikacja odbywa się przy wykorzystaniu portu 3050, jednak poprzez odpowiednia konfiguracjęserwera i zainstalowanych klientów, istnieje możliwość zmiany tego ustawienia.

NetBEUI

NetBEUI zaprojektowany do niewielkich sieci lokalnych, nie jest protokołem wydajnym z punktu widzeniazastosowań bazodanowych. Wykorzystanie tego protokołu powinno zostać ograniczone do niewielkich baz danych,wykorzystywanych przez co najwyżej kilku użytkowników.

Uwaga!

Serwer Firebird alokuje oddzielny obszar cache dla każdej obsługiwanej bazy danych.

Page 8: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 8

Baza hasełBaza haseł nosi nazwę ISC4.GDB, i jest instalowana w katalogu serwera InterBase. Wszyscy użytkownicy, chcącykorzystać z jakiejkolwiek bazy danych, obsługiwanej przez serwer, są zdefiniowani w tej bazie. Baza ta jestobsługiwana wyłącznie przez serwer InterBase.

Klucze aktywacyjnePo zainstalowaniu lub zaktualizowaniu do nowej wersji aplikacji, program automatycznie wygeneruje tymczasowyklucz, pozwalający na pracę z programem przez okres 30 dni. W tym czasie, po uruchomieniu aplikacji, ukazywaćsię będzie okno, przypominające o konieczności rejestracji i umożliwiające natychmiastowe przejście dowprowadzenia kodu. Klucze aktywacyjne generowane są w firmie INFO-SYSTEM, po przekazaniu niezbędnychinformacji:•• Pełna nazwa użytkownika (bez odróżniania małych i dużych liter),•• Wykorzystanej nazwy użytkownika, dla której należy wygenerować kod (jeżeli jest inna niż wcześniej podana),•• Nazwy programu oraz parametrów instalacji (liczby końcówek).Klucz aktywacyjny to pięć grup znaków alfanumerycznych, liczących po cztery znaki każda, np.QR65-W98U-XC45-W5T7. Klucz aktywacyjny jest generowany na podstawie:•• Nazwy użytkownika oprogramowania,•• Nazwy (kodu) programu,•• Wersji/ liczby stanowisk.Jakakolwiek zmiana tych danych wymaga przygotowania nowego klucza. Klucz aktywacyjny jest zapisywany wpliku XML konfiguracji aplikacji, jeżeli więc aplikacja jest wykorzystywana na kilku stacjach roboczych, na każdejz nich należy podać ten sam klucz.

Uwaga!

Podana przy instalacji nazwa użytkownika będzie opatrzona komentarzem o nie zarejestrowaniu użytkowanejaplikacji!

Zgłoszenie użytkownika można dokonać faksem, mailem (na adres email [email protected] [5]) lub przywykorzystaniu strony internetowej. Po zalogowaniu na stronie groszek.pl [6] w menu należy wybrać stronęAktywacja – program umożliwi podanie danych nowego klienta oraz sprawdzenie już wygenerowanych kluczy.Należy pamiętać o wprowadzeniu pełnej, prawidłowej nazwy użytkownika do pliku XML – konfiguracji aplikacji,korekta nazwy po wygenerowaniu klucza uniemożliwi pracę i będzie wymagała zmiany klucza aktywacyjnego.

Uwaga!

W wyjątkowych wypadkach może zostać przygotowany klucz tymczasowy, umożliwiający pracę bezzarejestrowania przez krótki okres czasu.

Po wejściu w menu Pomoc > Drukuj licencję funkcja umożliwia wydrukowanie wniosku o przygotowanie kluczaaktywacyjnego, zawierającego m.in. podaną nazwę użytkownika – wniosek taki łatwo przesłać faksem.

Page 9: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 9

Borland Database Engine (BDE)

Wstęp

BDE jest zestawem bibliotek DLL pozwalającym na dostęp do baz danych zarówno typu desktop (np. dBase,Paradox), jak i klient/serwer (za pomocą sterowników SQL Link albo ODBC). Architektura BDE bazuje nasterownikach napisanych dla każdego stosowanego systemu obsługi baz danych (DBMS). Standardowa instalacjaBDE zawiera sterowniki do Paradoxa, dBase-a, MS Accessa, FoxPro i tabel tekstowych.Dostęp do konkretnych baz danych realizowany jest poprzez tzw. aliasy. Każdy alias określony jest przez unikalnąnazwę i zawiera zestaw parametrów definiujących podłączenie do bazy (np. ścieżkę dostępu). Liczba parametrówzależy od rodzaju bazy danych (sterowniki standardowe mają tylko trzy parametry, podczas gdy sterowniki SQLLinks i ODBC – kilkanaście).

Instalacja

Zestaw bibliotek składających się na BDE jest zapisywany w katalogu \Program Files\Common Files\BorlandShared\Bde. Dane konfiguracyjne zapisywane są w pliku IDAPI.CFG (zawiera on m.in. informacje o założonychaliasach).

Typowe błędy przy starcie aplikacjiBłąd przy starcie aplikacji oznacza brak połączenia programu z serwerem Firebird-a. Problemy mogą dotyczyćdziałania serwera F. bądź połączenia z komputerem na którym znajduje się baza danych.• Sprawdzić, czy serwer F. jest uruchomiony. W tym celu na komputerze, na którym znajduje się baza danych,

uruchamiamy w menu Panel sterowania > Firebird i sprawdzamy, czy pojawia się informacja: Firebird service isrunning. Jeżeli tak, to przechodzimy do następnego punktu. Jeżeli zamiast tego pojawia się komunikat Firebirdservice is not running, należy kliknąć przycisk Start, aby uruchomić F. Sprawdzamy poprawność ścieżki do bazydanych.

• Otwieramy plik .XML dla danej aplikacji i w sekcji link sprawdzamy poprawność ścieżki do bazy danych. Jeżelina serwerze baza danych znajduje się na dysku C:\ to podajemy w ścieżce adres IP serwera oraz literę dysku C:Przykładowa poprawna ścieżka ma format:

192.168.1.10:c:\info-sys_groszek\info-sys_db\is_pda.gdb

• Sprawdzamy poprawność połączenia sieciowego poleceniem ping,•• Następnie sprawdzamy ustawienia zapory internetowej (firewall) i programu antywirusowego. Programy te mogą

blokować dostęp do serwera Firebird. W celu odblokowania dostępu, programy antywirusowe i firewalle takkonfigurujemy, aby zezwalały programom na dostęp do sieci oraz otwieramy port 3050.

Page 10: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 10

Konfiguracja

Rozmiar stronyStandardowo strona bazy danych ma 1K – zwiększenie jej rozmiaru do 4K zwiększa całkowity rozmiar bazy danychi przynosi wiele korzyści:•• Mniej rekordów danych jest dzielonych pomiędzy strony bazy danych, odczytywanie danych jest znacznie

szybsze,•• Indeksy tablic mają efektywniejszą strukturę, przyspiesza to odszukiwanie danych.Zmiana rozmiaru strony bazy danych może zostać przeprowadzona tylko w wyniku operacji backup-restore bazydanych.

Pamięć cache serwera bazy danychStandardowo pamięć cache odpowiada 256 stronom bazy danych – jeżeli jest taka możliwość, zalecane jestzwiększenie rozmiaru tej pamięci w celu zwiększenia wydajności. Operację wykonujemy poleceniem gfix (wielkośćpamięci określa się w stronach bazy danych):

Gfix.exe -buffers 3000 baza_danych.gdb

Jednocześnie pamiętamy, aby nie ustawić zbyt dużego rozmiaru cache – może bowiem zajść sytuacja, w którejFirebird zacznie część tej pamięci zapisywać na dysku, co spowoduje spowolnienie działania.

Definiowanie operatorów aplikacji

Po zainstalowaniu aplikacji zdefiniowany jest jeden operator o:• nazwie administrator• hasłem aPo zainstalowaniu aplikacji i zdefiniowaniu operatorów hasło administratora należy zmienić. Zarządzanieoperatorami i uprawnieniami odbywa się z poziomu programu Admin.Po wywołaniu programu należy wybrać z menu Ustawienia > Rejestr operatorów. W oknie dostępne są trzyzakładki:• Grupy – program umożliwia zdefiniowanie grup, do których przypisani są poszczególni operatorzy. Grupom

można przypisywać uprawnienia, każdy operator otrzymuje (dziedziczy) takie uprawnienia, jakie mają grupy, doktórych należy. Definiując grupę podajemy jej nazwę skrótową, nazwę opisową, wybieramy operatorów do niejnależących oraz uprawnienia, które posiada grupa,

• Operatorzy – program umożliwia zdefiniowanie dowolnie wielu operatorów. Każdy operator może należeć dojednej lub wielu grup. Operator dziedziczy uprawnienia grup, do których należy, można także podać uprawnieniadodatkowe – uzupełniające. Podczas definiowania nowego operatora należy najpierw podać jego nazwę, nazwęopisową oraz hasło, zapamiętać dane, a dopiero wówczas ponownie wybrać dane do edycji i nadać uprawnienia.Podczas logowania do aplikacji program automatycznie podpowiada nazwę pracującego operatora, otrzymywanąod Windows lub sieci – definiując nowych operatorów dobrze jest więc nadawać im nazwy zgodne z sieciowymi,

• Uprawnienia – przypisywane są funkcjonalnościom aplikacji – określonym działaniom w obrębie aplikacji, dowykonania których jest uprawniony użytkownik. Definicje uprawnień są wprowadzane podczas generowaniabazy danych, i zasadniczo nie ma potrzeby ich modyfikowania.

Page 11: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 11

Definiowanie użytkowników bazy danych

Ze względu na niemożność powiązania zakresu uprawnień poszczególnych operatorów z uprawnieniami doobiektów bazy danych, przyjęto zasadę rozstrzygania uprawnień na poziomie dostępu do funkcjonalności aplikacji.Każda aplikacja wymaga, aby zalogowanie do bazy danych (z parametrami, podawanymi w pliku XML) odbywałosię dla operatora z pełnym dostępem do jej obiektów (a dokładniej: do obiektów, wykorzystywanych przez danąaplikację, o ile z bazy korzysta więcej niż jeden program). Po zalogowaniu się operatora do programu odczytywanesą jego uprawnienia, a następnie udostępniane odpowiednie funkcje aplikacji. Standardowo instalowana baza danychma zdefiniowanego jednego użytkownika:• Użytkownik: SYSDBA• Hasło: masterkey

Posiada on pełne uprawnienia do wszystkich zdefiniowanych tabel w bazie danych. Zmiana danych użytkownikabazy dokonuje się z poziomu programu Admin. Należy przy tym odróżnić użytkownika bazy danych od operatoraaplikacji:• Istnieje możliwość zmiany domyślnego użytkownika bazy danych – po zdefiniowaniu użytkownika na poziomie

bazy danych i dodaniu mu pełnych uprawnień do wszystkich tabel i procedur aplikacji,•• Do tabeli systemowej IS_REJESTR powinni mieć pełny dostęp wszyscy użytkownicy bazy danych,•• Użytkownicy, zdefiniowani dla systemów korzystających z bazy osobowej powinni mieć zdefiniowane pełne

prawa do tabel bazy osobowej.

Konfiguracja BDEDo konfigurowania BDE służy aplikacja BDE Administrator wywoływana z Panelu Sterowania (skrót do plikubdeadmin.exe). Po uruchomieniu programu wyświetlane jest okno z dwoma zakładkami:•• Databases,•• Configuration.Pierwsza zakładka pozwala na zakładanie, modyfikowanie i usuwanie aliasów dających dostęp do konkretnych bazdanych. Druga pozwala na skonfigurowanie zainstalowanych sterowników oraz samego motoru BDE.

Parametry motoru BDE

Ustawienia motoru DBE są dostępne po wybraniu zakładki Configuration i rozwinięciu obiektu INIT.Uwaga!

Najważniejsze parametry zostały zaznaczone pogrubioną czcionką!Z prawej strony zostaną wyświetlone następujące parametry:• AUTO ODBC – jeżeli wartość jest równa:

• TRUE, to podczas inicjowania BDE zostaną odczytane wszystkie zainstalowane sterowniki ODBC i źródładanych (data sources) (ustawienie tego parametru na TRUE nie jest zalecane),

• FALSE (wartość domyślna),• DATA REPOSITORY – nazwa aktywnego słownika danych (przydatne podczas programowania),• DEFAULT DRIVER – sterownik, który będzie użyty (wypróbowany) jako pierwszy do otwarcia tabeli bez

podanego rozszerzenia; dotyczy tylko sterowników typu FILE (np. dBase, Paradox),• LANGDRIVER – nazwa sterownika językowego; powinna być zgodna z ustawieniami Windows (w przypadku

strony kodowej numer 1250 stosowanej w polskiej wersji Windows można wybrać Pdox ANSI Polish),• LOCAL SHARE – jeżeli baza danych może być otwierana przez programy nie korzystające z BDE (np. w

przypadku baz dBase przez programy napisane w Clipper-ze) wartość tego parametru powinna być ustawiona naTRUE,

• LOW MEMORY USAGE LIMIT,

Page 12: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 12

• MAXBUFSIZE – maksymalna ilość pamięci w kB do buforowania danych z bazy; podana liczba musi byćwielokrotnością 128 (maksimum: 65535),

• MAXFILEHANDLES – maksymalna liczba uchwytów plików używanych przez BDE; liczba całkowita od 5 do4096; większe wartości poprawiają wydajność, ale zużywają więcej zasobów Windows,

• MEMSIZE – maksymalna ilość pamięci używanej przez BDE (w MB); liczba nie większa niż 205,• MINBUFSIZE – minimalna ilość pamięci w kB do buforowania danych z bazy; liczba całkowita od 32 do 65535,• MTS PULLING,• SHAREDMEMLOCATION – zalecany adres, pod którym zostanie załadowany zarządca pamięci dzielonej oraz

zarządca dzielonego bufora (shared memory manager, shared buffer manager),• SHAREDMEMSIZE – maksymalna ilość pamięci w kB, której BDE używa do dzielonych zasobów (shared

resources); minimalna wartość to 2048,• SQLQRYMODE – metoda, w jaki obsługiwane są zapytania do baz SQL; dostępne wartości to: NULL, SERVER,

LOCAL; parametr jest dostępny tylko wtedy, gdy jest zainstalowany co najmniej jeden ze sterowników SQL Link,• SYSFLAGS,• VERSION – wersja BDE.Obiekt Formats w zakładce Configuration zawiera parametry wykorzystywane podczas zamiany łańcuchówznakowych (napisów) na datę, czas i liczby. Są to (najpierw data):• FOURDIGITYEAR – określa sposób w jaki BDE traktuje daty z dwiema cyframi roku; jeżeli parametr jest równy:

• FALSE, to daty od 01/01/00 do 31/12/49 są traktowane jako należące do XXI wieku (np. data 25/03/02zostanie rozwinięta do postaci 25/03/2002), a daty z zakresu 01/01/50 do 12/31/99 – jako należące do XXwieku (np. data 11/10/98 zostanie rozwinięta na 11/10/1998); parametr ten nie jest brany pod uwagę wzapytaniach SQL,

• LEADINGZEROD – kontroluje, czy jednocyfrowy numer dnia ma mieć wiodące zero; jeżeli wartość jest równaTRUE, to podanie daty 3/12/2001 zostanie zinterpretowane jako 03/12/2001,

• LEADINGZEROM – tak samo jak LEADINGZEROD, ale w odniesieniu do miesiąca,• MODE – kontroluje kolejność w jakim występują w dacie dzień (D), miesiąc (M) i rok (R): 0 (MDR), 1 (DMR),

2 (RMD),• SEPARATOR – znak używany do oddzielenia dnia, miesiąca i roku,• YEARBIASED – stosowane w przypadku wprowadzenia daty z dwoma cyframi roku; jeżeli TRUE, to podanie

tylko dwóch cyfr roku spowoduje, że BDE uzupełni je dwoma cyframi wieku, określonymi w ten sam sposób,jaki został podany przy parametrze FOURDIGITYEAR.

Następujące parametry odnoszą się czasu:• AMSTRING – ciąg znaków na określenie porannych godzin (od północy do południa); parametr wykorzystywany

tylko wtedy, gdy TWELVEHOUR jest równe TRUE,• MILSECONDS – czy czas ma być wyświetlany z dokładnością do milisekund,• PMSTRING – ciąg znaków na określenie godzin wieczornych (od południa do północy); parametr

wykorzystywany tylko wtedy, gdy TWELVEHOUR jest równe TRUE,• SECONDS – czy czas ma być wyświetlany z dokładnością do sekund,• TWELVEHOUR – czy czas ma być rozwijany z wykorzystaniem zegara 12 godzinnego (TRUE), czy 24

godzinnego (FALSE).Następujące parametry odnoszą się do liczb:• DECIMALDIGITS – maksymalna liczba cyfr dziesiętnych,• DECIMALSEPARATOR – znak służący jako separator oddzielający część całkowitą liczby od jej części

dziesiętnej,• LEADINGZERON – czy liczby z przedziału (-1.0;1.0) mają mieć wyświetlane wiodące zero (np. .14 będzie

wyświetlone jako 0.14 wtedy, gdy parametr jest równy TRUE),

Page 13: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 13

• THOUSANDSEPARATOR – znak służący jako separator grupujący po trzy cyfry z części całkowitej liczby (jeżeliseparatorem będzie , to liczba 1950421.45 zostanie wyświetlona jako 1,950,421.45).

Parametry sterowników

Parametry związane z zainstalowanymi sterownikami znajdują się w części Drivers zakładki Configuration. Jest onapodzielona na dwie grupy: Native, zawierająca sterowniki dedykowanymi BDE oraz ODBC, zawierająca sterownikiodczytane przez ODBC Driver Socket. Poniższy opis będzie dotyczył tylko wybranych sterowników z części Native.Pod nazwą DBASE umieszczone są parametry sterownika służącego do obsługi baz danych opartych na tabelachdBase (od wersji dBase III do Visual dBase 7). Są to:• VERSION – numer wersji sterownika,• TYPE – typ serwera, który jest obsługiwany przez sterownik (w tym przypadku FILE),• LANGDRIVER – sterownik językowy używany do określenia zestawu znaków wykorzystywanych w bazach

danych oraz do określenia kolejności podczas sortowania,• LEVEL – typ formatu danych używany do tworzenia tabel tymczasowych; dostępne wartości:

• 7 (dBase 7.0),• 5 (dBase 5.0),• 4 (dBase 4.0),• 3 (dBase III i dBase III PLUS),

• MDX BLOCK SIZE – rozmiar w bajtach bloków używanych do tworzenia indeksów .MDX; liczba całkowitabędąca wielokrotnością 512,

• MEMO BLOCK FILE SIZE – rozmiar w bajtach bloków używanych do tworzenia plików .DBT obsługującychpola typu memo; liczba całkowita będąca wielokrotnością 512. Tylko jedna wartość parametru LANGDRIVERobsługuje polskie znaki diakrytyczne – jest to dBASE PLK cp852. Obsługuje ona stronę kodową numer 852(Latin 2). Jeżeli tabele są zapisane przy użyciu innego zestawu znaków (np. Mazovia), należy użyć sterownikaascii ANSI.

Pod nazwą PARADOX znajdują się parametry sterownika służącego do obsługi baz danych typu Paradox. Są to:• NET DIR – położenie pliku PDOXUSRS.NET używanego do kontrolowania dostępu do bazy; jeżeli baza danych

ma być jednocześnie wykorzystywana przez wielu użytkowników, to plik powinien znajdować się w katalogusieciowym dostępnym dla tych użytkowników (w trybie z uprawnieniami do zapisu i odczytu),

• VERSION – numer wersji sterownika,• TYPE – typ serwera, który jest obsługiwany przez sterownik (w tym przypadku FILE),• LANGDRIVER – sterownik językowy używany do określenia zestawu znaków wykorzystywanych w bazach

danych oraz do określenia kolejności podczas sortowania,• BLOCK SIZE – rozmiar w bajtach bloków dyskowych używanych do tworzenia tabel; wielokrotność liczby 1024,• FILL FACTOR – procent wypełnienia bloku dyskowego plików indeksowych, którego przekroczenie powoduje

dodanie nowego bloku; liczba całkowita od 1 do 100; im mniejsza wartość, tym większa wydajność indeksów, aletakże ich rozmiar,

• LEVEL – typ tabel tymczasowych,• STRICTINTEGRT – określa, czy tabele mogą być modyfikowane przez programy, które nie zapewniają

integralności referencyjnej (od klucza obcego); wartość TRUE nie pozwala na takie zmiany (zalecane).Dostępne są dwa sterowniki językowe obsługujące polską stronę kodową: Paradox Polish 852 (strona kodowa 852) iPdox ANSI Polish (strona kodowa używana w systemie Windows).Parametry sterownika zapewniającego dostęp do baz Interbase umieszczone są pod nazwą INTERBASE. Są tomiędzy innymi:• ENABLE BCD – określa sposób konwersji pól typu numerycznego; jeżeli parametr jest równy TRUE, to wartości

są przekształcane do formatu BCD (Binary Coded Decimal); dzięki temu można uniknąć błędów zaokrąglania

Page 14: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 14

związanych z reprezentacją zmiennoprzecinkową,• LANGDRIVER – nazwa sterownika językowego używana przez BDE do konwersji łańcuchów znakowych

odczytywanych z bazy i zapisywanych do bazy; strona kodowa używana w bazie może być inna niż stronakodowa używana w systemie Windows; nazwa sterownika językowego musi odpowiadać stronie kodowej, wjakiej dane są przechowywane w bazie,

• MAX ROWS – maksymalna liczba rekordów, jakie sterownik może pobrać dla każdego z zapytań wysłanych dobazy; za pomocą tego parametru można zapobiec nieuważnej próbie ściągnięcia na końcówkę zbyt dużej liczbywierszy; z drugiej strony zbyt mała wartość tego parametru może blokować próbę otwarcia tabeli, ponieważ ilośćinformacji związana z definicją tabeli (schema information) będzie przekraczała narzucone ograniczenie (wartość-1 oznacza brak ograniczeń),

• OPEN MODE – określa tryb otwarcia bazy przez sterownik: READ/WRITE (do zapisu i odczytu) albo READYONLY (tylko do odczytu),

• SERVER NAME – pełna nazwa serwera.

Definiowanie aliasów BDE

Dostęp BDE do danej bazy jest definiowany przez aliasy. Każdy z nich zawiera pewną liczbę parametrów, zależnąod rodzaju bazy, której alias dotyczy. Standardowe aliasy używane są do podłączenia do baz typu desktop (dBase,Paradox, FoxPro, tabele tekstowe). Zawierają następujące parametry:• DEFAULT DRIVER – określa typ plików (a jednocześnie rodzaj sterownika) składających się na bazę (do

wyboru: PARADOX, DBASE, FOXPRO, ASCIIDRV),• ENABLE BCD – określa sposób konwersji pól typu numerycznego; jeżeli parametr jest równy TRUE, to wartości

są przekształcane do formatu BCD (Binary Coded Decimal); dzięki temu można uniknąć błędów zaokrąglaniazwiązanych z reprezentacją zmiennoprzecinkową,

• PATH – ścieżka dostępu do bazy danych.Podłączeniu do baz typu Interbase służą aliasy typu INTERBASE. Parametry aliasów tego typu są takie same, jakopisane w części Parametry sterowników. Parametr SERVER NAME powinien zawierać pełną nazwę pliku (razem znazwą katalogu), w którym znajduje się baza danych.

Serwisowanie

Narzędzia administracyjne

Konsola

• fbtracemgr - Interaktywny wiersz poleceń do wykonywania komend i skryptów DDL i DDM,• gbak [7]:

•• Tworzenie kopii zapasowej,•• Przywracanie.

• gfix [8]:•• Naprawa,•• Uruchomienie i zatrzymanie serwera,•• Rozwiązanie stanu zawieszenia transakcji pomiędzy wieloma bazami,•• Zmianę liczby buforów i stron.

• gsec - Zarządzanie użytkownikami,• gstat [9] - Statystki dotyczące zawartości bazy danych,• isql - Interactive SQL,• nbackup - Przyrostowe kopie zapasowe,

Page 15: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 15

• nbak - Moduł wsparcia silnika bazy danych.

Graficzny interfejs użytkownika

• Workbench DB Workbench [10],• EMS SQL Manager for InterBase/Firebird [11],• Firebird SQL Studio [12],• FlameRobin [13],• IB Expert [14].

Błędy aplikacjiPo wystąpieniu błędu system pokazuje okno z jego opisem:Okno z opisem błędu z uwidocznionymi szczegółami - w tym wypadku w konfiguracji programu podanoniepoprawną nazwę pliku bazy danych. W dolnej części okna znajdują się przyciski:• Szczegóły – klikniecie powoduje wyświetlenie szczegółowych informacji o przyczynie błędu, co umożliwia

wyjaśnienie jego przyczyny,• Drukuj opis – kliknięcie powoduje wydrukowanie formularza z opisem błędu, który użytkownik powinien

przesłać faxem do INFO-SYSTEM.• Wyślij opis – powoduje przesłanie informacji o wystąpieniu błędu wraz z jego opisem i własnym komentarzem

do INFO-SYSTEM (wymaga połączenia internetowego). Kolejne opisy błędów zapisywane są w plikuERROR_LOG.XML – plik ten można przesłać mailem na adres [email protected] [15] w celu wyjaśnieniapowstałych problemów. Poniżej zapis odpowiadający błędowi z powyższego przykładu:

<?xml version="1.0" encoding="windows-1250" ?>

<exceptions created="2004-10-13T08:46:14" ><exception date="2004-10-13T08:46:14" type="EIBInterBaseError" msg="Błąd InterBase (IB Code=335544344, SQL Code=-902)" excMessage="I/O error for file &quot;C:\BAZA\PLACE\XIS_PLACE.GDB&quot,

Error while trying to open file

Nie można odnaleźć określonego pliku.

" >

<systemInfo id="2" name="KADRY I PŁACE" systemVer="2004.3.11.8.31" >

<connection id="sqn_link0" alias="C:\BAZA\PLACE\XIS_PLACE.GDB" kind="Interbase" protocol="Lokalny" />

</systemInfo>

</exception>

</exceptions>

W sytuacji powstania błędu wykonania programu należy:•• Zapisać funkcję i wykonywaną czynność, w trakcie której wystąpił błąd, ew. ustalić powtarzalność niepoprawnej

sytuacji,• Kliknąć Wyślij opis w celu wysłania opisu błędu przez Internet, lub wydrukować opis błędu, zgłaszanego przez

program i przesłać go faksem do INFO-SYSTEM,•• Przesłać mailem plik ERROR_LOG.XML, zapisywany w katalogu aplikacji.

Page 16: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 16

Administrowanie aplikacjamiW celu zarządzania konfiguracją aplikacji przygotowany został specjalny program Admin. Pozwala on na:•• Zdefiniowanie nazwy domyślnego użytkownika bazy danych i jego hasła,•• Wprowadzenie parametrów aplikacji,•• Wprowadzenie nazwy klienta, pojawiającej się np. na wydrukach z programu,•• Wprowadzenie operatorów, uprawnionych do pracy z aplikacją, i podanie zakresu ich uprawnień.Wprowadzając nowego operatora, należy najpierw podać dane operatora (nazwę, pełną nazwę i hasło) i zapamiętaćte dane, a następnie powtórnie wywołać dane operatora i podać jego uprawienia.

OptymalizacjaW katalogu głównym programu znajduje się plik back_db.bat, który wraz z plikami gbak.exe i gfix.exe (można jeznaleźć w katalogach instalacyjnych Firebirda) kontroluje poprawność bazy. Działa on na zasadzie usuwaniazbędnych elementów z bazy danych, ponadto odświeża indeksy, pomniejsza plik bazy i poprawia szybkość działaniaprogramu na bazie danych. Wykonywanie operacji back_db szczególnie często (nawet codziennie), zalecane jestprzy dużych instalacjach, gdzie baza danych może mieć wielkość powyżej 100 MB oraz jednocześnie pracuje na niejwielu operatorów (należy również wziąć pod uwagę operatorów innych systemów pracujących na tej samej bazie).Aby przeprowadzić kontrolę poprawności należy wykonać następujące czynności: 1. Z katalogu z programemAdmin, należy skopiować plik back_db do folderu w którym znajduje się baza (domyślnieC:\info-sys_groszek\info-sys_db), 2. Teraz należy skopiować z katalogu bin Firebird-a plik gbak i gfix, do folderu zbazą, 3. Następnie uruchamiamy plik back_db z linii komend bądź przy pomocy programu Windows Commander(lub innego menadżera plików) i jako parametr podajemy nazwę bazy (bez rozszerzenia). Powinno to wyglądaćnastępująco: back_db is_pdk, (gdzie is_pdk to nazwa bazy).

Uwaga!

•• Podczas działania skryptu inni użytkownicy nie mogą korzystać z bazy,•• Po wykonaniu powyższych czynności w folderze z bazą pojawią się nowe pliki. Jest to efekt działania procesu

kontroli poprawności. Plik $olddb$ jest kopią bazy tworzoną automatycznie przed całym procesem. Dzięki temumożliwe jest odtworzenie bazy na wypadek gdyby baza docelowa została uszkodzona,

•• Ważny jest plik z rozszerzeniem *.GBK - zawiera on kopię zapasową bazy danych i jest pomocny przyarchiwizacji bazy.

ArchiwizacjaArchiwizacja jest ważnym elementem pracy z programem. Umożliwia odzyskanie danych na wypadeknieprzewidzianych awarii systemu bądź też w sytuacji pomyłek ludzkich. W momencie, gdy baza znajduje się najednym komputerze (serwerze) to przy uruchamianiu programu tworzą się jej kopie. Kopie bazy zapisywane są wtym samym folderze, co baza główna, a różnią się od niej, nieznacznie zmienionym rozszerzeniem. I tak:• IS_PDA.GDB - jest to baza główna, na której pracujemy,• IS_PDA.GDBk1 – jest kopią bazy danych z dnia wczorajszego,• IS_PDA.GDBk2' – jest kopią bazy danych z dnia dzisiejszego (w momencie uruchamiania programu).

Dzięki częstym kopią bazy możliwy jest powrót do jej wcześniejszej wersji bez utraty wszystkich zapisanychdanych.

Page 17: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 17

Tworzenie kopii bazy danychKopię bazy danych tworzymy w jeden z wymienionych poniżej sposobów.

Uwaga!

Użytkownicy bazy danych przed przystąpieniem przez administratora bazy danych do tworzenia kopii,powinni dokończyć rozpoczęte operacje na programie, a następnie wyłączyć program. Pod żadnym warunkiemnie można przejść do tworzenia kopii bazy danych w sytuacji, kiedy użytkownicy wykonuję na niej operacjebądź nie wykonują operacji, ale program cały czas jest włączony.

Następnie możemy przejść do kroków podanych w punktach poniżej.•• Metoda kopiowania, wykonujemy:

•• Wyłączamy serwer bazy danych,•• Otwieramy lokalizację na dysku zawierającą plik bazy danych,•• Kopiujemy plik bazy danych do innej lokalizacji.

• Wykorzystanie narzędzia gbak

• Z Program Files\Firebird\Firebird_2_5\bin kopiujemy plik gbak.exe do lokalizacji w której jest plik bazydanych.

• Uruchamiamy CMD i przechodzimy do lokalizacji w której jest plik gbak.exe i baza danych.•• W oknie konsoli wpisujemy polecenie:

gbak -b <nazwa_pliku_kopii_bazy_danych>.<gdb>

<nazwa_pliku_z_ktorego_kopia_jest_tworzona>.gdb -user

<nazwa_uzytkownika_bazy_danych> -pas

<haslo_uzytkownika_bazy_danych>

Standardowa nazwa użytkownika to: SYSDBA, a hasło: masterkey. Przykład:

C:\baza_danych\gbak_test>gbak -b is_pda.gdb is_pda_new.gdb -user sysdba -pas masterkey

Uwaga!

• Istnieje także możliwość tworzenia kopii bazy danych przy użyciu narzędzia FlameRobin. Program ten dostarczainterfejs graficzny, dzięki któremu możemy łatwo stworzyć kopię bazy danych.

Odtwarzanie bazy danych z kopii

•• Odtwarzanie z kopii wykonanej z poziomu programu:Odtwarzanie powinno być wykonywane z aplikacji, pracującej z pustą bazą danych, bez zdefiniowanych powiązańreferencyjnych. Po wskazaniu katalogu z kopią danych program automatycznie pobiera dane wykonując ichewentualne odszyfrowanie. Po odtworzeniu danych należy z poziomu programu WISQL wykonać skrypt z plikuGENERATOR.SQL, powodujący odpowiednie ustawienie generatorów bazy danych, a także skrypt, definiującypowiązania relacyjne tabel – oddzielny dla każdej aplikacji.•• Odtwarzanie danych z poziomu kopii wykonane narzędziem gbak:

gbak -R <nazwa_kopii> <nazwa_bazy> -user <nazwa_użytkownika> -pas <hasło>

Automatyczne tworzenie kopii danych

Automatyczne tworzenie kopii danych, wykonywane przez program, ma miejsce jedynie dla instalacji pracującychna lokalnej bazie danych. W takiej sytuacji, podczas pierwszego odwołania do bazy w danym dniu, program kopiujeplik z bazą do pliku o nazwie <nazwa_bazy>.gdbk1. Jeżeli plik taki istnieje, otrzymuje nowa nazwę<nazwa_bazy>.gdbk2. W ten sposób na dysku zawsze znajdują się fizyczne kopie pliku bazy danych z ostatnichdwóch dni roboczych - odtworzenie takiej kopii to po prostu zmiana nazwy pliku.

Page 18: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 18

ShadowingSerwer Firebird pozwala na wykorzystywanie usługi tworzenia cienia bazy danych (ang. shadow), stanowiącego jejdokładną kopię. Cień jest uaktualniany równolegle z bazą, w sposób niezauważalny dla użytkownika – stanowizawsze identyczną kopię bazy danych. Cień bazy jest dobrym zabezpieczeniem przed uszkodzeniem dysku lubprzypadkowym usunięciem pliku bazy danych, nie stanowi jednak rozwiązania problemu wewnętrznych uszkodzeńbazy danych (mogących powstać wskutek np. awarii zasilania) – do cienia zapisywana jest dokładnie taka samainformacja, jak do bazy danych. Podstawowe polecenie, uruchamiające usługę tworzenia cienia bazy danych jestnastępujące:

CREATE SHADOW 1 ''C:\info-sys_groszek\info-sys_db\is_pdk.shd''

Polecenie można wykonać z poziomu programu WISQL.EXE lub DBVIEWER.EXE, po uprzednim nawiązaniupołączenia z bazą danych. Widoczny w poleceniu plik – wraz z pełną ścieżką – jest cieniem bazy danych – warto gozlokalizować na oddzielnym dysku, musi być jednak umieszczony na komputerze, na którym pracuje serwer bazydanych. Odtworzenie bazy danych z cienia polega na skopiowaniu go do odpowiedniej lokalizacji i zmianie nazwypliku.

Uwaga!

Wykorzystywanie usługi tworzenia cienia bazy danych nie może być traktowane jako jedyna metodazabezpieczenia bazy danych, wykonywanie kopii jest dalej konieczne!

Kontrola spójności i poprawności bazy danychDla ułatwienia wykonania porządkowania bazy danych przygotowano skrypt o nazwie BACK_DB.BAT, który należyskopiować do katalogu z bazą danych. Konieczne jest także skopiowanie programów GBAK.EXE i GFIX.EXE zkatalogu instalacyjnego Interbase/ Firebird (dla Firebird 1.5 wymagana jest biblioteka fbclient.dll). Skrypt należywykonywać z linii poleceń, podając jako parametr nazwę pliku bazy danych bez rozszerzenia (przyjęto takżestandardową nazwę i hasło użytkownika bazy danych). Oczywiście, w czasie wykonywania skryptu baza nie możebyć wykorzystywana.Kolejne fazy skryptu zamykają niedokończone transakcje, wykonują kontrolę i porządkowanie struktury bazydanych, a następnie pełną kopią bazy danych i przywrócenie bazy danych.

del $olddb$.ib

copy %1.GDB $olddb$.ib

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB

gfix -v -f - i -user sysdba -password masterkey %1.GDB

gfix -commit all -user sysdba -password masterkey %1.GDB

gfix -mend -i -user sysdba -password masterkey %1.GDB

gbak -B -user sysdba -pas masterkey %1.GDB %1.GBK

gbak -R -user sysdba -pas masterkey %1.GBK %1.GDB

gfix -o -user sysdba -password masterkey %1.GDB

Zalecamy regularne wykonywanie skryptu porządkującego – oprócz uporządkowania bazy i utworzenia kopii,podczas procesu odtwarzania tworzone są na nowo indeksy tabel, oraz usuwane są stare, niepotrzebne iniewykorzystywane dane. Wykonanie skryptu może więc dobrze wpłynąć na efektywność korzystania z bazydanych, dając krótsze czasy dostępu do danych, a także zmniejsza rozmiar pliku bazy danych.

Page 19: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 19

Zmiana hasła użytkownika SYSDBADomyślnym administratorem serwera bazy danych jest użytkownik SYSDBA, a jego domyślne hasło to: masterkey.Tylko ten użytkownik ma prawo tworzenia nowych użytkowników bazy danych oraz nadawania prawużytkowników. Domyślne hasło możemy zmienić. W celu zmiany domyślnego hasła super użytkownika korzystamyz dowolnego programu do obsługi serwera (np. IBConsole, Flamerobin) lub w oknie poleceń przechodzimy dofolderu, w którym zainstalowany jest F. (domyślnie jest to ścieżka: C:\Program Files\Firebird \Firebird_2_5\bin) iwydajemy polecenie:

gsec -user SYSDBA -pa stare_haslo -modify SYSDBA -pw nowe_haslo

Migracja do Firebird 2.5

Dlaczego Firebird w wersji 2.5?

Wersja 2.5 Firebirda zawiera nową architekturę SuperClassic. Przebudowana architektura owocuje zwiększeniemwydajności, szczególnie na wieloprocesorowych serwerach (serwery jednoprocesorowe, ale wielordzeniowe,również zyskują na wydajności). Na 32-bitowym (x86) systemie operacyjnym instalujemy w wersji SuperSerwer, ana 64-bitowym (x64) instalujemy w wersji SuperClassic (przy instalacji wybieramy ClassicSerwer, a w następnymokienku opcję: use SuperClassic).Serwer Firebird 2.5 pobieramy ze strony [16].

Istotne zmiany

1.1. ALTER VIEW i CREATE OR ALTER VIEW1.1. Widoki mogą pobierać dane z procedury wbudowanej,2. Użycie zmiennej w update: Wcześniej: Update op_oper set nazwa = Rafał; Update op_oper set opis = nazwa;

Teraz: Update op_oper set nazwa = Rafał, opis = nazwa.2.2. Autonomous trans action Umożliwia uruchomienia kodu w autonomicznej transakcji w module PSQL. Wyjątek

w bloku w autonomicznej transakcji spowoduje jej cofnięcie. Jeśli blok dobiegnie do końca, transakcja zostaniezatwierdzona.

3. Zapytania między dwoma bazami, niestety bez możliwości JOIN-owania: execute block returns (kod_opersmallint) as Begin FOR EXECUTE STATEMENT 'select kod_oper from op_oper' ON EXTERNAL DATASOURCE 'localhost:budzet AS USER 'sysdba' PASSWORD 'masterkey' INTO :kod_oper DO SUSPEND; end

Dla zainteresowanych lista zmian [17].

Kroki migracji

1. Koniecznie przed migracją na FB 2.5 należy wykonać indeksowanie bazy używając pliku: back_db_frs.bat(poniżej kod).1. Nie wykonanie indeksowania spowoduje na bazie błąd: malformed string. Błąd związany jest z kontrolą

zgodności kodowania znaków bazy danych, wymagana konwersja pozwala używać polskich znaków np. wprocedurach wbudowanych.

2. Przeprowadzenie indeksowania na FB 2.5 zmienia ODS bazy – nie ma możliwości powrotu serwera doniższej wersji.

2.2. Back_db dla FB 2.5 (listing w sekcji poniżej), uruchomienie:1.1. Pobieramy archiwum i je rozpakowujemy,2.2. Do jednego katalogu przenosimy:

1.1. Bazę danych,2. Skrypt back_db_frs.bat,

Page 20: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 20

3. Pliki fbclient.dll, gbak.exe, gfix.exe. Znajdują się w %Program Files%\Firebird\Firebird_2_5\bin.3. Uruchamiamy konsolę (naciskamy WIN + R, wpisujemy cmd, naciskamy ENTER),4. Polecaniem cd <nazwa_katalogu>, gdzie nazwę katalogu wybieramy klawiszem TAB po wpisaniu cd

przechodzimy do katalogu, w którym zgromadziliśmy pliki. Literę dysku zmieniamy poprzez d:, e:, f:, g: itd.,5. Wpisujemy back_db_frs.bat <nazwa_bazy_danych> (np. back_db_fb2.5.bat IS_PLACE) i naciskamy

ENTER.6.6. Konsola zwraca informację o wykonanych operacjach.

3. Migracja dla innego hasła niż masterkey - kopiujemy plik security2.fdb z katalogu firebird_2_1 do katalogufirebird_2_5.

4. Przed przeniesieniem baz danych na serwer 64-bitowy (x64) wykonujemy indeksowanie na serwerze 32-bitowym(x86) z zainstalowany FB 2.1 lub 2.5 – baza z ODS < 11 (czyli nieindeksowana na serwerze w ver. 2.1) niebędzie działać na serwerze FB 2.5 x64.

5. Dla programów: Kasa i KSZOB należy w pliku konfiguracyjnym XML dopisać w sekcji link parametr:charset=WIN1250, np:

<link id="1" alias="C:\IS_pdk.GDB" user="s3uMfJd3" password="qLmsrLq/3dDk" kind="Interbase" protocol="Lokalny" owner="TEST" name="podatki" charset="WIN1250" >

back_db_frs.bat

Uwaga!

Uruchamiany na bazie jednorazowo przy migracji z FB 2.1 na FB 2.5

rem ----------------------------------------------------------------------

rem Kontrola poprawności bazy

rem U.I. INFO-SYSTEM, 2015

rem ----------------------------------------------------------------------

rem Wykonanie kopii bazy , Odtworzenie z kopii

rem Parametr - nazwa bazy (bez rozszerzenia !!!)

rem Przed całą akcją tworzona jest kopia bazy o nazwie $olddb$.ib

rem Podczas działania inni uzytkownicy nie mogą korzystać z bazy !

rem ----------------------------------------------------------------------

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB

gfix -v -f -i -user sysdba -password masterkey %1.GDB

gfix -commit all -user sysdba -password masterkey %1.GDB

gfix -mend -i -f -user sysdba -password masterkey %1.GDB

gbak -B -i -user sysdba -pas masterkey %1.GDB %1.GBK

move %1.GDB $olddb$.ib

gbak -rep -fix_fss_metadata WIN1250 -page 8192 -user sysdba -password masterkey %1.GBK %1.GDB

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB

gfix -o -user sysdba -password masterkey %1.GDB

pause

Page 21: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Firebird zarządzanie 21

back_db_sec.bat

Uwaga!

Uruchamiany na bazie, która jest w wersji FB 2.5.

rem ----------------------------------------------------------------------

rem Kontrola poprawności bazy

rem U.I. INFO-SYSTEM, 2015

rem ----------------------------------------------------------------------

rem Wykonanie kopii bazy , Odtworzenie z kopii

rem Parametr - nazwa bazy (bez rozszerzenia !!!)

rem Przed całą akcją tworzona jest kopia bazy o nazwie $olddb$.ib

rem Podczas działania inni uzytkownicy nie mogą korzystać z bazy !

rem ----------------------------------------------------------------------

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB

gfix -v -f -i -user sysdba -password masterkey %1.GDB

gfix -commit all -user sysdba -password masterkey %1.GDB

gfix -mend -i -f -user sysdba -password masterkey %1.GDB

gbak -B -i -user sysdba -pas masterkey %1.GDB %1.GBK

move %1.GDB $olddb$.ib

gbak -rep -page 8192 -user sysdba -password masterkey %1.GBK %1.GDB

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB

gfix -o -user sysdba -password masterkey %1.GDB

pause

Przypisy[1] http:/ / www. firebirdnews. org/ docs/ fb2min. html[2] http:/ / opensource. org/[3] http:/ / opensource. org/ licenses/ IPL-1. 0[4] http:/ / www. firebirdsql. org/[5] mailto:aktywacja@groszek. pl[6] http:/ / groszek. pl[7] http:/ / www. firebirdsql. org/ manual/ gbak. html[8] http:/ / www. firebirdsql. org/ manual/ gfix. html[9] http:/ / www. firebirdsql. org/ manual/ gstat. html[10] http:/ / www. upscene. com/ database_workbench/ DB[11] http:/ / www. sqlmanager. net/ en/ products/ ibfb/ manager[12] http:/ / www. sqlly. com/[13] http:/ / www. flamerobin. org/[14] http:/ / www. ibexpert. net/ ibe/[15] mailto:serwis@groszek. pl[16] http:/ / www. firebirdsql. org/ en/ firebird-2-5-2/[17] http:/ / www. firebirdsql. org/ refdocs/ langrefupd25-new-in-25-ddl. html

Page 22: Firebird zarządzanie - Usługi Informatyczne INFO zarządzanie 2 Dystrybucje InterBase InterBase, znany i ceniony serwer baz danych, od pewnego czasu dostępny jest na licencji Open

Źródła i autorzy artykułu 22

Źródła i autorzy artykułuFirebird zarządzanie  Źródło: https://wiki.groszek.pl/index.php?oldid=5718  Autorzy: AJaniak, IŁaska, Lukaszg, Michalp