Migracja Firebird 2.5 do wersji Firebird 3
Współpracująca z nami firma Arisco będzie wykorzystywała w swoich programach wyłącznie wersję serwera Firebird w wersjach 3.0 i wyższych. W związku z tym zalecamy jak najszybszą aktualizację wersji serwera baz danych, szczególnie tam, gdzie system ewidencji odpadów współpracuje z naszym systemem księgowym Księgowość Zobowiązań (KSZOB). Wersje Firebirda wcześniejsze niż 3.0 należy traktować jako zdezaktualizowane.
Wersja trzecia Firebirda wprowadza nową strukturę baz danych i tylko tę obsługuje. Oznacza to, że bazy utworzone poprzednimi wersjami stały się dla wersji trzeciej nieczytelne. W związku z tym, aby przenieść bazę danych z poprzednich wersji należy najpierw utworzyć jej kopię zapasową, a następnie odtworzyć ją z tej kopii używając programów narzędziowych z wersji 3.
FBBack - narzędzie do migracji
FBBack to narzędzie ułatwiające proces migracji baz danych z Firebird 2.5 do wersji Firebird 3.
groszek.pl > zakładka Pobieranie > katalog zz_dodatki > info-sys_fb25to30.zip groszek.pl > info-sys_fb25to30.zip
Do przeprowadzenia migracji wymagany jest serwer Firebird w wersji 2.5.9 oraz ODS = 11.2
- Uruchamiamy aplikacje 'FBBack.exe'
- Backup (kopia zapasowa) - na komputerze z Firebird 2.5:
- Zaznaczamy 'Backup' oraz 'Skrypty naprawcze'
- Przyciskiem 'Wybierz pliki' wskazujemy pliki baz danych (bazy zalecamy przenieść do katalogu z aplikacją 'fbback'; można zaznaczyć wiele baz)
- W polach 'Login' oraz 'Hasło' wprowadzamy dane logowania użytkownika baz danych
- Przyciskiem 'Start' rozpoczynamy procedurę tworzenia kopii zapasowej - kopia zostanie utworzona w tej samej lokalizacji
- Restore (odtworzenie z kopii zapasowej) - po odinstalowaniu Firebird 2.5 i zainstalowaniu Firebird 3 (zalecamy instalacje wersji 3.0.10)
- W aplikacji 'FBBack.exe' zaznaczamy 'Restore'
- Przyciskiem 'Wybierz pliki' wskazujemy pliki z kopią baz danych
- W polach 'Login' oraz 'Hasło' wprowadzamy dane logowania użytkownika baz danych
- Przyciskiem 'Start' rozpoczynamy procedurę odtworzenia - docelowe pliki bazy danych zostaną utworzone w tej samej lokalizacji

Skrypty (opcja alternatywna dla zaawansowanych, zapewnia szybszy proces tworzenia plików)
Na serwerze z Firebird 2.5.9
Pierwszym krokiem jest wykonanie skryptu naprawczego (skrypt jest potrzebny tylko, gdy w bazie istnieje tabela IS_KONTA_W):
alter table is_konta_w add UWAGI_BUFOR varchar(30000);
update is_konta_w set uwagi_bufor = uwagi_ksg;
alter table is_konta_w drop uwagi_ksg;
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
Na serwerze z Firebird 3.0
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
Po odtworzeniu bazy z kopii należy wykonać poniższy skrypt:
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;
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ł błąd:
"connection rejected by remote interface"
należy doinstalować klienta FB 3.0.13 na urządzeniach końcowych.
Jak przyspieszyć proces tworzenia kopii i ich odtwarzania
Proces tworzenia kopii i odtwarzania baz z kopii można przyspieszyć, stosując się do następujących wskazówek:
- Używamy przełącznika -g podczas tworzenia kopii, który wyłącza 'odśmiecanie' (garbage collector).
- Używamy przełącznika -se service_mgr zarówno przy tworzeniu kopii, jak i odtwarzaniu. Powoduje on wykonywanie polecenia w ramach procesu serwera.
- Używamy dysków SSD.
- 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.
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):
gsec -user sysdba -pass masterkey -mo sysdba -pw nowehaslo
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.
Nowe hasło należy wprowadzić w plikach konfiguracyjnych XML aplikacji, które łączą się z bazami danych Firebird.
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.

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:
<configuration title="Dane konfiguracyjne aplikacji" owner="Wersja demonstracyjna" version="1.0">
Następnie, w linku do bazy danych, należy podać login i hasło do Firebird w formie niezaszyfrowanej. Przykład:
<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">
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.

Potrzebna pomoc?
Skontaktuj się z nami za pośrednictwem poczty e-mail jeśli potrzebujesz pomocy podczas procesu migracji.