Instalace SQL serveru Firebird na Windows
Jak bylo řečeno v kap. Instalace systému ABRA Gen pro Firebird, systém ABRA Gen pro Firebird vyžaduje pro svou práci databázový SQL server Firebird. Proto před spuštěním instalace samotného systému ABRA Gen se nejdříve zkontroluje, zda je databázový server požadované verze nainstalován a pokud není nainstalován Firebird požadované verze, je třeba jej doinstalovat z následujících stránek: https://firebirdsql.org.
Kromě instalace databázového SQL serveru Firebird je potřeba ověřit, zda máte instalovanou nejnovější verzi Microsoft Visual C++ Redistributable. (min. verzi 2015-2019). Nainstalovanou verzi si můžete ověřit přes možnost Přidat/Odebrat programy v Ovládacích panelech Windows. Pokud na serveru tuto verzi Microsoft Visual C++ nemáte, je potřeba ji doinstalovat. A to zde V opačném případě bude docházet při vytváření databáze k chybám.
Program kontroluje vždy nejvyšší nutnou verzi Microsoft Visual C++ Redistributable, takže pokud je k dispozici vyšší, stáhneme vyšší.
Popisu instalace patřičného DB serveru a systému ABRA Gen se věnuje následující instalační příručka:
- DB serveru Firebird a systému ABRA Gen pro Firebird na OS Windows v režimu jednoho uživatele
- DB serveru Firebird a systému ABRA Gen pro Firebird na OS Linux
Požadovaná verze SQL serveru se může měnit s verzí systému ABRA Gen. Podporované verze databázových SQL serverů v jednotlivých verzích systému ABRA Gen viz Kompatibilita systému s verzemi databázového serveru.
Kontrolu existence instalace databázového serveru Firebird lze potlačit pomocí parametru instalačního programu -nodbinstall. Využijete např. v případě síťové instalace, kdy databázový server leží na jiném serveru než systém ABRA Gen (aby pak např. při update systém nevyžadoval instalaci databázového serveru, můžete jej spustit s tímto parametrem), či v případě instalace na OS Linux, pokud při variantě instalace ze stanice uživatel nechce zbytečně na danou stanici databázový server instalovat.
V následujícím textu stručně zmíníme průběh kontroly a případně instalace DB Firebird po spuštění instalační verze ABRA Gen pro Firebird na OS Windows 64 bit.
Po spuštění instalační verze ABRA Gen pro Firebird se nejprve zkontroluje, zda je nainstalován databázový SQL server Firebird požadované verze (nezbytný pro chod ABRA Gen).
Je-li databázový server požadované verze přítomen, instalační program pokračuje instalací samotného systému ABRA Gen.
Pokud je příslušný SQL server již nainstalován, musí na něm existovat uživatel "SYSDBA" s heslem "masterkey". Toto je ale možné i upravit pomocí nástroje DBAdmin až po instalaci ABRA Gen. Viz též parametry spojení isc_dpb_user_name a isc_dpb_user_password.
Pokud je nalezen Firebird jiné verze, systém to oznámí:
Příklad hlášení, pokud je nalezen Firebird jiné než požadované verze
Pokud stisknete Ano, zobrazí se on-line nápověda, kde si můžete přečíst více. Pokud stisknete Ne, instalační program ABRA Gen se ukončí. ABRA Gen nemůže pracovat bez příslušného SQL serveru, nevhodný Firebird je nutno nejdříve odinstalovat.
Pokud není žádný server Firebird nalezen (tj. žádný Firebird jste neměli nainstalován nebo jste měli jiný, který jste odinstalovali, jak žádal předchozí krok), systém to oznámí a Firebird je třeba stáhnout z odkazu https://firebirdsql.org/en/firebird-3-0/#Win64 a nainstalovat.
Následující popis se vztahuje k Firebirdu verze 3.0.
Zahájíme instalaci serveru Firebird
Instalační program SQL serveru Firebird, který je součástí instalačního programu ABRA Gen pro Firebird, je určen pro 64bit OS Windows. Pokud nemáte 64bit OS Windows 64bit, systém to nahlásí.
Pak si odpovídající instalační verzi SQL serveru musíte stáhnout z webu (např. viz www.ibphoenix.com).
Po několika úvodních krocích (souhlas s licenčním ujednáním a informace o instalovaném serveru) se zobrazí krok pro zadání cesty, kam se má FB nainstalovat. Stačí potvrdit předvyplněnou:
Příklad dialogu při instalaci databázového serveru
Následuje několik dalších kroků (volby instalovaných komponent, volba názvu, pod kterým se vytvoří složka ve Start menu).
Poté následuje krok, v němž volíme architekturu serveru, způsob spouštění a další možnosti:
Příklad dialogu při instalaci databázového serveru
K architektuře serveru:
Následuje krok, v němž volíme architekturu serveru (Classic server, SuperClassic server a SuperServer), způsob spouštění (jako Aplikaci, jako Službu) a další možnosti:
Databázový server Firebird je postaven na více architekturách (Classic server a SuperServer, přičemž od verze 2.5 může Classic server běžet ve dvou módech, a to Classic server a SuperClassic server. Rozdíl mezi variantami Classic server (MultiProcess), SuperClassic server (ThreadedShared) a SuperServer (ThreadedDedicated) je především ve způsobu, jakým server obsluhuje klientská spojení. Ve variantě Classic server se pro každé nové klientské spojení vytváří nový proces operačního systému, u variant SuperClassic server a SuperServer obsluhuje server klientská spojení v rámci jediného procesu s použitím tzv. vláken (threads). Podrobnější popis jednotlivých architektur/módů viz uživatelské příručky Firebirdu.
Každá z architektur má své výhody, ale může mít i jisté nevýhody. Obecně lze říci, že architektura s jedním procesem, v rámci něhož jsou obsluhováni klienti prostřednictvím více vláken se společnou cache, je rychlejší než více procesů (každý s vlastní cache), kdy dochází k jisté režii na řízení procesů, přepínání mezi procesy atd., na druhou stranu, pokud dojde ke kolizi procesu FB, pak v případě více procesů "upadne" jen ten klient, který byl obsluhován v rámci zkolabovaného procesu a ostatní běží dál, kdežto v případě obsluhy všech klientů v rámci jednoho procesu, pokud zkolabuje, "shodí" všechny klienty. Je ale potřeba vzít v potaz i jiná hlediska, jako např. propustnost sítě apod.
Výrobce doporučuje následující:
- u FB 2.5 - Classic server
- u FB 3.0 - SuperServer
Toto doporučení odpovídá i výchozímu nastavení, které se nabízí v rámci instalace dané verze FB.
FB v.2.5 ve variantě SuperServer vykazoval jistou chybu, kdy v případě více CPU nebyl schopen efektivně tyto CPU využít, docházelo ke zbytečné režii na předávání procesu mezi CPU až tak, že celkový výkon mohl být i nižší než v případě jediné CPU (tudíž se pak nastavovala "afinity" na používání jen jedné CPU). To byl i jeden z důvodů, proč se u FB 2.5 doporučovala varianta Classic server zejména, pokud se vyžadovala větší propustnost dat, tedy pro víceuživatelské instalace. Dále vykazoval jistou nestabilitu. Proto se doporučovala varianta Classic server i pro jednouživatelské instalace. Od verze FB 3.0 byla architektura SuperServeru výrazně vylepšena, tudíž rozdíl mezi variantami z hlediska spolehlivosti není tak markantní a lze tedy využívat výhod vyšší rychlosti architektury SuperServer.
Firebird CS (Classic server) instalovaný na Windows z principu své architektury vyžaduje mít spojení na databázi definované síťově, tzv. Remote spojení. V dřívějších verzích (u verzí nižších než 17.03.01) bylo možné používat v případě nesíťové, tedy singl instalace ABRA Gen tzv. Local spojení. (rychlejší než Remote spojení a pro provoz singl instalace stačí). Proto se v dřívějších verzích ABRA Gen během instalace detekoval instalovaný Firebird CS (Classic server) pro Windows a pokud byla instalována tato varianta serveru, doplnil se do parametrů spojení automaticky "localhost" (a komunikace přes TCP protokol), viz nastavení parametru spojení v DBAdmin. Detekce se prováděla podle existence souboru fb_inet_server.exe v podadresáři bin v instalačním adresáři Firebird. Důvod proč se "localhost" nedoplňoval vždy, je o něco větší rychlost singl instalace při local spojení (singl instalace rovněž může běžet s nastavením spojení "localhost", pouze běží o něco pomaleji (cca 2-3%), což je zanedbatelné).
Nicméně od přechodu na Unicode a FB v.3 bylo zjištěno, že v případě nepřítomnosti localhost se FB připojuje v tzv. embeded módu, což za jistých okolností může způsobit nestabilitu systému. Tudíž implementována funkcionalita, která způsobuje, že se spojení na databázi vždy realizuje jako Remote spojení, tj. jakoby bylo localhost zadáno, i kdyby v parametrech spojení nebylo fyzicky uvedeno. Tudíž výše popsaná funkcionalita doplňování localhost v případě Classic serveru a singl instalace je bezpředmětná. Nyní je spojení vždy Remote, bez ohledu na typ instalace (singl/síť) či na zvolenou architekturu serveru.
K volbě služba/aplikace:
Zde lze zvolit, zda spouštět jako servis (službu) (lze jen v případě Win NT a kompatibilních) nebo jako samostatnou aplikaci. Doporučujeme spouštět jako službu (lze jen v případě Win NT a kompatibilních) .
K dalším nastavením:
Zde zvolíme jak FB spouštět (automaticky při startu počítače) a dále zatrhneme volbu Copy Firebird client library to <system> directory. To způsobí, že se do systému zkopíruje knihovna fbclient.dll, kterou přednostně načítá aplikační server.
Poté se instalace provede a rovnou se nabídne možnost databázový SQL server spustit.
Pro běh systému ABRA Gen je nutný běh databázového SQL serveru. Pokud databázový server z nějakého důvodu při startu ABRA Gen neběží, systém nahlásí chybu a je třeba nejdříve databázový server spustit. U lokální (nesíťové) instalace (jakou je např. demoverze) si toto ABRA Gen pro Firebird může zajišťovat automaticky sám, dále viz Spuštění systému a databázového serveru, a uživatel se spouštěním databázového serveru zabývat nemusí. Více viz kap. Databázový server.
Je-li požadovaný SQL server nainstalován, instalační program pokračuje instalací samotného systému ABRA Gen.