Odpovědi na často kladené otázky
         

Číslo otázky:
290   Datum:   14.7.2008
Otázka:Přechod na server Firebird 2.1
 Odpověď:

Počínaje verzí 3.60 přechází program MRP-K/S na nový databázový server Firebird verze 2.1, který nahrazuje doposud používaný server Firebird 1.5. Nová verze serveru obsahuje řadu vylepšení a funkcí, které umožňují rychlejší a bezpečnější práci s daty. Přechod na novou verzi programu MRP-K/S se liší od běžných aktualizací tím, že je spojen s odinstalováním staré a instalací nové verze serverové části systému Firebird. Protože upgrade je v tomto případě složitější než běžné aktualizace klientské části, řiďte se při něm, prosím, následujícími pokyny. V případě potíží s instalací nové verze čtěte také Řešení problémů při přechodu na nový databázový server Firebird 2.1.

Postup pro instalace běžící na jednom počítači, kdy se k programu MRP-K/S přihlašuje jen jeden uživatel (správce MRPDBA) a není potřeba na počítači zachovat Firebird 1.5

  1. Zálohování dat - firemních databází a společné databáze

    Před zahájením instalace proveďte v původní verzi programu MRP-K/S v okně Údržba dat zálohu databází všech firem a společné databáze. Ověřte, že databáze jednotlivých firem jsou aktualizované a funkční. Poté ukončete program MRP-K/S.

  2. Odinstalování Firebirdu 1.5, instalace nové verze MRP-K/S a Firebirdu 2.1

    Spusťte instalační program nové verze MRP-K/S (3.60 nebo vyšší) a v dotazu na typ instalace vyberte Server a klient bude na jednom počítači. Potvrďte dotaz na automatické odinstalování starého serveru Firebird 1.5 a instalaci nového serveru Firebird 2.1.

  3. Upgrade databází

    Přihlaste se k programu jako správce účetnictví, tedy uživatel MRPDBA s nově vytvořeným heslem mrpdba. Při prvním spuštění program nabídne převod databází do formátu používaného serverem Firebird 2.1. Po ukončení tohoto procesu a následném upgradu dat jsou databáze připraveny pro běžný provoz. Po instalaci nového serveru platí též pro správce databáze SYSDBA výchozí heslo masterkey.

Postup pro síťové instalace nebo pro instalace, kdy se k programu MRP-K/S přihlašují kromě správce MRPDBA také jiní uživatelé

Poznámka: pokud server Firebird 1.5 používáte ještě pro jiné aplikace a potřebujete jej na počítači zachovat, postupujte při instalaci nového serveru podle návodu uvedeného zde. Tento postup je ovšem složitější a je určen jen pro odborníky. Na klientských stanicích můžete podle vlastního uvážení ponechat buď původní verzi klientské části Firebirdu, nebo nainstalovat novou, program MRP-K/S už v současnosti systémovou instalaci klientské části Firebirdu nepotřebuje, používá svou vlastní.

  1. Zálohování dat - firemních databází, společné databáze a seznamu uživatelů

    Před zahájením instalace proveďte v původní verzi programu MRP-K/S v okně Údržba dat zálohu databází všech firem a společné databáze. Ověřte, že databáze jednotlivých firem jsou aktualizované a funkční. Pokud máte na serveru zřízeno větší množství uživatelských účtů a nechcete po přeinstalování serveru jejich konta na novém serveru vytvářet znovu, může správce databáze (SYSDBA) zazálohovat též seznam uživatelů databáze. Zálohování seznamu uživatelů vyvoláte kliknutím na tlačítko Export v dialogu správy uživatelských účtů, který se zobrazí po přihlášení správce databáze (SYSDBA) do programu. Poté ukončete program MRP-K/S.

  2. Odinstalování Firebirdu 1.5, instalace nové verze MRP-K/S a Firebirdu 2.1

    Na jednotlivých stanicích spusťte instalační program nové verze MRP-K/S (3.60 nebo vyšší) a nainstalujte na klientských stanicích klientské části (volba Server a klient budou na různých počítačích), na serveru pak serverovou část (případně i klientskou pokud je server současně využíván jako pracovní stanice). Pokud je Vaše stávající verze MRP-K/S 3.10 (002) nebo vyšší, lze na klientských stanicích využít automatickou aktualizaci pomocí aktualizačního manažera při prvním přihlášení starého programu k nové verzi serveru. V ostatních případech je nutné instalační program na klientských stanicích spustit přímo. Součástí instalace serverové části je i odinstalování serveru Firebird 1.5 a přidání nově instalovaného Firebirdu 2.1 do výjimek brány Windows (firewallu).

  3. Poznámka: pokud používáte serverovou část na systému Linux, řiďte se při instalaci serverové části v tomto bodě podle návodu uvedeného zde.

  4. Načtení seznamu uživatelů serveru, nastavení hesel

    Po instalaci nového serveru platí pro správce databáze SYSDBA výchozí heslo masterkey (Linuxové servery - viz poznámka), správci účetnictví MRPDBA je při prvním přihlášení přiděleno výchozí heslo mrpdba. Přihlašovací jména ostatních uživatelů je nutné do nového serveru přidat nebo naimportovat ze zálohy, přičemž jim (vzhledem k odlišné struktuře databáze uživatelů) budou vygenerována nová náhodná přihlašovací hesla. Změnu hesel, případně naimportování uloženého seznamu uživatelů lze učinit po přihlášení správce databáze SYSDBA tlačítkem Import.

    Poznámka: V pdf dokumentu Firebird 2.1 Release Notes je v kapitole Dealing with the New Security Database uveden alternativní postup, který dovoluje transformovat a následně převzít starou databázi uživatelů security.fdb z Firebirdu 1.5 včetně původních uživatelských hesel. Tento postup lze realizovat i prostřednictvím MRP-K/S tlačítkem Převod z FB 1.5 v dialogu správce účtů po přihlášení správce SYSDBA. Funkce si vyžádá cestu k původnímu souboru databáze uživatelů (zůstává v adresáři Firebirdu 1.5 i po odinstalování) a vygeneruje soubor security2.fdb, který lze následně po vypnutí serveru přesunout do instalačního adresáře Firebirdu 2.1 (nahradit původní soubor stejného jména). Po následném spuštění serveru jsou pak tedy k dispozici původní uživatelské účty včetně starých hesel. V tomto případě se ovšem nevyužije bezpečnější formát uložení hesel jenž Firebird 2.1 umožňuje, proto doporučujeme raději vygenerovat nová hesla postupem popsaným výše a starou databázi uživatelů takto nepřevádět.

    Poznámka: Na Linuxových serverech se je heslo správce databáze SYSDBA generováno náhodně (rpm distribuce), nebo jej administrátor zadává během instalace (tar.gz distribuce) a jeho znění naleznete v souboru /opt/firebird/SYSDBA.password. V tomto případě je nutné se do programu přihlásit jako SYSDBA s tímto heslem, aby program mohl vygenerovat konto správce MRPDBA, bez nějž nelze program provozovat.

  5. Upgrade databází

    Nyní se již může k programu MRP-K/S přihlásit správce účetnictví (MRPDBA). Při prvním spuštění program nabídne převod databází do formátu používaného serverem Firebird 2.1. Po dobu převodu se nesmí k serveru připojovat jiné klientské stanice. Po ukončení tohoto procesu a následném upgradu dat jsou databáze připraveny pro běžný provoz.

Následují nejdůležitější změny oproti původnímu manuálu a nápovědě, které se změnou serveru souvisí:

Zadávání hesla správce při vybraných operacích

Kvůli zvýšeným požadavkům na bezpečnost vyžaduje nová verze serveru u některých operací heslo správce databáze (SYSDBA). Jedná se například o zobrazení seznamu uživatelů serveru, který se v MRP-K/S používá při přidávání nového uživatele do firmy. Program se tedy v takovýchto situacích pokusí použít výchozí heslo masterkey, a pokud nesouhlasí, na heslo správce SYSDBA se dotáže. Heslo si pak program pamatuje až do ukončení, není nutné jej zadávat opakovaně.

Optimalizovaná síťová komunikace

Síťová komunikace mezi klientem a serverem byla ve Firebirdu 2.1 optimalizována, což vede ke zkrácení odezvy programu zejména na pomalých linkách, například při přímém připojení k databázovému serveru přes internet - urychlení o cca 40 %.

Nová struktura databáze a zálohovací program gbak.exe

Firebird 2.1 používá novější strukturu databázového souboru, kterou umí správně zazálohovat jen aktuální verze zálohovací utility gbak.exe. Pokud pořizujete vlastní zálohy mimo program MRP-K/S přímým voláním gbak.exe, ujistěte se, že je nainstalována jeho aktuální verze z klientské nebo serverové části Firebirdu 2.1, případně volejte gbak z podadresáře FbKlient programu MRP-K/S. Pokud provádíte zálohování přímo kopírováním databázových souborů serveru a chcete kopii databáze pořízenou pod serverem Firebird 1.5 dodatečně použít po přechodu na Firebird 2.1, je před jejím použitím nutné v seznamu firem zvolit dialog Údržba dat a zde spustit optimalizaci příslušné databáze, čímž se její struktura převede do formátu serveru Firebird 2.1.

Detekování ztracených klientských spojení

Zjišťování nekorektně odhlášených klientských stanic probíhá nyní na serveru nastavním proměnných TCP protokolu. Na Windows serverech toto provádí instalační program MRP-K/S, na Linuxech je doporučujeme nastavit při startu počítače. Dříve využívaný způsob pomocí konfigurační proměnné DummyPacketInterval ve Firebirdu 2.1.0 není implementován. Další informace zde.

Další změny

  • Uživatelé si pomocí nové funkce v menu Nastavení - Změnit heslo mohou sami měnit svá přístupová hesla.
  • Při připojení k serveru pomocí terminálových služeb je již možné používat i lokální přístup, tj. připojovat se s volbou umístění serveru Na tomto počítači.
  • Firebird 2.1 rovněž odstraňuje problémy s hyperthreadingem nebo vícejádrovými procesory, které na Windows serverech způsobovaly prodlevy během upgradu databáze.
  • Import seznamu uživatelů na Firebirdu 2.1 neobnovuje jejich původní hesla, uživatelům jsou přidělena nová náhodně vygenerovaná hesla. Přenos původních hesel lze realizovat jen přesunem databáze uživatelů security2.fdb.
  • Databáze byly převedeny do SQL reprezentace Dialect 3.

Dokumentace k serveru Firebird 2.1

Základní dokumentace se instaluje do podadresáře doc serverové části aplikace Firebird, nejdůležitější informace jsou v dokumentu "Release Notes".

Další informace o serveru Firebird naleznete na následujících adresách:

Přechod na server Firebird 2.1 na operačním systému Linux

Linuxové instalační balíčky Firebirdu 2.1 existují v několika variantách, rozlišené podle toho jestli daná distribuce podporuje NPTL, jestli podporuje instalační balíčky rpm (například Redhat, Fedora, Centos, SUSE, Mandriva používají rpm) a jestli se jedná o 32 nebo 64 bitovou verzi Firebirdu. Firebird dále nabízí dvě varianty serveru nazvané Superserver a Classic, přičemž program MRP-K/S momentálně pracuje jen s variantou Superserver. Na našich internetových stránkách jsou zde připraveny jen nejobvyklejší 32-bitové NPTL verze serveru, ostatní varianty je možné stáhnout přímo z internetových stránek projektu Firebird.

NPTL znamená knihovnu Native POSIX Thread Library. Součacné distribuce ji zpravidla obsahují, což se dá ověřit příkazem:

  getconf GNU_LIBPTHREAD_VERSION
Distribuce podporující NPTL by měly vracet odpověď ve tvaru:
  NPTL 2.n.n
naopak starší distribuce bez NPTL buď proměnnou neznají nebo vracejí:
  linuxthreads-0.nn
Další detaily jsou případně uvedeny v dokumentu InstallNotes.pdf v podadresáři doc serveru Firebird 2.1.

Pro prvotní instalaci doporučujeme zvolit 32-bitovou verzi Firebirdu, protože dokáže převzít původní databáze Firebirdu 1.5 bez nutnosti provést zálohování a obnovu dat pomocí klienta. 32-bitovou verzi lze přitom provozovat i na 64-bitovém OS (obráceně to neplatí). 64-bitovou verzi Firebirdu můžete případně nainstalovat později, databáze aktualizované 32-bitovou verzí Firebirdu 2.1 už dokáže převzít přímo.

S instalací nového serveru na systémech kde fungoval Firebird 1.5 by ve většině případů neměly být problémy, protože Firebird 2.1 používá stejnou verzi knihovny glibc (2.2.5.) a libstdc++.so (5.0) jako starší server Firebird 1.5. V případě, že instalujete 64-bitovou verzi, budete potřebovat i 64-bitovou verzi knihovny libstdc++.so

Instalaci proveďte podle následujícího postupu:
  1. Ještě před instalací nezapomeňte na klientské straně pomocí programu MRP-K/S zazálohovat data všech firem, společné databáze a případně také obsah databáze uživatelů nebo i přímo tuto databázi security.fdb, tak jak je uvedeno v návodu k aktualizaci. Z přihlašovacího dialogu programu MRP-K/S si též zjistěte adresář, ve kterém jsou na serveru uloženy databázové soubory (obvykle /home/mrpks).

  2. Zastavte proces serveru Firebird. Příkaz bude vypadat takto (s ohledem na zvyklosti ve Vaší distribuci):
      /etc/init.d/firebird stop
    
  3. Všechny soubory obsažené v datovém adresáři aplikace MRP-K/S zjištěném v bodě 1) zazálohujte ještě přímou kopií souborů. Adresář s daty poznáte také podle přítomnosti databázových souborů s příponou MRP. Takto pořízená kopie funguje jako další záloha, ale můžete ji použít i pro přímý přenos souborů s databázemi na jiný počítač, pokud na něm bude nainstalována 32-bitová varianta serveru Firebird 2.1.

  4. Odinstalujete server Firebird 1.5:
    • Na systému založeném nad RPM balíčky:
        rpm -e FirebirdSS 
      
    • Na ostatních distibucích spusťte:
        /opt/firebird/bin/uninstall.sh
      
  5. Instalace serveru Firebird 2.1
    • Na systému založeném nad RPM balíčky:
        rpm -ivh FirebirdSS-2.1.(číslo_verze).rpm 
      

      Po instalaci z RPM je vygenerováno nové heslo uživatele SYSDBA, které je uloženo i v souboru /opt/firebird/SYSDBA.password

    • Pokud Vaše distribuce rpm balíčky nepodporuje, použijte tar.gz archiv, následujícími příkazy jej rozbalte a spusťte v něm obsažený skript install.sh:
        tar -xzf FirebirdSS-2.1.(číslo_verze).tar.gz -C /tmp
        cd /tmp/FirebirdSS-2.1.(číslo_verze)
        ./install.sh
      

      Při instalaci z tar.gz archívu je požadováno zadání nového hesla uživatele SYSDBA. Po instalaci je toto uloženo i do souboru /opt/firebird/SYSDBA.password

    (číslo_verze) odpovídá aktuálně instalované verzi serveru. NPTL buildy obsahují před koncovkou v názvu .nptl.

    V případě zájmu naleznete další podrobnosti týkající se instalace serveru v dokumentaci serveru Firebird, zejména v pdf dokumentu Install Notes, kde je i přesný popis kroků které instalační program provádí a v dokumentu Release Notes.

  6. Nastavte proměnné TCP protokolu zajišťující včasnou detekci nekorektně ukončených klientských spojení:
    sysctl -w net.ipv4.tcp_keepalive_time=60
    sysctl -w net.ipv4.tcp_keepalive_intvl=15
    sysctl -w net.ipv4.tcp_keepalive_probes=5
    
    Význam proměnných je popsán zde. Změnu proměnných doporučujeme zahrnout do skriptu který se spouští po startu systému, aby se vykonala automaticky i po restartu počítače. Název tohoto skriptu se může lišit v závislosti na distribuci, obvykle se používá /etc/rc.local nebo /etc/rc.d/rc.local.
* Berte prosím v potaz, že otázka a odpověď mohou být úzce svázané s verzí programu aktuální v době zveřejnění odpovědi.

Související otázky najdete ve skupinách: Přeskočit odkazy pro navigaci

© 2020 MRP-Informatics, spol. s r.o.                                         MRP na Slovensku