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