Migracja Firebird 2.5 do wersji Firebird 3: Różnice pomiędzy wersjami
(Nie pokazano 14 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
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. | 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. | ''FBBack'' to narzędzie ułatwiające proces migracji baz danych z Firebird 2.5 do wersji Firebird 3. | ||
[https://groszek.pl groszek.pl] > zakładka Pobieranie > katalog ''zz_dodatki'' > info-sys_fb25to30.zip | [https://groszek.pl groszek.pl] > zakładka Pobieranie > katalog ''zz_dodatki'' > info-sys_fb25to30.zip | ||
[https://groszek.pl/pob/info-sys_fb25to30.zip groszek.pl > info-sys_fb25to30.zip] | [https://groszek.pl/pob/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 | |||
Do przeprowadzenia migracji wymagany jest serwer Firebird w wersji 2.5.9 | |||
#Uruchamiamy aplikacje 'FBBack.exe' | #Uruchamiamy aplikacje 'FBBack.exe' | ||
Linia 24: | Linia 26: | ||
==Skrypty (opcja alternatywna dla zaawansowanych)== | ==Skrypty (opcja alternatywna dla zaawansowanych)== | ||
===Na serwerze z Firebird 2.5=== | ===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): | |||
<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;</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)'': | |||
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 (zalecamy wersję 3.0. | Instalujemy i uruchamiamy Firebirda 3 (zalecamy wersję 3.0.11 x86; wcześniej odinstalowujemy bieżącą wersję). Wykonujemy polecenie odtworzenia bazy danych z kopii zapasowej: | ||
gbak -user usr -pas psw -c -v -se service_mgr backupfile database1 | 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: | Po odtworzeniu bazy z kopii należy wykonać poniższy skrypt: | ||
Linia 41: | Linia 43: | ||
update is_konta_w set uwagi_ksg = uwagi_bufor; | update is_konta_w set uwagi_ksg = uwagi_bufor; | ||
alter table is_konta_w drop uwagi_bufor;</syntaxhighlight> | alter table is_konta_w drop uwagi_bufor;</syntaxhighlight> | ||
===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. | |||
==Potrzebna pomoc?== | |||
<big><big>Skontaktuj się z nami za pośrednictwem [mailto:serwis@groszek.pl?Subject=Migracja%20Firebird%202.5%20do%20Firebird%203.0 poczty e-mail] jeśli potrzebujesz pomocy podczas procesu migracji.</big></big> | |||
[[Kategoria:Baza danych]] | [[Kategoria:Baza danych]] |
Aktualna wersja na dzień 13:17, 22 lut 2024
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)
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 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 (zalecamy wersję 3.0.11 x86; wcześniej odinstalowujemy bieżącą wersję). Wykonujemy polecenie odtworzenia bazy danych z kopii zapasowej:
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;
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.
Potrzebna pomoc?
Skontaktuj się z nami za pośrednictwem poczty e-mail jeśli potrzebujesz pomocy podczas procesu migracji.