Migracja Firebird 2.5 do wersji Firebird 3: Różnice pomiędzy wersjami
| (Nie pokazano 29 wersji utworzonych przez 2 użytkowników) | |||
| Linia 25: | Linia 25: | ||
[[Plik:Info-sys fb25to3.png|ramka|brak|FBBack - okno aplikacji]] | [[Plik:Info-sys fb25to3.png|ramka|brak|FBBack - okno aplikacji]] | ||
==Skrypty (opcja alternatywna dla zaawansowanych)== | ==Skrypty (opcja alternatywna dla zaawansowanych, zapewnia szybszy proces tworzenia plików)== | ||
===Na serwerze z Firebird 2.5.9=== | ===Na serwerze z Firebird 2.5.9=== | ||
Pierwszym krokiem jest wykonanie skryptu naprawczego: | Pierwszym krokiem jest wykonanie skryptu naprawczego (skrypt jest potrzebny tylko, gdy w bazie istnieje tabela IS_KONTA_W): | ||
<syntaxhighlight lang="sql">alter table is_konta_w add UWAGI_BUFOR varchar(30000); | <syntaxhighlight lang="sql">alter table is_konta_w add UWAGI_BUFOR varchar(30000); | ||
update is_konta_w set uwagi_bufor = uwagi_ksg; | update is_konta_w set uwagi_bufor = uwagi_ksg; | ||
alter table is_konta_w drop uwagi_ksg;</syntaxhighlight> | alter table is_konta_w drop uwagi_ksg; | ||
alter table is_konta_w add UWAGI_KSG BLOB SUB_TYPE 1 SEGMENT SIZE 4096; | |||
update is_konta_w set uwagi_ksg = uwagi_bufor; | |||
alter table is_konta_w drop uwagi_bufor;</syntaxhighlight> | |||
Następnie polecenie wykonujące kopię bazy danych ''(gdzie: usr - nazwa użytkownika, psw - hasło, database - pełna ścieżka do pliku bazy danych, backupfile - pełna ścieżka do tworzonej kopii bazy)'': | Następnie w konsoli udajemy się do lokalizacji z zainstalowany Firebird, najczęściej jest to: | ||
cd C:\Program Files (x86)\Firebird\Firebird_2_5\bin | |||
Uruchamiamy polecenie wykonujące kopię bazy danych ''(gdzie: usr - nazwa użytkownika, psw - hasło, database - pełna ścieżka do pliku bazy danych, backupfile - pełna ścieżka do tworzonej kopii bazy)'': | |||
gbak -user usr -pas psw -b -v -g -se service_mgr database backupfile | gbak -user usr -pas psw -b -v -g -se service_mgr database backupfile | ||
===Na serwerze z Firebird 3.0=== | ===Na serwerze z Firebird 3.0=== | ||
Instalujemy i uruchamiamy Firebirda 3 ( | Instalujemy i uruchamiamy Firebirda 3 (wcześniej odinstalowujemy bieżącą wersję). W konsoli uruchamiamy katalog z Firebird 3.0 (domyślnie jest w katalogu): | ||
cd C:\Program Files (x86)\Firebird\Firebird_3* | |||
Wykonujemy polecenie odtworzenia bazy danych z kopii zapasowej (gdzie: usr - nazwa użytkownika, psw - hasło, database - pełna ścieżka do pliku kopii z poprzedniego korku, database1 - pełna ścieżka do nowo tworzonej bazy):: | |||
gbak -user usr -pas psw -p 16384 -c -v -se service_mgr backupfile database1 | gbak -user usr -pas psw -p 16384 -c -v -se service_mgr backupfile database1 | ||
Po | |||
<syntaxhighlight lang="sql"> | ===Komputery klienckie=== | ||
Po ukończeniu migracji baz na serwerze należy odinstalować klienta Firebird 2.5 z urządzeń końcowych. Do podłączenia się przez użytkowników do baz w wersji 3.0 najczęściej wystarczy dodana biblioteka GDS32.DLL przy programach Info-System. Biblioteka musi znaleźć się przy każdym z programów. Jeżeli w dalszym ciągu będzie występował jeden z poniższych błędów: | |||
<syntaxhighlight lang="sql">"connection rejected by remote interface"</syntaxhighlight> | |||
lub | |||
<syntaxhighlight lang="sql">"DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path."</syntaxhighlight> | |||
należy doinstalować klienta FB 3.0.13 na urządzeniach końcowych. | |||
===Jak przyspieszyć proces tworzenia kopii i ich odtwarzania=== | ===Jak przyspieszyć proces tworzenia kopii i ich odtwarzania=== | ||
| Linia 51: | Linia 63: | ||
#Zablokowanie innych czynników, które mogłyby używać dyskowych operacji I/O. | #Zablokowanie innych czynników, które mogłyby używać dyskowych operacji I/O. | ||
#Jeżeli serwer dysponuje dużą ilością pamięci RAM, to na czas odtwarzania bazy z kopii możemy zwiększyć parametr TempCacheLimit znajdujący się w pliku firebird.conf. Dzięki temu serwer może użyć więcej pamięci potrzebnej przy tworzenia indeksów. | #Jeżeli serwer dysponuje dużą ilością pamięci RAM, to na czas odtwarzania bazy z kopii możemy zwiększyć parametr TempCacheLimit znajdujący się w pliku firebird.conf. Dzięki temu serwer może użyć więcej pamięci potrzebnej przy tworzenia indeksów. | ||
==Zmiana hasła użytkownika SYSDBA== | |||
Aby zmienić hasło dla użytkownika SYSDBA w Firebird, należy wykonać następujące kroki: | |||
#Otwórz wiersz poleceń i przejdź do katalogu bin w instalacji Firebird. | |||
#Wykonaj poniższe polecenie, aby zmienić hasło (w tym przykładzie nowe hasło to nowehaslo): | |||
<syntaxhighlight lang="bat">gsec -user sysdba -pass masterkey -mo sysdba -pw nowehaslo</syntaxhighlight> | |||
W powyższym poleceniu: | |||
*-user sysdba – identyfikujesz się jako użytkownik SYSDBA. | |||
*-pass masterkey – podajesz aktualne hasło użytkownika SYSDBA. | |||
*-mo sysdba – modyfikujesz konto SYSDBA. | |||
*-pw nowehaslo – określasz nowe hasło. | |||
Po wykonaniu tych kroków, nowe hasło zostanie zaszyfrowane i zapisane, a stare hasło przestanie być ważne. | |||
<big>Nowe hasło należy wprowadzić w plikach konfiguracyjnych XML aplikacji, które łączą się z bazami danych Firebird.</big> | |||
===Wprowadzenie nowego hasła w aplikacji Admin=== | |||
Menu -> Plik konfiguracyjny -> Edycja pliku konfiguracyjnego | |||
Okno wyświetla informacje z otwartego pliku konfiguracyjnego (plik, który otwieramy przy logowaniu do programu Admin). Dla każdego wpisu, po naciśnięciu przycisku Zmień możemy zmienić parametry, w tym login i hasło do serwera baz danych Firebird. | |||
[[Plik:Info-sys admin edycja-pliku-konfiguracyjnego.png|ramka|brak|Edycja pliku konfiguracyjnego]] | |||
===Wprowadzenie nowego hasła w XML konfiguracyjnym=== | |||
W pliku konfiguracyjnym XML należy w drugiej linijce zmienić wartość atrybutu version z "3.0" na "1.0", jak poniżej: | |||
<syntaxhighlight lang="xml"><configuration title="Dane konfiguracyjne aplikacji" owner="Wersja demonstracyjna" version="1.0"></syntaxhighlight> | |||
Następnie, w linku do bazy danych, należy podać login i hasło do Firebird w formie niezaszyfrowanej. Przykład: | |||
<syntaxhighlight lang="xml"><link id="id2" alias="D:\Bazy\IS_PDK.GDB" user="SYSDBA" password="masterkey" kind="Interbase" protocol="Lokalny" charSet="WIN1250" dialect="1" name="Podatki - os. fizyczne" timerDB="60000"></syntaxhighlight> | |||
Po wykonaniu powyższych kroków, uruchamiamy program. Przy pierwszym uruchomieniu dane w pliku konfiguracyjnym zostaną zaszyfrowane. | |||
{{Uwaga}} Wystarczy jeden raz zaszyfrować hasło w opisany wyżej sposób, a w kolejnych plikach XML można wykorzystać nowe hasło zapisane w sposób zaszyfrowany. | |||
==Potwierdzenie poprawnie wykonanej migracji== | |||
Weryfikacja poprawności migracji nastąpi po poprawnym zalogowaniu się do dowolnego programu Info-System, otwarcie zakładki Konfiguracja -> Informacja o środowisku. Informacja o bazie powinna zawierać ODS: 12.0, jeżeli występuje 11.2, nasz Firebird to stara wersja 2.5. | |||
[[Plik:ODS12.png|ramka|brak|Informacje o środowisku - Firebird 3.0 - ODS: 12]] | |||
===Kontrola spójności i poprawności bazy danych=== | |||
Dla ułatwienia wykonania porządkowania bazy danych przygotowano skrypt o nazwie ''BACK_DB.BAT'', który należy skopiować do katalogu z bazą danych. Konieczne jest także skopiowanie programów ''GBAK.EXE'', ''GFIX.EXE'' oraz ''fbclient.dll'' z katalogu instalacyjnego ''Firebird 3.0'' . Skrypt należy wykonywać z linii poleceń, podając jako parametr nazwę pliku bazy danych bez rozszerzenia (przyjęto także standardową nazwę i hasło użytkownika bazy danych). Oczywiście, w czasie wykonywania skryptu baza nie może być wykorzystywana. | |||
Kolejne fazy skryptu zamykają niedokończone transakcje, wykonują kontrolę i porządkowanie struktury bazy danych, a następnie pełną kopią bazy danych i przywrócenie bazy danych. | |||
<syntaxhighlight lang="dos"> | |||
gfix -shut single -force 60 -user sysdba -password masterkey %1.GDB | |||
gfix -v -full -user sysdba -password masterkey %1.GDB | |||
gfix -commit all -user sysdba -password masterkey %1.GDB | |||
gfix -mend -full -i -user sysdba -password masterkey %1.GDB | |||
del back21.log | |||
gbak -B -y back21.log -user sysdba -pas masterkey %1.GDB %1.GBK | |||
gbak -REP -p 8192 -user sysdba -pas masterkey %1.GBK %1.GDB | |||
gfix -shut full -force 0 -user sysdba -password masterkey %1.GDB | |||
gfix -online -user sysdba -password masterkey %1.GDB | |||
pause | |||
</syntaxhighlight> | |||
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 i niewykorzystywane dane. Wykonanie skryptu może więc dobrze wpłynąć na efektywność korzystania z bazy danych, dając krótsze czasy dostępu do danych, a także zmniejsza rozmiar pliku bazy danych. | |||
==Potrzebna pomoc?== | ==Potrzebna pomoc?== | ||