Update systému IS FLORES (aktualizace instalace)
Jak bylo řečeno v úvodní kap. Aktualizace systému IS FLORES (update a jiné aktualizace), systém IS FLORES se neustále vyvíjí a měl by být průběžně aktualizován. Základní možností, jak provést aktualizaci systému, je update. Update znamená přechod na vyšší verzi systémuIS FLORES a měl by být průběžně prováděn.
V následujícím textu budou uvedeny orientační instalační postupy pro převedení systému IS FLORES na vyšší verzi. Pokud si nejste jistí kroky, které postupy obsahují, doporučujeme raději svěřit proces update do rukou servisního oddělení firmy FLORES Software s.r.o.
Update probíhá tzv. inkrementálním způsobem.
- Inkrementální update - Aktualizace programu, která realizuje změny datových struktur a úpravy dat přímo nad existující databází a zároveň přináší změny chování aplikační vrstvy programu.
- Databázový objekt (entita) – viz Databázové objekty.
- UpdateList – změny databázových objektů, které výrobce v rámci vývoje nové verze provede, se zaznamenávají (u výrobce) do tzv. UpdateListu. Tento UpdateList se stává součástí instalace verze a na jeho základě se provádí změny nad "živou" databází uživatele.
- Operace – Dílčí změna databáze definovaná v UpdateListu. Operací může být např. změna tabulky, přidání sloupce tabulky nebo také přidání inicializačních dat apod.
- Datové konverze – speciální operace měnící data v databázi. Typicky SQL příkaz "update" nebo sada SQL příkazů měnící data bez ovlivnění datové struktury.
- Dodávané soubory v rámci instalace (pro řešení inkrementálního update):
- UpdateDB.DBO – Soubor databázových operací. Obsahuje příkazy pro změnu stávají databáze. Tj. vlastně obsahuje operace z UpdateListu.
- CreateDB.DBO – Soubor databázových operací. Obsahuje operace pro vytvoření nové prázdné databáze, vč. nahrání inicializačních dat či jiných dat dle kontextu. (Viz např. popis stavu Nová databáze.)
- InitData.DBO - Soubor databázových operací. Obsahuje operace pro naplnění nové databáze inicializačními daty.
- InstallDB.DBO - Soubor databázových operací. Obsahuje příkazy, které se provedou v rámci instalace nového modulu do existující instalace (doplní data nově instalovaného modulu tak, aby odpovídala stávající instalaci).
- ExternalData.DAT- Soubor databázových operací. Pomocný soubor pro soubory DBO. Obsahuje data pro příkazy nad tabulkou (vložení a změna, využívá se hlavně pro inicializační data). Obsahuje SQLite3 databázi s aktuálními verzemi reportů, exportů, B2Bexportů a uživ. definovatelných formulářů, které se nahrávají v rámci inicializačních dat či v rámci změn v UpdateListu.
- Datový update (neboli update dat) – Ta část inkrementálního update, při které dochází k aplikaci operací UpdateListu. Datový update provádí tzv. DDL příkazy modifikující strukturu databáze a příkazy modifikující data (datové konverze).
- Doinstalace modulu – Pokud při aktualizaci programu zaškrtne uživatel instalaci modulu, který do té doby nainstalovaný nebyl, dojde v rámci datového update mimo jiné k vytvoření objektů databáze potřebných pro fungování tohoto modulu. Při doinstalaci modulu dochází k provedení i jiných činností, ale pro objasnění inkrementálního update je podstatné právě vytvoření datové základny daného modulu. Proto pro účely objasnění update budeme nazývat doinstalací modulu jen vytvoření těchto databázových objektů.
- Metadata – Viz Metadata.
- Závislosti – Zde myšleno závislosti v databázi. Databázové objekty jsou navzájem propojené, mají mezi sebou vazby, a proto jsou na sobě závislé. Trigger je například závislý na své tabulce. Bez ní nemůže existovat (příp. nemůže existovat ve validním stavu). Stejně tak procedury, pokud mají ve svém těle použité sloupce tabulek, stávají se na těchto sloupcích závislé. Apod.
Update systému IS FLORES na vyšší verzi obecně znamená jednak nahrazení programových souborů novými (nahrazení binárních souborů a jejich registrace) a jednak případnou úpravu databáze (struktury databáze a dat v ní uložených) tak, aby odpovídala vyšší verzi.
Instalační program tedy při volbě Aktualizace existující instalace provede nahrazení programových souborů systému Systém IS FLORES novějšími a dále nastaví existující spojení na databáze do stavu Update. Při následném spuštění systému IS FLORES a výběru spojení na databázi (což může v rámci procesu "aktualizace instalace" proběhnout automaticky, viz Krok - Dokončení instalace) se spustí proces datového update. Datový update čte operace ze souboru UpdateDB.DBO a operace postupně v příslušné databázi provádí. Provádí změny datových struktur a úpravy dat přímo nad existující databází.
Vzhledem k tomu, že uživatelé mohou mít vlastní databázové objekty, které jsou závislé na databázových objektech systému IS FLORES, bude docházet k tomu, že na různých datech různých klientů bude tento "datový update" generovat různě velkou množinu příkazů. Mj. od toho se bude odvíjet doba jeho provedení.
Provedené operace se logují do databáze do speciální tabulky k tomu určené, včetně verze a příznaku, zda byla operace dokončena. To je důležité proto, aby mohl systém v procesu datového update pokračovat, dojde-li z nějakého důvodu k jeho přerušení. Pokud při datovém update dojde k chybě, objeví se dialogové okno Řešení problému, ve kterém je uživatel informován jednak o chybovém hlášení databáze a dále pak o tom, jaká operace chybu způsobila:
Příklad zobrazení informace o chybě vzniklé v průběhu datového update. Operace se pokouší přidat databázový objekt (doménu), který již v databázi existuje. (Jiná věc je, jak mohlo k takové situaci dojít, jaké zásahy byly do databáze provedeny mimo systém IS FLORES, které mohly toto způsobit atd. Od toho se bude odvíjet i způsob řešení daného problému.)
V takovém případě je možné Update přerušit, zajistit nápravu v existující databázi a spustit datový update znovu. Program má evidováno, které operace již byly provedené - ty znovu neprovádí, ale naváže v místě, kde k přerušení došlo.
Provedení operace může řešit a často také řeší nějaké závislosti. Většinou se řeší tím způsobem, že závislé objekty se odstraní a po změně, jež je předmětem operace, se všechny závislé objekty opět vytvoří. Dílčí kroky operace neběží v transakci – databáze ani transakční zpracování DDL nepodporuje. Ovšem program si odstraněné objekty samozřejmě zaznamenává a je schopný navázat přesně tam, kde přestal. Z tohoto vyplývá, že operaci je možné přerušit, ale je třeba ji dokončit. Není možné ji vynechat, např. zásahem do UpdateListu (uživatelsky to ani umožněno není), i když vynechání problematické operace se nabízí jako zdánlivě nejjednodušší řešení. Nicméně v rámci ní už mohlo dojít k nějakým úpravám závislostí a tudíž nedokončení operace by mohlo způsobit budoucí potíže. Při servisním řešení problémů je třeba tento princip správně chápat!
Počet změn, které je možné provést se strukturou jedné tabulky do doby zálohy a obnovy databáze, je omezen (cca 255). Z toho plyne, že nelze donekonečna provádět inkrementální update na nové verze, aniž by se někdy udělala také obnova dat, při které se vytvoří databáze nová. Nicméně se dá předpokládat (vzhledem k malému počtu takových změn), že tato potřeba nastane jednou za několik let. Tudíž se tímto uživatel zatím nemusí nijak znepokojovat.
Doinstalace/odinstalace modulů: Inkrementální update je schopen provést též doinstalaci modulu. Odinstalovat již jednou instalované ale neumí. (Vyjmutí databázových objektů jednoho modulu z existující provozované databáze je z principu těžko realizovatelné.) Proto, pokud má uživatel potřebu nějaký dříve nainstalovaný modul odinstalovat, musí si provést novou instalaci bez inkriminovaného modulu a do této nové instalace obnovit data. Program se bude chovat, jako by inkriminovaný modul neexistoval. Nicméně databáze ale bude obsahovat i data původního modulu. Viz zálohování a obnovy dat.
Update vs. (ne)registrované moduly - Datový update updatuje všechny tabulky, které v databázi najde, bez ohledu na to, jestli daný modul je či není aktuálně registrován v repozitoři systému IS FLORES. (K tomu může dojít např. tak, že uživatel si nenainstaluje všechny moduly (tudíž je nemá registrované v repozitoři)), ale do dané instalace si obnoví data ze zálohy, která daný modul obsahovala. Čili systém IS FLORES se bude externě chovat, jakoby tam modul nebyl, ale v databázi jsou tabulky daného modulu obsaženy a standardně podléhají procesu datového update.)
- urychlení procesu - zkrácení doby odstavení systému (nevytváří se nová databáze, neprobíhá obnova všech dat)
- urychlení zálohování a obnovy dat
- zrušení systému doplňkových NXD – uživatelské objekty databáze se staly součástí běžné zálohy systému IS FLORES
- odstranění systému nespolehlivých souhrnných aktualizací
Umožní i realizaci automatických aktualizací systému v budoucnu.
V následujícím textu naleznete popis dalších kroků, pokud v úvodním kroku instalace systému IS FLORES vyberete jako typ instalace volbu Aktualizace již existující instalace.
Pokud používáte ve své instalaci sestavy, založené na uživatelských Dyn SQL nebo externí aplikace napojené pomocí rozhraní FLORESOLE, doporučujeme provést nejdříve testovací update na jiné, nejlépe lokální kopii vaší instalace a vyzkoušet si tak tiskové sestavy i externí aplikace ještě před ostrou instalací update. Předejdete tak možným problémům na ostré instalaci, které mohou být zapříčiněny rozdílností struktur objektů či funkcí OLE z jedné verze do jiné.
Po každém updatu je třeba na všech klientech, resp. terminálech, kde toto nastavení již bylo provedeno, znovu v agendě Nastavení klienta zaregistrovat všechny DCOM servery, tj.:
- Instalovat otevřené rozhraní
- Instalovat otevřené rozhraní - dll knihovnu
- Propojení na Excel/Open Office Calc
- Instalovat MSXML6
Opětovná registrace musí proběhnout pod účtem správce OS Windows.
Před samotným spuštěním průvodce je třeba zajistit následující:
- Všichni uživatelé musí ukončit práci v systému.
- Proveďte bezpečnostní zálohu dat pomocí agendy „Administrace ⇒ Zálohování dat“, příp. jiným způsobem.
- Ukončete činnost aplikačního serveru, a pokud je provozujete, tak i servery webových služeb a všech OLE aplikací.
- Zkopírujte adresář obsahující původní instalaci IS FLORES do zálohového adresáře.
- Spusťte příslušný instalační program s novou verzí. Obdobně postupujte v případě stažené instalační sady.
Dále postupujte podle pokynů průvodce:
Zde zadáte cestu, kam má být systém IS FLORES nainstalován, přičemž vámi zadaná nová složka musí obsahovat instalaci IS FLORES. Předvyplňuje se podle zapamatovaných záznamů z poslední prováděné instalace:
Příklad zadání adresáře, kam se má IS FLORES nainstalovat
Ve spodní části okna je informace, kolik místa na disku instalace vyžaduje.
Zde jsou informace o tom, zda se jedná o takzvanou velkou aktualizaci přinášející zásadní změny a nové funkcionality. Při takové aktualizaci je nutné zálohovat data a před provedením aktualizace ověřit, že je tato záloha obnovitelná. Více informací o novém způsobu vydávání verzí najdete v této kapitole.
Příklad takzvané "Velké" instalace, kdy se přechází mezi major verzemi. Zde například předchod mezi verzí 24.0x a 24.1.x
Malé aktualizace nevyžadují zálohování a obnovu dat a jsou rychlejší. Aktualizací se řeší především opravy různých chyb. Více informací o novém způsobu vydávání verzí najdete v této kapitole.
Malá aktualizace nevyžaduje záloho databáze a je časově nenáročná.
Součástí tohoto kroku jsou také kontroly, které se provádějí na pozadí. Pokud kontroly nezaznamenají žádnou chybu, proběhnou pouze na pozadí, aniž by o nich uživatel byl informován. Pokud však dojde k chybě, je o tom uživatel informován na této obrazovce a má možnost zobrazit si více informací.
Na obrázku je vidět chyba chybějící licence, která však nebrání v pokračování instalace.
Tento krok probíhá automaticky. Systém v něm kontroluje, zda je v instalačním adresáři přítomen konfigurační soubor NEXUS.CFG. Pokud z nějakého důvodu chybí, systém nahlásí chybu.
Tento krok probíhá automaticky. Dle cesty uvedené v souboru NEXUS.CFG systém zkontroluje přítomnost souboru Storage.STF. Pokud ji z nějakého důvodu v daném umístění nenalezne, systém nabídne Storage.STF dohledat ručně v jiném adresáři. Kontrola na Storage.STF dle cesty v NEXUS.CFG probíhá následně ještě jednou, a to v kroku registrace souborů, a je nutné na správné umístění Storage.STF tedy znovu odkázat. Poté je třeba před spuštěním systému IS FLORES a updatem databáze cestu ke Storage.STF v konfiguračním souboru Nexus.CFG upravit ručně, jinak systém nebude možné spustit, resp. spadne na chybu.
Ideální postup, v případě, že Storage.STF je před updatem přesunuta jinam, je tedy před updatem ihned opravit cestu ke Storage.STF v souboru NEXUS.CFG.
Tento krok probíhá automaticky. Provede se v něm kontrola ODS databáze.
Kontrola probíhá přes port 3050. Pokud je databázová část systému IS FLORES nainstalována na OS Linux, kde je zapnutý firewall (např. IPTables), je nutné mít tento port povolen.
Příklad upozornění na kontrolu ODS.
Pokud kontrola ODS v pořádku (tj. pokud je databázový server a databáze kompatibilní), přejde se k následujícímu kroku. Pokud se číslo ODS a verze databázového serveru Firebird liší, systém zobrazí chybové hlášení.
V tomto kroku vidíte, které části systému se instalují.
Jelikož provádíte aktualizaci stávající instalace (update), a jelikož update na některé verze může být podmíněn zadáním nového aktivačního klíče na danou verzi, je dále nabídnut krok umožňující potřebné aktivační údaje zadat. Rovněž, pokud jste si rozšířili vaše stávající licence např. o nové části systému, které právě doinstalováváte, můžete si nový aktivační klíč zadat rovnou v procesu instalace update. Jedná se o jednu z možností, jak lze systém zaktivovat. Instalační program si vyžádá zadání aktivačního klíče a majitele licence.
Údaje jsou předvyplněny dle aktuálního stavu aktivace aktualizované instalace. Načtou se automaticky ze souboru licence.cfg z adresáře, kam se systém IS FLORES instaluje. Pokud na dané cestě není soubor licence.cfg nalezen, ale je nalezen soubor Keys.cfg v adresáři, odkud se instaluje, tedy v adresáři, odkud se spouští Setup.exe, nabídne se načtení aktivačních údajů z něj.
K dispozici je funkční tlačítko Ze souboru, pro komfortnější provedení aktivace systému, jelikož umožňuje načtení celé aktivace ze souboru. Význam je stejný jako je uvedeno v popisu Aktivace v agendě Správa licencí.
Položky pro zadání obchodního jména a aktivačního klíče
Pokud jste si rozšířili vaše licence tak, že přecházíte z nesíťové verze na síťovou, nezapomeňte, že je nutno, aby byly současně splněny i další podmínky pro provoz síť. verzí.
Aktivace systému zde neprobíhá ihned po zadání aktivačních klíčů, ale až po dokončení instalace.
Pokud zde aktivaci neprovedete nebo pokud budou obchodní jméno či aktivační klíč zadány chybně či neodpovídají instalovanému produktu a verzi, pak aktivace během instalace neproběhne úspěšně a systém bude po dokončení instalace ve stavu Demoverze. Aktivaci bude tedy třeba provést znovu. Dále viz Jak lze systém zaktivovat.
V jakých stavech z hlediska aktivace se může systém vyskytovat, viz kap. Aktivace a odečítání licencí.
V tomto kroku si můžete zvolit, zda chcete vytvořit zástupce pro spouštění dané instalace IS FLORES v nabídce Start a zda chcete vytvořit zástupce (pokud by zástupce téhož jména již existoval, z předchozí instalace, další se vytvářet nebude). Předvyplňuje se podle zapamatovaných záznamů z poslední prováděné instalace (mohlo jít o úplně jinou instalaci IS FLORES, než je ta, kterou právě aktualizujete), nicméně je můžete libovolně změnit:
V tomto případě se vytvoří nový zástupce v menu Start a to volba v menu Programy pod názvem produktu (pokud dosud neexistovaly)
Po stisku tlačítka Dále začne probíhat instalace systému na váš počítač, tj.:
- zkopírování souborů
- tvorba ikon a zástupců (dle zadání v kroku Volba dalších úloh), tj.
- v menu Programy v nabídce Start
- na ploše
- na panelu pro rychlé spuštění
- v seznamu programů v Přidat/Odebrat programy
- registrace souborů
- nastavení spojení na databáze do stavu Update
Pokud máte definováno více spojení na databáze (tj. např. vlastníte licenci (aktivační klíč) na multiverzi a v systému vedete více firem), nastaví se stav Update pro všechny databáze.
Tj. první část update (update programových souborů) již byla provedena a zbývá provést update dat.
V rámci instalace se ještě automaticky provádí pomocné akce, viz Další akce provedené v rámci instalace.
V tomto kroku je k dispozici možnost si zatrhnout, zda si rovnou přejete vyvolat první spuštění systému IS FLORES.
Dále můžete zatrhnout, zda chcete vyvolat online dokumentaci s popisem změn ve verzích, kde se můžete seznámit se změnami, které byly provedeny do právě instalované verze, příp. do verzí předchozích.
Pokud v daný moment Průvodce instalací dokončíte bez prvního spuštění IS FLORES, pak jej můžete spustit kdykoliv později jiným způsobem.
Vzhledem k náročnosti a komplexnosti instalace IS FLORES na MSSQL nezveřejňujeme postup instalace a doporučujeme její provedení dodavatelem FLORES Software.
Požadovaná verze SQL serveru se může měnit s verzí systému IS FLORES. Podporované verze databázového SQL serveru v jednotlivých verzích systému IS FLORES viz tabulka kompatibility systému IS FLORES s verzemi databázového serveru.
Je-li v kroku Dokončení instalace zatrženo "Spustit systém IS FLORES", systém se spustí a rovnou se provede datový update. (Všechna spojení (pokud jich máte více) by měla být ve stavu Update (pokud mezitím nedošlo k zásahu z vnější pomocí nástroje DbAdmin)). Podrobněji viz výše Princip inkrementálního update nebo též stavy databázového spojení - stav Update. Po jeho úspěšném provedení se spojení přepne do stavu OK. Následuje přihlášení uživatele do systému.
Dialog pro výběr spojení na databázi se v tomto případě nezobrazuje (jelikož existuje jen jedno spojení a to je ve stavu OK, zobrazování dialogu by tedy bylo zbytečné).
Pokud máte definováno více spojení na databáze (tj. např. vlastníte licenci (aktivační klíč) na multiverzi a v systému vedete více firem), pak se výše uvedený proces provede automaticky pro všechny databáze. Viz též Příprava multiverze k provozu po nové instalaci resp. po update. Poté se zobrazí dialog pro výběr spojení na databázi, všechna spojení by měla být ve stavu OK. Po výběru spojení následuje přihlášení uživatele do systému
V případě update se přihlašování do jednotlivých spojení provádí automaticky a nečeká se na přihlášení uživatele, aby bylo možno jej i v případě multiverze automaticky provádět např. přes noc, bez zásahu obsluhy.
Pokud první spuštění IS FLORES po aktualizaci instalace a přihlášení se do daného spojení neprovedete (tj. není-li v kroku Dokončení instalace zatrženo "Spustit systém IS FLORES"), pak spojení zůstane ve stavu Update a datový update dané databáze proběhne až později, a to až při dalším spuštění systému vyvolaném jiným způsobem a po přihlášení se do daného spojení na databázi. Pak se po spuštění systému zobrazí dialog pro výběr spojení na databázi obdobný následujícímu:
Příklad vzhledu okna pro výběr spojení na databázi po instalaci update, pokud nebyl systém spuštěn ihned v rámci dokončení instalace update, ale až později jiným způsobem. Tudíž zatím nedošlo k provedení datového update a spojení zůstalo ve stavu Update. K update databáze dojde až po přihlášení do daného spojení.
Po stisku tlačítka OK se při tomto prvním přihlášení do daného spojení po instalaci update provede kontrola, zda souhlasí verze produktu. Pokud by k takové situaci došlo, systém nahlásí chybu. Pokud proběhne kontrola v pořádku, provede se datový update příslušné databáze.
Z hlediska aktivace je systém ve stavu ostré verze, pokud správně proběhla aktivace instalace. Pokud ne, je systém ve stavu Trial verze resp. demoverze, blíže viz Stavy systému z hlediska aktivace a Jak poznat stav aktivace.
S provedením update systému IS FLORES, mohou souviset i některé další kroky, které je potřeba nebo které je minimálně doporučeno provést:
- Nutno: Aktualizace souborů potřebných pro webové služby, pokud je provozujete, více viz Web. služby a update
- Doporučeno: Kontrola aktuálnosti Udf knihoven, více viz Doinstalované Udf knihovny
- Doporučeno: Spustit proceduru SelectivityMaitenance. Přepočítává selektivitu indexů a může v častých případech pomoci zrychlit odezvu systému.
- Doporučeno: Restartovat terminálový server, pokud provozujete systém IS FLORES v terminálovém režimu.
Procedura je navržena pro databáze Firebird, na databázi MSSQL si musí uživatel zajistit údržbu selektivity sám.
Příklad spuštění procedury v programu DBTool.exe:
EXECUTE PROCEDURE SELECTIVITYMAITENANCE(1)
Dále platí:
- Přeinstalovávat všechny služby IS FLORES ve Windows, tedy aplikační server AppServer, Autoserver apod. není nutné. (Pokud se nezměnil jejich název nebo cesta. Jedná se totiž jen o zápis do registru, nic více.)
- Pokud provozujete závislá spojení, tj. spojení se synonymy (databáze MSSQL), je třeba procesu update věnovat speciální pozornost!!! Postup není součástí této příručky, nicméně není možno jej podceňovat. Kontaktujte, prosím, dodavatele.
Dále doporučujeme:
- věnovat pozornost Změnám ve verzích.