Zintegrwany system bsługi przedsiębirstwa Migracja d Firebird 2.x Wersja 01.00 z dnia 02.12.2008
Spis treści Spis treści... 2 I. Wstęp.... 3 II. Przejście z Firebird 1.5.x na Firebird 2.x... 3 III. Zalecana klejnść pstępwania... 4 System-1 Spółka z.. www.system-1.pl 061 83 11 222; 032 202 62 99
I. Wstęp. Serwer bazy danych Firebird 1.0 zstał zbudwany na bazie kdu serwera InterBase 6.0 i udstępniny w płwie 2002 rku. Od teg mmentu jeg autrzy systematycznie rzwijają prjekt, zwiększając jeg funkcjnalnść raz przyspieszając działanie serwera. W efekcie tych prac w 2004 rku udstępniny zstał Firebird 1.5, a w rku 2007 przedstawina zstała pierwsza wersja 2.0. Od pczątku pjawienia się Firebird w wersji 2 sprawdzaliśmy i testwaliśmy pracę systemu Veritum z tym mtrem bazy danych. Zwracaliśmy uwagę przede wszystkim na 3 aspekty jeg pracy: zwiększenie wydajnści stabilnść pracy zgdnść z dtychczaswymi rzwiązaniami W mininym kresie pjawiały się klejne wersje: 2.0.x, następnie 2.1.0. Aktualnie dstępna wersja 2.1.1, wydaje się być na tyle sprawdzna i stabilna, Ŝe plecamy wszystkim uŝytkwnikm Veritum przejście z dtychczaswej wersji 1.5.x na wersję 2.1.1. Przeprwadzne przez nas praktyczne testy pzwalają na wyciągnięcie wnisku, iŝ te same zapytania d bazy danych w Firebird 2.x są realizwane k. 35% szybciej niŝ w pprzednich wersjach 1.5.x. Jest t na tyle isttna róŝnica, Ŝe zachęca d zastswania nweg mtru bazy danych. Pnadt wersja 2.x wprwadza szereg rzszerzeń dtychczaswych mŝliwści raz implementuje wiele nwych cech. Pza wspmnianym pwyŝej wzrstem wydajnści, jak isttną zachętą t zainstalwania wersji 2.x pwinny być: nwy /bezpieczniejszy/ spsób bsługi uŝytkwników i szyfrwania haseł; nwy tryb pracy jednstanwiskwej w pełni blkujący dstęp innych uŝytkwników d bazy danych, szczególnie przydatny celów administracyjnych /patrz dkument: Firebird-2.1-ReleaseNtes.pdf/; mŝliwść uŝywania lkalneg prtkółu przy pdłączeniu terminalwym /pzwala na zdalne wyknywanie wszystkich przebiegów administracyjnych/; nwa mŝliwść wyknywania przyrstwych kpii bazy danych /patrz dkument: Firebird-nbackup.pdf/; II. Przejście z Firebird 1.5.x na Firebird 2.x Decyzja przejściu na Firebird w wersji 2.x musi być dbrze przemyślana, gdyŝ teretycznie /wg załŝeń twórców/ jest t peracja bez mŝliwści pwrtu. Wynika t przede wszystkim z trzech isttnych pwdów: 1. Inna wewnętrzna struktura zapisu na dysku (ODS) pliku bazy danych: dla Firebird 1.5.x ODS 10 dla Firebird 2.x ODS 11 2. Inna bsługa zapisu i szyfrwania haseł: uŝytkwnicy zapisani w bazie security.fdb uŝytkwnicy zapisani w bazie security2.fdb Migracja d Firebird 2.x. Wersja 01.00 Strna 3 z 8
3. Zmieniny frmat pliku, w którym zapisywana jest kpia (backup). Prjektanci Firebird nie zapewnili zgdnści "wstecz" plików kpii, w związku z tym nie ma mŝliwści pwrtu d stareg frmatu pprzez prste dtwrzenie danych z kpii w nwym frmacie. Znane są nam praktyczne spsby pwrtu d wersji 1.5, ale traktujemy je wyłącznie jak działania awaryjne. Uwaga: Przed przepisaniem bazy d wersji 2.x naleŝy bezwzględnie wyknać kpię danych raz sprawdzić ich pprawnść (zalecany przebieg backup/ restre na dtychczaswej wersji 1.5.x). III. Zalecana klejnść pstępwania P wyknaniu i sprawdzeniu kpi bazy naleŝy wyknać następujący zakres czynnści na serwerze bazy danych : 1. Odinstalwać aktualnie psiadaną wersję 1.5.x deinstalatr nie usunie autmatycznie następujących plików: C:\Prgram Files\Firebird\Firebird_1_5 aliases.cnf firebird.cnf firebird.lg security.fdb C:\Prgram Files\Firebird\Firebird_1_5\UDF S1UDF.dll Pliki te będą ptrzebne w nwej instalacji. 2. Zainstalwać wersję 2.x /zalecamy 2.1.1/ pdczas instalacji zstanie zaprpnwany nwy flder C:\Prgram Files\Firebird\Firebird_2_1 mŝna g czywiście zmienić, instalacji nie naleŝy jednak wyknać d flderu w którym była zainstalwana wersja 1.5.x. Nwa instalacja utwrzy analgiczny układ pdkatalgów, w których zstaną zapisane dmyślne pliki: aliases.cnf, firebird.cnf, firebird.lg, security2.fdb. NaleŜy wówczas dknać skpiwania następujących plików z dpwiadających flderów instalacji 1.5.x d instalacji 2.x: aliases.cnf - w przypadku wykrzystywania definiwania własnych aliasów security.fdb w nwej instalacji znajduje się baza uŝytkwników nazwie security2.fdb S1UDF.dll biblitekę funkcji zewnętrznych W zaleŝnści d systemu peracyjneg na którym pracuje Firebird, spsób umieszczenia bibliteki jest następujący: dla Windws bezpśrednie przegranie pliku dla Linux - bezpśrednie przegranie pliku raz utwrzenie dwiązania symbliczneg libfbclient.s.1 d pliku libfbclient.s. Dwiązanie naleŝy utwrzyć jak superuser (rt) w pdflderze lib flderu firebirda, dmyślnie jest t pt/firebird_2_1/lib. System-1 Spółka z.. www.system-1.pl 061 83 11 222; 032 202 62 99
np.: rt@kubuntu:/pt/firebird/lib# ln -s libfbclient.s libfbclient.s.1 3. Przygtwać bazę uŝytkwników w nwym frmacie na pdstawie dtychczaswej bazy security.fdb, wyknując: uruchmić VeritumAdmi.exe na dwlnej bazie jak uŝytkwnik ADM hasł nie będzie pprawne /uruchmienie zstanie wyknane na dmyślnie utwrznej bazie uŝytkwników security2.fdb/, ale prgram umŝliwi dstęp d kna Veritum instalacje. W knie tym naleŝy wyknać dwie czynnści: wyknać kpię dtychczaswej bazy uŝytkwników security.fdb, wykrzystując funkcję Kpiwanie bazy /naleŝy pamiętać, Ŝe hasł uŝytkwnika SYSDBA p instalacji będzie dmyślne: masterkey/ a następne ją dzyskać pd nwą nazwę, np.: security_new.fdb Migracja d Firebird 2.x. Wersja 01.00 Strna 5 z 8
zakńczyć pracę prgramu VeritumAdmin raz przejść d wiersza pleceń systemu w celu wyknania skryptu mdyfikująceg bazę uŝytkwników security_database.sql - skrypt ten pdczas instalacji Firebird 2.x zstał umieszczny w flderze C:\Prgram Files\Firebird\Firebird_2_1\misc\upgrade\security. Przykład plecenia wyknująceg skrypt, p przejściu d flderu C:\Prgram Files\Firebird\Firebird_2_1: \bin>isql.exe i misc\upgrade\security\security_database.sql security_new.fdb -user SYSDBA - passwrd masterkey zatrzymać mtr bazy danych Firebird, skaswać /przenieść tymczasw d innej lkalizacji/ dmyślną bazę uŝytkwników security2.fdb raz zmdyfikwaną bazę security_new.fdb przemianwać na security2.fdb uruchmić pnwnie Firebird uruchmić VeritumAdmin i sprawdzić pprawnść pracy systemu pwinien pracwać z pełną listą dtychczaswych uŝytkwników raz ich hasłami 4. Ustawić parametry pliku firebird.cnf. Plik firebird.cnf jest plikiem tekstwym, pisującym parametry knfiguracyjne dla mtru bazy danych. Jest n zapisywany pdczas instalacji w rdzimym flderze /np. C:\Prgram Files\Firebird\Firebird_2_1/ i zawiera kmplet dmyślnych parametrów z krótkim pisem wszystkie wiersze rzpczynają się d znaku # znaczającym wiersz kmentarza. W celu włączenia daneg parametru naleŝy skpiwać wiersz z dpwiednim parametrem, usunąć znak kmentarza raz nadać parametrwi dpwiednią wartść. Zmienine wartści parametrów będą uwzględnine p pnwnym uruchmieniu Firebird. Z listy dstępnych parametrów zalecamy zwrócić uwagę na następujące: System-1 Spółka z.. www.system-1.pl 061 83 11 222; 032 202 62 99
CpuAffinityMask parametr kreślający, które prcesry /rdzenie/ mają być wykrzystywane przez serwer Firebird dtyczy wyłącznie pracy na Windws. Przypisana wartść kreśla mapę bitwą przyprządkwaną d klejnych prcesrów, zgdnie z pniŝszą tabelką. Wartść CPU4 CPU3 CPU2 CPU1 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 np.: 4 0 1 0 0 CpuAffinityMask = 3 znacza wykrzystanie 1 i 2 prcesra. PrcessPrirityLevel parametr kreślający prirytet z jakim ma zstać uruchminy prces serwera Firebird dtyczy wyłącznie pracy na Windws. Parametr przyjmuje trzy wartści: 0 = prirytet nrmalny 1 = wyski prirytet -1 = niski prirytet itd. IpcName - parametr kreślający nazwę uŝywaną przez lkalny prtkół. Zmiana dmyślnej wartści FIREBIRD na Glbal\FIREBIRD pzwala na uŝywanie lkalneg prtkłu przy płączeniu terminalwym. MŜna wówczas zdalnie wyknywać knserwację bazy danych. Teg ustawienia naleŝy równieŝ uŝywać przy lkalnej pracy w systemie peracyjnym Windws Vista. RelaxedAliasChecking - parametr umŝliwiający dwłanie d tabeli w zapytaniu SQL za pmcą nazwy tabeli nawet jeśli wcześniej dla tabeli zdefiniwan alias. Przykładw umŝliwi wyknanie takieg zapytania: SELECT OSOBY.OSOBA FROM OSOBY O Zmiana dmyślnej wartści teg parametru nie jest zalecana przez autrów Firebird pniewaŝ nie ma gwarancji, Ŝe będzie n dstępny w klejnych wersjach. Ten parametr ma jednak duŝe znaczenie w systemie Veritum ze względu na duŝą ilść zapisanych w bazie danych samdzielnie definiwanych wydruków. PniewaŜ we wcześniejszych wersjach Firebird nie był sygnalizwany błąd pdczas zamienneg uŝywania w zapytaniach SQL nazw tabel raz przypisanych im aliasów, część wydruków mŝe zawierać takie zapytania. Wydruki rzpwszechniane wraz z systemem staraliśmy się juŝ pd tym kntem zweryfikwać, ale kaŝdy z uŝytkwników na szereg własnych /indywidualnych/ wydruków które równieŝ mgą zawierać zamiennie uŝywane nazwy tabel i ich aliasy. W przypadku wystąpienia błędów, zalecamy na pewien kres zmianę dmyślnej wartści na RelaxedAliasChecking = 1 Migracja d Firebird 2.x. Wersja 01.00 Strna 7 z 8
TcpRemteBufferSize parametr kreślający wielkść bufra dla prtkółu TCP/IP d wysyłania i dbierania bufrów zarówn klienta jak i serwera. Mtr bazy danych mŝe wysyłać kilka wierszy danych w jednym pakiecie. Im większy jest rzmiar pakietu, tym większa ilść danych jest wysyłane w jednym pakiecie. Zakres wielkści bufra zawiera się w wartściach d 1448 d 32767. 5. Przepisać bazę danych systemu Veritum d nwej struktury wewnętrzneg zapisu z ODS10 na ODS11. Przepisanie plega na wyknaniu przebiegu backup / restre z uruchminym mtrem bazy danych Firebird 2.x. Baza pracująca dtychczas pd kntrlą Firebird 1.5.x mŝe być uruchmina i pracwać pd kntrlą Firebird 2.x /dwrtna sytuacja nie jest mŝliwa/. Przebieg ten mŝna wyknać przy pmcy prgramu VeritumAdmin w spsób pisany pwyŝej dla bazy security.fdb czyli dpwiedni wyknać funkcje: kpiwanie bazy dzyskiwanie bazy Baza p przebiegu restre będzie juŝ gtwa d dalszej eksplatacji w strukturze ODS11. System-1 Spółka z.. www.system-1.pl 061 83 11 222; 032 202 62 99