Zintegrowany system obsługi przedsiębiorstwa Migracja do Firebird
Transkrypt
Zintegrowany system obsługi przedsiębiorstwa Migracja do Firebird
Zintegrowany system obsługi przedsiębiorstwa Migracja do 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 kolejność postępowania............................................................. 4 System-1 Spółka z o.o. www.system-1.pl 061 83 11 222; 032 202 62 99 I. Wstęp. Serwer bazy danych Firebird 1.0 został zbudowany na bazie kodu serwera InterBase 6.0 i udostępniony w połowie 2002 roku. Od tego momentu jego autorzy systematycznie rozwijają projekt, zwiększając jego funkcjonalność oraz przyspieszając działanie serwera. W efekcie tych prac w 2004 roku udostępniony został Firebird 1.5, a w roku 2007 przedstawiona została pierwsza wersja 2.0. Od początku pojawienia się Firebird w wersji 2 sprawdzaliśmy i testowaliśmy pracę systemu Veritum z tym motorem bazy danych. Zwracaliśmy uwagę przede wszystkim na 3 aspekty jego pracy: o o o zwiększenie wydajności stabilność pracy zgodność z dotychczasowymi rozwiązaniami W minionym okresie pojawiały się kolejne wersje: 2.0.x, następnie 2.1.0. Aktualnie dostępna wersja 2.1.1, wydaje się być na tyle sprawdzona i stabilna, Ŝe polecamy wszystkim uŜytkownikom Veritum przejście z dotychczasowej wersji 1.5.x na wersję 2.1.1. Przeprowadzone przez nas praktyczne testy pozwalają na wyciągnięcie wniosku, iŜ te same zapytania do bazy danych w Firebird 2.x są realizowane o ok. 35% szybciej niŜ w poprzednich wersjach 1.5.x. Jest to na tyle istotna róŜnica, Ŝe zachęca do zastosowania nowego motoru bazy danych. Ponadto wersja 2.x wprowadza szereg rozszerzeń dotychczasowych moŜliwości oraz implementuje wiele nowych cech. Poza wspomnianym powyŜej wzrostem wydajności, jako istotną zachętą to zainstalowania wersji 2.x powinny być: o o o o II. nowy /bezpieczniejszy/ sposób obsługi uŜytkowników i szyfrowania haseł; nowy tryb pracy jednostanowiskowej w pełni blokujący dostęp innych uŜytkowników do bazy danych, szczególnie przydatny celów administracyjnych /patrz dokument: Firebird-2.1-ReleaseNotes.pdf/; moŜliwość uŜywania lokalnego protokółu przy podłączeniu terminalowym /pozwala na zdalne wykonywanie wszystkich przebiegów administracyjnych/; nowa moŜliwość wykonywania przyrostowych kopii bazy danych /patrz dokument: Firebird-nbackup.pdf/; Przejście z Firebird 1.5.x na Firebird 2.x Decyzja o przejściu na Firebird w wersji 2.x musi być dobrze przemyślana, gdyŜ teoretycznie /wg załoŜeń twórców/ jest to operacja bez moŜliwości powrotu. Wynika to przede wszystkim z trzech istotnych powodów: 1. o o 2. o o Inna wewnętrzna struktura zapisu na dysku (ODS) pliku bazy danych: dla Firebird 1.5.x – ODS 10 dla Firebird 2.x – ODS 11 Inna obsługa zapisu i szyfrowania haseł: uŜytkownicy zapisani w bazie security.fdb uŜytkownicy zapisani w bazie security2.fdb Migracja do Firebird 2.x. Wersja 01.00 Strona 3 z 8 3. Zmieniony format pliku, w którym zapisywana jest kopia (backup). Projektanci Firebird nie zapewnili zgodności "wstecz" plików kopii, w związku z tym nie ma moŜliwości powrotu do starego formatu poprzez proste odtworzenie danych z kopii w nowym formacie. Znane są nam praktyczne sposoby powrotu do wersji 1.5, ale traktujemy je wyłącznie jako działania awaryjne. Uwaga: Przed przepisaniem bazy do wersji 2.x naleŜy bezwzględnie wykonać kopię danych oraz sprawdzić ich poprawność (zalecany przebieg backup/ restore na dotychczasowej wersji 1.5.x). III. Zalecana kolejność postępowania Po wykonaniu i sprawdzeniu kopi bazy naleŜy wykonać następujący zakres czynności na serwerze bazy danych : 1. Odinstalować aktualnie posiadaną wersję 1.5.x – deinstalator nie usunie automatycznie następujących plików: C:\Program Files\Firebird\Firebird_1_5 o o o o aliases.conf firebird.conf firebird.log security.fdb C:\Program Files\Firebird\Firebird_1_5\UDF o S1UDF.dll Pliki te będą potrzebne w nowej instalacji. 2. Zainstalować wersję 2.x /zalecamy 2.1.1/ – podczas instalacji zostanie zaproponowany nowy folder C:\Program Files\Firebird\Firebird_2_1 – moŜna go oczywiście zmienić, instalacji nie naleŜy jednak wykonać do folderu w którym była zainstalowana wersja 1.5.x. Nowa instalacja utworzy analogiczny układ podkatalogów, w których zostaną zapisane domyślne pliki: aliases.conf, firebird.conf, firebird.log, security2.fdb. NaleŜy wówczas dokonać skopiowania następujących plików z odpowiadających folderów instalacji 1.5.x do instalacji 2.x: o o o aliases.conf - w przypadku wykorzystywania definiowania własnych aliasów security.fdb – w nowej instalacji znajduje się baza uŜytkowników o nazwie security2.fdb S1UDF.dll – bibliotekę funkcji zewnętrznych W zaleŜności od systemu operacyjnego na którym pracuje Firebird, sposób umieszczenia biblioteki jest następujący: o o dla Windows – bezpośrednie przegranie pliku dla Linux - bezpośrednie przegranie pliku oraz utworzenie dowiązania symbolicznego libfbclient.so.1 do pliku libfbclient.so. Dowiązanie naleŜy utworzyć jako superuser (root) w podfolderze lib folderu firebirda, domyślnie jest to opt/Firebird_2_1/lib. System-1 Spółka z o.o. www.system-1.pl 061 83 11 222; 032 202 62 99 np.: root@Kubuntu:/opt/firebird/lib# ln -s libfbclient.so libfbclient.so.1 3. o o Przygotować bazę uŜytkowników w nowym formacie na podstawie dotychczasowej bazy security.fdb, wykonując: uruchomić VeritumAdmi.exe na dowolnej bazie jako uŜytkownik ADM – hasło nie będzie poprawne /uruchomienie zostanie wykonane na domyślnie utworzonej bazie uŜytkowników security2.fdb/, ale program umoŜliwi dostęp do okna Veritum instalacje. W oknie tym naleŜy wykonać dwie czynności: wykonać kopię dotychczasowej bazy uŜytkowników security.fdb, wykorzystując funkcję Kopiowanie bazy /naleŜy pamiętać, Ŝe hasło uŜytkownika SYSDBA po instalacji będzie domyślne: masterkey/ a następne ją odzyskać pod nową nazwę, np.: security_new.fdb Migracja do Firebird 2.x. Wersja 01.00 Strona 5 z 8 o zakończyć pracę programu VeritumAdmin oraz przejść do wiersza poleceń systemu w celu wykonania skryptu modyfikującego bazę uŜytkowników security_database.sql - skrypt ten podczas instalacji Firebird 2.x został umieszczony w folderze C:\Program Files\Firebird\Firebird_2_1\misc\upgrade\security. Przykład polecenia wykonującego Files\Firebird\Firebird_2_1: skrypt, po przejściu do folderu C:\Program \bin>isql.exe –i misc\upgrade\security\security_database.sql security_new.fdb -user SYSDBA password masterkey • • • 4. zatrzymać motor bazy danych Firebird, skasować /przenieść tymczasowo do innej lokalizacji/ domyślną bazę uŜytkowników security2.fdb oraz zmodyfikowaną bazę security_new.fdb przemianować na security2.fdb uruchomić ponownie Firebird uruchomić VeritumAdmin i sprawdzić poprawność pracy systemu – powinien pracować z pełną listą dotychczasowych uŜytkowników oraz ich hasłami Ustawić parametry pliku firebird.conf. Plik firebird.conf jest plikiem tekstowym, opisującym parametry konfiguracyjne dla motoru bazy danych. Jest on zapisywany podczas instalacji w rodzimym folderze /np. C:\Program Files\Firebird\Firebird_2_1/ i zawiera komplet domyślnych parametrów z krótkim opisem – wszystkie wiersze rozpoczynają się od znaku # oznaczającym wiersz komentarza. W celu włączenia danego parametru naleŜy skopiować wiersz z odpowiednim parametrem, usunąć znak komentarza oraz nadać parametrowi odpowiednią wartość. Zmienione wartości parametrów będą uwzględnione po ponownym uruchomieniu Firebird. Z listy dostępnych parametrów zalecamy zwrócić uwagę na następujące: System-1 Spółka z o.o. www.system-1.pl 061 83 11 222; 032 202 62 99 o CpuAffinityMask – parametr określający, które procesory /rdzenie/ mają być wykorzystywane przez serwer Firebird – dotyczy wyłącznie pracy na Windows. Przypisana wartość określa mapę bitową przyporządkowaną do kolejnych procesorów, zgodnie z poniŜszą tabelką. Wartość CPU4 CPU3 CPU2 CPU1 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 itd. np.: o CpuAffinityMask = 3 – oznacza wykorzystanie 1 i 2 procesora. ProcessPriorityLevel – parametr określający priorytet z jakim ma zostać uruchomiony proces serwera Firebird – dotyczy wyłącznie pracy na Windows. Parametr przyjmuje trzy wartości: 0 = priorytet normalny 1 = wysoki priorytet -1 = niski priorytet o o o IpcName - parametr określający nazwę uŜywaną przez lokalny protokół. Zmiana domyślnej wartości FIREBIRD na Global\FIREBIRD pozwala na uŜywanie lokalnego protokołu przy połączeniu terminalowym. MoŜna wówczas zdalnie wykonywać konserwację bazy danych. Tego ustawienia naleŜy równieŜ uŜywać przy lokalnej pracy w systemie operacyjnym Windows Vista. RelaxedAliasChecking - parametr umoŜliwiający odwołanie do tabeli w zapytaniu SQL za pomocą nazwy tabeli nawet jeśli wcześniej dla tabeli zdefiniowano alias. Przykładowo umoŜliwi wykonanie takiego zapytania: SELECT OSOBY.OSOBA FROM OSOBY O Zmiana domyślnej wartości tego parametru nie jest zalecana przez autorów Firebird poniewaŜ nie ma gwarancji, Ŝe będzie on dostępny w kolejnych wersjach. Ten parametr ma jednak duŜe znaczenie w systemie Veritum ze względu na duŜą ilość zapisanych w bazie danych samodzielnie definiowanych wydruków. PoniewaŜ we wcześniejszych wersjach Firebird nie był sygnalizowany błąd podczas zamiennego uŜywania w zapytaniach SQL nazw tabel oraz przypisanych im aliasów, część wydruków moŜe zawierać takie zapytania. Wydruki rozpowszechniane wraz z systemem staraliśmy się juŜ pod tym kontem zweryfikować, ale kaŜdy z uŜytkowników na szereg własnych /indywidualnych/ wydruków które równieŜ mogą zawierać zamiennie uŜywane nazwy tabel i ich aliasy. W przypadku wystąpienia błędów, zalecamy na pewien okres zmianę domyślnej wartości na RelaxedAliasChecking = 1 Migracja do Firebird 2.x. Wersja 01.00 Strona 7 z 8 o 5. TcpRemoteBufferSize – parametr określający wielkość bufora dla protokółu TCP/IP do wysyłania i odbierania buforów zarówno klienta jak i serwera. Motor bazy danych moŜe wysyłać kilka wierszy danych w jednym pakiecie. Im większy jest rozmiar pakietu, tym większa ilość danych jest wysyłane w jednym pakiecie. Zakres wielkości bufora zawiera się w wartościach od 1448 do 32767. Przepisać bazę danych systemu Veritum wewnętrznego zapisu – z ODS10 na ODS11. do nowej struktury Przepisanie polega na wykonaniu przebiegu backup / restore z uruchomionym motorem bazy danych Firebird 2.x. Baza pracująca dotychczas pod kontrolą Firebird 1.5.x moŜe być uruchomiona i pracować pod kontrolą Firebird 2.x /odwrotna sytuacja nie jest moŜliwa/. Przebieg ten moŜna wykonać przy pomocy programu VeritumAdmin w sposób opisany powyŜej dla bazy security.fdb – czyli odpowiednio wykonać funkcje: o kopiowanie bazy o odzyskiwanie bazy Baza po przebiegu restore będzie juŜ gotowa do dalszej eksploatacji w strukturze ODS11. System-1 Spółka z o.o. www.system-1.pl 061 83 11 222; 032 202 62 99