Szablon:Robocza

Główne funkcje

  • Pełna obsługa procedur przechowywanych i wyzwalaczy,
  • Pełna zgoda z standardem ACID,
  • Więzy integralności,
  • Wielo architekturowa
  • 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,
  • Połączeń i transakcji wyzwalacze,
  • Tabele tymczasowe,
  • TraceAPI - know what happens in your server

Źródło:Get to know Firebird in 2 minutes

Serwer bazy danych Firebird

  • 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/IP 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óźnienie nie 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.

Narzędzia administracyjne

Konsola

  • isql - Interactive SQL,
  • gbak and gsplit,
  • gbak - Firebird kopia zapasowa i przywracanie,
  • nbackup - przyrostowe kopie zapasowe,
  • nbak - moduł wsparcia silnika bazy danych,
  • gsec - zarządzanie użytkownikami,
  • gfix - różne parametry, naprawa,
  • gstat - statystyki,
  • fbtracemgr - interaktywny wiersz poleceń do wykonywania komend i skryptów DDL i DDM.

Graficzny interfejs użytkownika

  • FlameRobin (Open Source, dla Windowsa, Linuksa, OS X and FreeBSD),
  • IBExpert (wersja do użytku niekomercyjnego za darmo),
  • DB Workbench,
  • EMS SQL Management Studio,
  • Firebird Development Studio.

Firebird usługi

  • ibmgr - Windowsowy program do zarządzania serwerem bazy danych,
  • fbguard - usługa the Firebird Guardian,
  • fbserver - aktualna usługa the Firebird Superserver database,
  • fb_inet_server.exe - usługa the Firebird Classic database,
  • fbmgr - dotyczy tylko Linkuksa: uruchamia i wyłącza demona Firebirda,
  • fbsvcmgr - wprowadzone w Firebird 2.1; dostarcza wiersz poleceń dla Services API,
  • instsvc - konfiguracja usługi,
  • instreg - ustawienia paremtrów rejestru.

Operacja Firebirda

gbak

gfix

gfix -sweep

sweep

gstat

Instalacja na Linuksie

Szablon:SprawdzićSekcję W trakcie instalacji serwera bazy Firebird na platformie Linuks automatycznie generowane jest losowe hasło dostępu do serwera dla użytkownika „sysdba”. Hasło znajduje się w pliku:

/opt/firebird/SYSDBA.password

Aby było możliwe połączenie się z bazą U.I.INFO-SYSTEM zmieniamy hasło na standardowe „masterkey”. W tym celu uruchamiamy poniższy skrypt

/opt/firebird/bin/changeDBAPassword.sh script

Po uruchomieniu zostaniemy zapytani o aktualne hasło użytkownika „sysdba” – odczytujemy je z pliku SYSDBA.password następnie zostaniemy poproszeni o podanie nowego hasła więc wpisujemy nasze hasło „masterkey”. Następnie restartujemy serwer Firebird.

Administrator powinien utworzyd na serwerze katalog, w którym aplikacje korzystające z serwera będą tworzyd i przechowywad pliki baz danych. Katalog musi znajdowad się na dysku lokalnym serwera, a jego właścicielem powinien byd użytkownik z prawami do odczytu, zapisu i wykonywania.

Migracja do Firebird 2.5

Dlaczego Firebird w wersji 2.5?

Wersja 2.5 Firebirda zawiera nową architekturę SuperClassic. Przebudowana architektura owocuje zwiększeniem wydajnoś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, a na 64-bitowym (x64) instalujemy w wersji SuperClassic (przy instalacji wybieramy ClassicSerwer, a w następnym okienku opcję: use SuperClassic).

Serwer Firebird 2.5 pobieramy ze strony http://www.firebirdsql.org/en/firebird-2-5-2/

Istotne zmiany

  1. ALTER VIEW i CREATE OR ALTER VIEW
    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. 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 zostanie zatwierdzona.
  3. Zapytania między dwoma bazami, niestety bez możliwości JOIN-owania: execute block returns (kod_oper smallint) as Begin FOR EXECUTE STATEMENT 'select kod_oper from op_oper' ON EXTERNAL DATA SOURCE 'localhost:budzet’ AS USER 'sysdba' PASSWORD 'masterkey' INTO :kod_oper DO SUSPEND; end

Dla zainteresowanych lista zmian: http://www.firebirdsql.org/refdocs/langrefupd25-new-in-25-ddl.html

Kroki migracji

  1. Koniecznie przed migracją na FB 2.5 należy wykonać indeksowanie bazy używając nowego pliku 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. w procedurach wbudowanych.
    2. Przeprowadzenie indeksowania na FB 2.5 zmienia ODS bazy – nie ma możliwości powrotu serwera do niższej wersji.
  2. Back_db dla FB 2.5 (listing w sekcji poniżej), uruchomienie:
    1. Pobieramy archiwum i je rozpakowujemy,
    2. Do jednego katalogu przenosimy:
      1. Bazę danych,
      2. Skrypt back_db_fb2.5.bat,
      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_fb2.5.bat <nazwa_bazy_danych> (np. back_db_fb2.5.bat IS_PLACE) i naciskamy ENTER.
    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 katalogu firebird_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) nie bę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 FB 2.5 listing

Zawartość pliku back_db_fb2.5.bat copy %1.GDB $olddb$.ib
gfix -shut single -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
gbak -REP -user sysdba -pas masterkey %1.GBK %1.GDB -FIX_FSS_DATA WIN1250 -FIX_FSS_METADATA WIN1250
gfix -shut full -force 0 -user sysdba -password masterkey %1.GDB
gfix -online -user sysdba -password masterkey %1.GDB
pause