Technická príručka
Podporované platformy a databázové systémy
Pro IS K2 jsou podporovány následující databázové systémy:
- Microsoft SQL
- Oracle
Microsoft SQL
IS K2 lze provozovat na Microsoft SQL Server 2012 a novější s nejnovějšími SP. Aktuální informace o požadavcích MS SQL Serveru jsou dostupné na stránkách Microsoftu. Pro menší firmy s méně uživateli a daty lze použít MS SQL Express dodávaný na instalačním DVD. Pro aktuální stav doporučujeme online dokumentaci Microsoftu.
Oracle SQL
IS K2 lze provozovat na Oracle Standard Edition nebo Oracle Enterprise Edition s nejnovějšími SP. Pro menší firmy s méně uživateli a méně daty lze použít Oracle XE. Vytvořená databáze je bez volby „Create as Container Database“.
Ovladače pro jednotlivé DB systémy
Při první instalaci systému K2 je v závislosti na zvolené databázi nastaven parametr DRIVER v souboru K2.ini a to pro MS SQL instalaci DRIVER=MSSQL, pro Oracle DRIVER=Oracle.
Seznam driverů K2
MSSQL |
– implicitní driver nastavený při čisté instalace |
Oracle |
– driver pro Oracle |
Starší názvy driverů
Jsou zrušeny všechny drivery používající uložené procedury. Pokud je v K2.ini hodnota DRIVER jiná než MSSQL (MS2000, MS2000_P, MS2000GEN, MS2000GEN_P, OLEDB_MS2000, MS_SQLa) a jedná se o driver pro MS SQL, interně se nahradí touto hodnotou.
Síťové protokoly
Pro správné fungování IS K2 na jakémkoliv podporovaném databázovém systému je nutné mít funkční TCP/IP protokol s fungujícím rozkladem adres, tzn. ze stanice musí projít ping jmeno_serveru. Existují dvě možnosti, jak tohoto dosáhnout:
- V síti fungují DHCP a DNS servery, které přidělují, resp. rozkládají IP adresy.
- Pokud tyto servery v sítí nejsou, je třeba stanice nakonfigurovat pevnými IP adresami a do souboru HOSTS dopsat IP adresu serveru.
Pokud je vše nastaveno správně, musí projít příkaz ping jmeno_serveru.
Terminálové připojení
Terminálové připojení lze provozovat pouze na platformě Windows (Windows Server 2012 a novější). Je potřeba mít zajištěny odpovídající licence na terminálové služby.
Instalace programu K2
Instalaci IS K2 musí provádět uživatel, který má dostatečná práva na server nebo stanici pro zapisování souborů, dále musí mít právo na používání MS SQL nebo Oracle, to podle typu instalace. Pro instalaci na serveru by to měl být administrátor. Je žádoucí, aby instalace probíhaly vždy z jednoho stroje nebo stanice, na kterých se ukládají záznamy o instalaci do registru Windows.
Instalace databázových strojů
IS K2 potřebuje pro svou činnost databázový stroj třetí strany. Je to buď MS SQL pro platformu Windows nebo Oracle pro Windows nebo Linux. Instalace MS SQL Serveru a Oracle je popsána v manuálech výrobců těchto programů, které musí být instalovány dříve než IS K2. Během instalace MS SQL Serveru je potřeba nastavit uživatele, který bude instalovat K2 nebo v budoucnu vytvářet nové mandanty, administrátorem serveru. MS SQL Server může být na přání zákazníka dodaný na instalačním médiu. Dodáván je kompletní a podle toho, jakou má uživatel koupenou licenci je možné jej nainstalovat s touto licencí nebo ve volně šiřitelné licenci Express Edition. Místo Oracle Standard / Enterprise Edition lze pro méně uživatelů a dat použít Oracle XE dodávaný na instalačním CD. Databázové stroje se na CD dávají podle požadavků zákazníka. Instalace se provádí z programu K2Installer.exe, kterým se instalují všechny produkty K2 a podpůrné aplikace. Nápověda ke K2Installeru je v souboru k2installer.chm, kde jsou popsány všechny instalace produktů K2, a vyvolá se stisknutím F1 v běžícím programu K2Installer.
Nastavení MSSQL
Nastavení databází
Pro optimální běh K2 je doporučeno, aby každá K2 databáze měla nastavenu vlastnost "Compatibility Level" na hodnotu "MS SQL 140 (tedy 2017)".
Konfigurace pro OLAP
Pro využívání OLAPu je potřeba mít nainstalován Microsoft SQL Server 2014 nebo novější s aktuálním service packem (správná verze je buď Personal edition pro lokální počítač, nebo Standard pro server, verze Enterprise je zbytečná pro standardní klienty K2) s autentizací MS SQL. Dále je potřeba mít nainstalován Microsoft Analysis services ve stejné verzi jako SQL Server.
Jako prohlížeč je možno použít Microsoft Excel nebo K2. Pro používání K2 prohlížeče je potřeba mít nainstalovány komponenty OWC. (Pro editaci z licenčních důvodů také MS Excel).
V některých případech může docházet k problémům při exportu pohledů do Excelu. Vice informací naleznete v Odborném diskusním fóru zde: https://infoservis.k2.cz/ForumEdit.aspx?ThreadID=131108.
Instalace K2
Instalace K2 se provádí nástrojem K2Installer, který je k dispozici na Infoservise v sekci Verze/K2 luna/Ostatní.
Instalace licence
Instalace licence je součástí popisu v nápovědě ke K2Installeru.
Reinstalace programu K2
Reinstalaci IS K2 musí provádět uživatel, který má dostatečná práva na server nebo stanici pro zapisování souborů, dále musí mít právo na používání MS SQL nebo Oracle, podle typu instalace. Pro instalaci na serveru by to měl být administrátor. Pokud neporozumíte všemu, co je napsáno v této kapitole, NEPROVÁDĚJTE REINSTALACI! Před reinstalací na vyšší verzi (první číslo) nebo release (druhé číslo) informujte svého konzultanta, který musí zkontrolovat případně upravit speciální sestavy a skripty. Tyto speciály musíte mít připraveny předem, jinak se může stát, že po reinstalaci nebudou fungovat nebo nebudou pracovat úplně správně.
Získání nové verze
Aktualizované verze jsou k dispozici na www.k2.cz nebo jsou zasílány na CD. Pro stažení verze z webu je potřeba znát heslo pro stažení, které obdržíte e-mailem. Pokud je verze stažena z webu jako *.zip soubor, je potřeba nejprve zkopírovat dodané CD s původní verzí na disk a stažený soubor rozbalit do adresáře K2 v tomto umístění.
Podmínky reinstalace
Při reinstalaci je nutnou podmínkou, že žádný uživatel nesmí pracovat v IS K2. Fyzicky se totiž přepisují soubory ve všech adresářích nebo může docházet ke změnám struktur tabulek. Seznam přihlášených uživatelů je ve správě licencí v záložce „Přihlášení uživatelé“. Před reinstalací je potřeba odhlášení všech uživatelů, které lze zajistit buď přímým příkazem uživateli nebo tlačítkem odhlásit po rozkliknutí položky v přihlášených uživatelích. Toto odhlášení neodhlásí uživatele okamžitě, ale zapíše příznak pro odhlášení uživatele, který si K2 během své činnosti kontroluje. V seznamu uživatel zmizí až poté, co běžící K2 zpracuje tento požadavek a odhlásí se. Průměrný čas bývá okolo 2 min. Před odhlašováním uživatelů je vhodné pustit Reinstalační manažer a v něm nastavit zákaz přihlašování. Poté se bude moci přihlásit pouze uživatel, který tento příznak nastavil, a bude mít na to 6 vteřin. Ve chvíli, kdy je K2 připravena k reinstalaci, je potřeba nastavit Reinstalace povolena. Tento příznak lze nastavit pouze v případě, že je přihlášen pouze jeden uživatel. Instalace K2 si kontroluje, zda je příznak nastaven. Bez něj nejde K2 reinstalovat. Reinstalční manažer lze také použít pouze k zakázání přihlášení do K2.
Zálohování
Před každou reinstalací je potřeba provést zálohu nejen dat, ale i celého adresáře IS K2, pro případ jakékoli neočekávané události během reinstalace. Záloha se provádí ve dvou krocích. Nejprve zálohujeme adresář K2 zkopírováním do záložního adresáře. Poté musíme zálohovat data.
Záloha dat
Na databázových serverech jména databází začínají hodnotou CATALOG z K2.ini. Např.: K2 – konfigurace K2, K2_DEMO – demonstrační data, K2_INIT - inicializační data, K2_???? – data ostatních mandantů. V nástroji administrace DB serveru najdeme příslušný server a všechny databáze začínající hodnotou z proměnné CATALOG a tyto zálohujeme.
Záloha MS SQL
Zálohování databáze je popsáno v kapitole 11 Servisní postupy MS SQL nebo 12 Servisní postupy na Oracle Express Edition.
Záloha Oracle
Zálohování Oracle databází se provádí pomocí postupů na stránkách výrobce Oracle.
Reinstalace
Vlastní reinstalace se provádí spuštěním K2Installer.exe buď z instalačního CD, nebo z místa, kde je udělána kopie instalačního CD (viz kap. Získání nové verze). Během reinstalace se provede Inicializace verze všech mandantů. Při přechodu na verzi MONDE se provádí tzv. přebrání stávající instalace K2, viz nápověda K2Installeru.
Průběh reinstalace
Vlastní reinstalace K2 probíhá v několika krocích.
- Odinstalace předchozí verze. V rámci zajištění správného běhu K2 včetně dalších nástrojů, se původní verze K2 nejprve odinstaluje. Během této akce se pouze odstraní dříve nainstalované soubory. Na disku zůstávají všechny pro instalátor neznámé soubory, což jsou uživatelské soubory, speciální skripty a sestavy, soubory vytvořené během práce K2 apod.
- Instalace nové verze. Během tohoto kroku se nakopírují nové soubory z instalačního balíku.
- Konverze databází. V případě požadavku na zásadní změny struktur tabulek se pouštějí SQL konverzní dotazy nástrojem K2_sqlrs. Typicky je to při změně verze K2 a nebo release.
- Inicializace verze fáze 1. Během této inicializace verze se provádějí drobné databázové změny, které vznikly na základě drobných požadavků.
- Import licence. Pokud je potřeba a je vybraný správný licenční soubor, dojde k jeho importu.
- Import dat. Import dat probíhá do mandantů DEMO, INIT a dále se importují systémové záznamy do konfigurační databáze a všech mandantů.
- Inicializace verze fáze 2. Během této inicializace se provádějí různé úpravy nastavení nebo dat, které si vyžaduje práce systému.
- Odblokování přihlášení. Pokud není v reinstalačním manažerovi nastaven příznak „reinstalační mód zrušit pouze uživatelem“, dojde k odblokování přihlášení do K2. Tento příznak se může využít v případě, kdy potřebujeme instalovat i další produkty spojené s danou instalací K2.
Problémy při reinstalaci
Nefunkční sestavy a skripty
Po reinstalaci může dojít k tomu, že některé speciální sestavy nebo skripty nebudou fungovat. Je to ve většině případů způsobeno databázovou změnou a je nutné tyto speciály upravit.
Reinstalace skončí s chybou
Může se stát, že reinstalace skončí s chybou. Chyby mohou nastat ve dvou etapách.
- Při kopírování souborů. Pokud instalátor zjistí problém během instalace nových souborů, tak buď nově soubory nenakopíruje nebo zahlásí chybu a vrátí změny. Vrácení změn ovšem spočívá v tom, že se odstraní nově nakopírované soubory. Protože ale reinstalace probíhá ve dvou nezávislých krocích viz kap. 5.5, nebudou v cílovém adresáři téměř žádné soubory a záznam o instalaci K2 zmizí ze seznamu v K2. Po odebrání IS K2 je nezbytně nutné zkontrolovat stav souborů k2.ini a sysk2.ini, aby jejich obsah byl stejný, jako před reinstalací, případně je nakopírovat ze zálohy k2.ini.old a sysk2.ini.old, které se vytvářejí před kopírováním nových souborů.
- Při konverzi databází nebo importu dat. Pokud k těmto chybám dojde, je vhodné zavolat konzultanta a poradit se. V těchto případech je potřeba vždy udělat kompletní obnovu zálohy jak adresáře K2, tak všech databází. Poté se pouští nová instalace K2 s přebráním K2 ve zvoleném adresáři.
Vytvoření testovací instalace K2 pro reinstalaci
Pokud chceme vytvořit testovací instalaci K2 pro otestování reinstalace K2, měla by proběhnout ve dvou krocích:
- Nainstalujeme novou K2 a provedeme obnovení ostrých dat do testovacích katalogů.
- Provedeme reinstalaci K2.
Pokud se rozhodneme, že testovací reinstalaci provedeme pouze na zkopírované K2, nemusí být výsledek stejný jako u reinstalace ostré K2. Např. nedojde k odstranění všech souborů, které již nemají ve vyšší verzi smysl a u nepotřebných bpl souborů mohou vyvolávat chyby při spouštění.
Adresáře K2
Struktura adresářů
Základní adresář obsahuje:
- programové soubory *.BPL, *.EXE, *.MSG, *.OCX apod.
- parametrické soubory *.INI
Pod tímto adresářem je adresář CONF. Ten obsahuje:
- adresář Lang s jazykovými formuláři poznámek, bitmapami a soubory nápověd
- adresáře *.BMP s bitmapami pro běh K2
- parametrické soubory *.INI
- adresář ATTACH obsahuje uživatelské adresáře U*, do kterých se ukládají informace potřebné pro upozorňování na nové události
V základním adresáři jsou adresáře firemní (například DEMO). Ty obsahují:
- adresář DATA, kam se exportují nebo odkud se importují soubory záloh generované K2 des, hes
- uživatelské adresáře U* s uživatelskými soubory, ten obsahuje:
- soubor RF_UZV.PAS, registrační skript uživatelský
- soubor K2SCRIPT.INI, konfigurace editoru skriptu
- soubory *.DSK, konfigurace k editovanému skriptu (soubor má jméno vždy stejné jako skript, který je editovaný)
- soubor CTEMPS.DCI, obsahuje vzory pro funkci Ctrl+J v editoru skriptu
- adresář ZALOHA pro různé druhy záloh (např. Vnitropodniková banka, Mzdy)
- adresář HOMEBAN pro vstupní a výstupní soubory homebankingu (většinou ještě podadresář ARCH_HB)
- parametrické soubory *.INI
- soubor RF_FIRM.PAS, registrační skript mandanta (spouští se při přihlášení na daného mandanta)
- adresář ATTACH obsahuje uživatelské adresáře U* a několik systémových adresářů (RECYCLED, MAILSRVR, PUBLIC, WORKER), do kterých pošta ukládá přílohy. Ne však přímo – jméno každé přílohy je pomocí hashovací funkce převedeno na dvojici adresářů nnn\nnn a až do nich je příloha uložena.
- Adresáře FORM_X, kde X je číslo jazyka, ke kterému se vytahují modifikace formulářů. Adresář obsahuje soubory YYYYYYYY.FRM, kde YYYYYYYY je číslo modifikovaného formuláře. Dále může obsahovat adresáře 0..N pro formuláře jednotlivých skupin uživatelů.
- Adresář TRAN pro distribuované zpracování (Přenosy), ten obsahuje:
- Adresář FILES, kde se umísťují jednotlivé balíčky pro příjem, dále jsou v tomto adresáři další podadresáře pojmenované podle zkratek jednotlivých uzlů, v těchto adresářích se ukládají vydávané balíčky pro dané uzly.
- Adresář IN. Ten obsahuje podadresáře pojmenované podle zkratek jednotlivých uzlů, kde jsou v dalším podadresáři BACKUP uložené zálohy přijímaných balíčků.
- Adresář IN_DATA. V případě SQL kompatibilních přenosů obsahuje datové soubory (pro platformu SQL nic) určené pro příjem a podadresáře pojmenované podle zkratek jednotlivých uzlů, které slouží pro rozbalení soubory přijímaného balíčku. Tyto adresáře obsahují datové soubory nebo v případě SQL kompatibilních přenosů soubory *.BIN, dále obsahují podadresář DOC pro rozbalení přenášených dokumentů.
- Adresář OUT. Ten obsahuje podadresáře pojmenované podle zkratek jednotlivých uzlů, kde jsou v dalším podadresáři BACKUP uložené zálohy vydávaných balíčků.
- Adresář OUT_DATA. V případě SQL kompatibilních přenosů obsahuje datové soubory (pro platformu SQL nic) určené pro roztřídění na uzly a podadresáře pojmenované podle zkratek jednotlivých uzlů, kde jsou soubory připravené pro zabalení do vydávaného balíčku. Tyto adresáře obsahují datové soubory nebo v případě SQL kompatibilních přenosů soubory *.BIN, dále obsahují podadresář DOC s dokumenty připravenými pro zabalení.
- Adresář ARCH historický z DOSu, ve Windows se nepoužívá
V základním adresáři je adresář DOC s popisy.
V základním adresáři je adresář OLAP s definicí standardních pohledů do OLAPu.
V základním adresáři je adresář SQL s *.sql skripty pro generovaní tabulek (jen SQL verze).
V základním adresáři je adresář SERVISW pro instalaci K2.
V základním adresáři je adresář SupportFiles, kam se ukládají standardní soubory potřebné pro běh standardních sestav. Jeho podadresáři jsou adresáře LangX, které odpovídají jednotlivým jazykům.
V základním adresáři je adresář SESTAVYW pro definici skriptů a sestav. Ten obsahuje:
- adresář SPECIAL, ten obsahuje:
- adresář BK2 obsahuje balíčky
- adresář FORM obsahuje formuláře skriptů
- adresář K2R obsahuje speciální skripty
- adresáře *.K2R obsahují skripty, rozdělené do skupin pomocí adresáře
- adresář STANDARD, který obsahuje odstraněné skripty a sestavy, které by mohly být nadále používány, ale které již nejsou podporovány a většinou mají své náhrady
Soubory v hlavním adresáři K2
as_developer.exe |
Editor skriptu pro tvorbu skriptů bez UI, které mohou běžed pod scriptexem nebo aplikačním serverem. |
ed_app.exe |
|
execxmla.exe |
Program pro tvorbu kostek OLAPu. |
fbclient.dll |
Klient Firebird SQL Server. |
icudt.dll |
|
isdsutils.dll |
Podpora pro datovou schránku. |
itextsharp.dll |
Podpora pro podepisování pdf. |
k2.exe |
Program K2. |
k2.ini |
Parametry, se kterými se spouští K2. |
k2_sqlrs.exe |
Pouští SQL skripty pro tvorbu tabulek a uložených procedur. |
k2activexLib.dll |
ActiveX knihovna pro použití K2 v programech podporujících OLE Automation Server např. (Excel). |
k2base.bpl |
Základní knihovna K2 (obsahuje jen Delphi knihovny a jeden Dialog.RES pro skript), používáno K2.exe a dalšími programy |
k2biutils.dll |
Podpora pro execxmla.exe. |
k2core.bpl |
Knihovna jádra K2, používá ji K2.exe a další programy. |
k2dms.bpl |
Knihovna datových modulů K2, používá ji K2.exe a další programy. |
k2forms.bpl |
Knihovna základní formulářů K2, používá ji K2.exe. |
k2isapi.dll |
Rozšíření Internet Information Serveru o přístup do K2 pomocí programu ScriptEx.exe, používá se v internetových obchodech. |
k2mailcfg.cpl |
Konfigurace poštovní služby K2Mail.exe. |
k2p_odbc.bpl |
Rozšiřující modul (plugin) K2 pro práci s ODBC komponentami. |
k2p_pcs.bpl |
Rozšiřující modul (plugin) K2 pro práci s identifikačními kartami, nepovinné, ale bez tohoto souboru nefunguje kartový systém |
K2p_rbutt.bpl |
Rozšiřující modul (plugin) K2 pro práci s tlačítky. |
K2p_zeos.bpl |
Rozšiřující modul (plugin) K2 pro práci s knihovnou ZEOS. |
k2rep.bpl |
Knihovna K2 pro práci se sestavami a skripty, používá ji K2.exe. |
k2signutils.dll |
Rozšíření potřebné pro digitální podepisování dokumentů. |
k2wexport.exe |
Externí aplikace pro export dat z K2 do des/hes souborů. |
k2wimport.exe |
Externí aplikace pro import dat do K2 z des/hes souborů. |
libcef.dll |
|
libeay32.dll |
|
Microsoft.AnalysisServices.dll |
Podpora pro OLAP. |
Microsoft.AnalysisServices. |
Podpora pro OLAP. |
pdfcp2.dll |
Komponenta pro vyváření PDF souborů, použito v sestavách K2 (PDF export pro AM - K2). Soubor se zkopíruje systémového adresáře a zaregistruje komponentu 'PDFCreatorPilot2.piPDFDocument' do systému. K2 se bez tohoto souboru obejde, jen se nebude PDF export nabízet jako platný formát exportu AM sestav. |
pdfcp4.dll |
Komponenta pro vyváření PDF souborů, použito v sestavách K2 (PDF export pro AM - K2). Soubor se zkopíruje systémového adresáře a zaregistruje komponentu 'PDFCreatorPilot.piPDFDocument4' do systému. K2 se bez tohoto souboru obejde, jen se nebude PDF export nabízet jako platný formát exportu AM sestav. |
pdfregistertool.exe |
Pomocná aplikace pro zaregistrování pdfcp?.dll kvůli možnosti tvorby pdf souborů. |
scriptex.exe |
Spouštěč nevizuálních skriptů K2. |
security.cryptography.dll |
Podpůrné rozšíření pro |
setk2password.exe |
Program pro nastavení hesla uživatele K2. |
setup.log |
Záznam instalátoru o prováděných příkazech. |
ssleay32.dll |
|
sysK2.ini |
Uložení systémových informací programu K2. |
tbarcode10.dll |
Rozšíření s čárovými kódy. |
Práva v souborovém systému
Servisní uživatel K2 (správce):
<Hlavní adresář K2> - složka, podsložky, soubory – úplné řízení
Běžný uživatel K2:
<hlavní adresář K2> - složka, podsložky, soubory – číst, procházet
<hlavní adresář K2>\CONF\ATTACH - složka, podsložky, soubory - zapisovat, vytvářet složky, odstraňovat
<hlavní adresář K2>\CONF\LOOKS\SPECIAL - soubory - zapisovat
<hlavní adresář K2>\ESHOP - složka, podsložky, soubory - zapisovat, vytvářet složky
<hlavní adresář K2>\OLAP - soubory - zapisovat
<hlavní adresář K2>\<mandant> - složka, podsložky, soubory - zapisovat, vytvářet složky, odstraňovat
<hlavní adresář K2>\<mandant>\TABLEMOD.XML – zrušit dědičnost, nechat čtení
<hlavní adresář K2>\<mandant>\EXTFIELDS.XML – zrušit dědičnost, nechat čtení
<hlavní adresář K2>\<mandant>\RF_FIRM.PAS – zrušit dědičnost, nechat čtení
<hlavní adresář K2>\<mandant>\FORM* – zrušit dědičnost, nechat čtení
<hlavní adresář K2>\SupportFiles - číst a spouštět
Po vytvoření nového mandanta je nutné aktualizovat souborová práva v jeho složce dle výše uvedených pravidel.
Seznam všech parametrů K2.ini
Parametry K2
Název parametru |
Popis |
ACCCURRENCYALLOWED |
Hodnota 1 umožní v účetním deníku (jen pro typ Obecný doklad) vytvářet položky dokladů s různými cizími měnami. Pokud není zadáno, pak se při pokusu o zadání položek účetního dokladu s více měnami zobrazí standardní hláška "Na položkách účetního dokladu jsou různé cizí měny". |
ADDHEADERTOEXCELEXPORT |
Přidá hlavičku s názvy sloupců vyexportovaných do Excelu. Hodnota parametru je defaultně nastavena na 1. Hlavička se nevytiskne pokud se hodnota parametru rovná 0. |
ALARMDELAYTIME |
Udává čas v sekundách, po kterém dojde k přenačtení seznamu událostí. |
AMSINGLEPREVIEW |
1 - sestavy jsou zobrazovány odděleně v samostatných oknech |
AMCLEARTYPE |
Udává kvalitu použitého fontu. 0 - Default, je použita v předchozích verzích K2. Pokud je potřeba použít kvalitu fontu jako dříve, dá se do ini tato hodnota. 1 .. 6 Výchozí hodnota parametru, pokud není použit, je 6 - to je fqClearTypeNatural a tato kvalita vykreslení dává výsledky bližší zobrazení v PDF a Wordu. Čísla jsou mapovány na typ System.UITypes.TFontQuality. |
AVOIDPARALLELSESSION
|
1 - zabraňuje množení session K2 v prostředí Oracle Real Applization Cluster |
BEZZMEN |
viz. NOLOGCHANGES |
BITMAP |
Cesta k bitmapám pod CONFem. |
CATALOG |
Jméno hlavního katalogu pro danou instalaci na serveru. |
CHECKAMFILE |
Pokud AM soubor změní datum nebo čas dojde při spuštění sestavy k obnově cache.
|
CHECKPARAMSINFORMATIONEXECUTE |
Parametr, který určí, zda se sestavy mají, nebo nemají spustit a příp. zahlásí nesrovnalosti v parametrech. 0 - výchozí stav, AM/PAS se spustí jako dřív 1 - kontroluje se existence parametru v AM/PAS při spuštění. Pokud parametr v AM/PAS není, nedojde ke spuštění a ohlásí se chyba. |
CHECKUNITS |
Kontrola změny skriptových souborů, tzn. pokud se změní skriptový soubor, je tato změna ignorována do doby než se vyprázdní cache nebo restartuje K2. kontrola vypnuta (implicitně) kontrola zapnuta |
CHROMIUMENABLED |
0 - vypne komponentu chromium, čímž v K2 nebude k dispozici komponenta kalendář a editor webového obsahu. |
CLIENT |
jméno firmy pro uživatele pro přihlášení |
CLIENTS |
seznam firem oddělených středníkem, které se budou nabízet v combo boxu vstupního okna - implicitní hodnota je DEMO |
COLOR |
Umožňuje měnit barvy palety K2 na dané hodnoty. Středník odděluje index palety, znak „>“ se píše mezi index palety a jeho hodnotu. Hodnota může být zadána číselně ($0000FF) nebo názvem (clLime). Seznam použitelných indexů: baT_Back pozadí knihy baT_Text text knihy baT_Capt_Back pozadí hlavičky knihy baT_Capt_Text text hlavičky knihy baT_Sele_Back pozadí vybraného záznamu knihy aktuální sloupec baT_Sele_Text text vybraného záznamu knihy aktuální sloupec baT_ISel_Back pozadí inaktivního vybraného záznamu knihy baT_ISel_Text text inaktivního vybraného záznamu knihy baP_Back pozadí prohlížení baP_Text text prohlížení baP_Capt_Back pozadí hlavičky prohlížení baP_Capt_Text text hlavičky prohlížení baP_Sele_Back pozadí vybraného záznamu prohlížení baP_Sele_Text text vybraného záznamu prohlížení baP_ISel_Back pozadí inaktivního vybraného záznamu prohlížení baP_ISel_Text text inaktivního vybraného záznamu prohlížení baZ_Back pozadí změny baZ_Text text změny baZ_Capt_Back pozadí hlavičky změny baZ_Capt_Text text hlavičky změny baZ_Sele_Back pozadí vybraného záznamu změny baZ_Sele_Text text vybraného záznamu změny baZ_ISel_Back pozadí inaktivního vybraného záznamu změny baZ_ISel_Text text inaktivního vybraného záznamu změny baE_Back pozadí editu baE_BackDi pozadí editu disablovaného baE_Text text editu baE_TextZm text editu pro změněné pole baS_Text barva textu status baru baT_Capt_Ed značka pro editovatelný sloupeček knihy baT_Capt_Def značka pro implicitní editovatelný sloupeček knihy baP_Capt_Ed značka pro editovatelný sloupeček prohlížení baP_Capt_Def značka pro implicitní editovatelný sloupeček prohlížení baZ_Capt_Ed značka pro editovatelný sloupeček změny baZ_Capt_Def značka pro implicitní editovatelný sloupeček změny baT_Back2 pozadí knihy 2 baP_Back2 barva pozadí prohlížení 2 baZ_Back2 pozadí změny 2 baT_Sele_Back2 pozadí vybraného záznamu knihy mimo aktuální sloupec baT_Sele_Text2 text vybraného záznamu knihy mimo aktuální sloupec baT_Head_Back pozadí hlavičky skupiny baT_Head_Text text hlavičky skupiny baT_Foot_Back pozadí patičky skupiny baT_Foot_Text text hlavičky skupiny baStromMenu pozadí stromového menu baButtonky pozadí buttonku baDefault barva implicit (default) baU_1 uživatelská barva baU_2 uživatelská barva baU_3 uživatelská barva baU_4 uživatelská barva baU_5 uživatelská barva baU_6 uživatelská barva baU_7 uživatelská barva baU_8 uživatelská barva baU_9 uživatelská barva baU_10 uživatelská barva baU_11 uživatelská barva baU_12 uživatelská barva baU_13 uživatelská barva baU_14 uživatelská barva baU_15 uživatelská barva baU_16 uživatelská barva baU_17 uživatelská barva baU_18 uživatelská barva baU_19 uživatelská barva baU_20 uživatelská barva baU_21 uživatelská barva baU_22 uživatelská barva baU_23 uživatelská barva baU_24 uživatelská barva baU_25 uživatelská barva baU_26 uživatelská barva baU_27 uživatelská barva baU_28 uživatelská barva baU_29 uživatelská barva baU_30 uživatelská barva baU_31 uživatelská barva baU_32 uživatelská barva baU_33 uživatelská barva baU_34 uživatelská barva baU_35 uživatelská barva baU_36 uživatelská barva baU_37 uživatelská barva baU_38 uživatelská barva baU_39 uživatelská barva |
COMPANYCURRENCY |
Pokud máme definovány Vlastní firmy v různých měnách, je třeba mít parametr COMPANYCURRENCY nastaven na hodnotu 1. Jako měna vlastní firmy se pak nebere měna z Parametrů mandanta, ale z nastavení každé vlastní firmy. Implicitně je parametr nastavený na hodnotu 1. |
DISABLECOMMANDCACHE |
Pro lepší profilování na driverech MS2000Gen a MS2000Gen_P ve standardním MS SQL Server Profileru lze vypnout cache SQL příkazů pomocí parametru K2 "DISABLECOMMANDCACHE=1". Vypnutí cache má za následek zpomalení zpracování dotazů. |
DISABLEMAINTABS |
DISABLEMAINTABS=1 vypíná generálně dokování formulářů a sestav do záložek. |
DISABLEMEMPAR |
Spuštění K2 na firemní databázi, která je v režimu readonly. Typické použití je snapshot. K2 se spustí a umožní čtení záznamů. Pokus o jakýkoliv zápis končí chybou databáze. Lze použít, jako reportovací K2. Conf databáze musí být i nadále umožňovat zápis. DISABLEMEMPAR=1 |
DISABLESEMIPERMANENT |
DISABLESEMIPERMANENT=1 zakáže načtení připíchnutých záložek do plochy. Uživatel o ně přichází a příště už záložky připíchnuté nebudou. |
DMCATALOG |
Jméno katalogu pro vyhodnocování OLAPu. Pokud není zadáno, použije se hodnota z parametru CATALOG. K2 doplní hodnotu o jméno mandanta a příponu _DM. |
DMDATABASE |
Jméno databáze pro vyhodnocování OLAPu. Pokud není zadáno, použije se hodnota z parametru DMCATALOG. DMDATABASE musí obsahuje celé jméno databáze. |
DMSERVER |
Jméno serveru, kde je umístěn stroj OLAPu. Pokud není zadáno použije se hodnota SERVER. |
DRIVER |
databázový driver, podporovaný K2 viz kap. 2.4. |
FILTERBYUF |
Parametr je nastaven s výchozí hodnotou 1 - modré UI pro filtry je implicitně zapnuté. |
FIRMA |
viz. CLIENT |
FUNC |
číslo funkce pro spuštění (implicitní je spouštění akcí na popředí) |
FUNCINTPARAM |
Integer parametr předávaný funkci FUNC. |
FUNCSTRPARAM |
Stringový parametr předávaný funkci FUNC. |
FUNKCE |
viz. FUNC |
GLMAXRECORDS |
Zvýšení počtu zobrazených účetních záznamů v Hlavní knize v části Pohyby. Maximum je implicitně nastaveno na 50 000 záznamů. |
HESLO |
viz. PASSWORD |
FORMDESTROYSLEEP |
Čekání při zavírání formuláře kvůli synchronizaci stavů oken mezi serverem a klientem. Z testování vyplynulo nastavení hodnot mezi 80 a 200. Slouží pro korektní zobrazování dialogů na terminálu – nepřekrývání. |
HIDDENDIALOGS |
Detekce změny Z-orderu dialogů a její následná oprava (prohození). Detekci provádí K2 každou vteřinu, pokud zjistí prohození, pak Z-order opraví. Slouží pro korektní zobrazování dialogů – nepřekrývání. 0 - kontrola vypnuta (implicitně) 1- kontrola zapnuta 2- kontrola zapnuta, jiná detekce, lepší výsledky |
ISINMAINTHREAD |
Při nastavení na hodnotu 1 způsobí načítání dat infoservisu z webové služby v hlavním threadu a odstraní padání na access violation v DLL od Microsoftu. Týká se zejména pouštění K2 na serverech. |
JMENO |
viz. NAME |
LABS_OPTIMALIZATION_NOTPOSTEDDOC |
Pokud bude mít parametr hodnotu =1 dojde k optimalizaci při načítání dat v knize Nezaúčtováno. Vhodné pro použití u firem s velkým množstvím dat. |
LABS_OPTIMALIZATION_OPENITEMLIST |
Pokud bude mít parametr hodnotu =1 dojde k optimalizaci při načítání dat v knize Saldokonto. Vhodné pro použití u firem s velkým množstvím dat. |
LAYOUT |
Zatím má jednu přípustnou hodnotu: LAYOUT=emergency. Tato hodnota zajistí najetí K2 s nouzovou jednoduchou plochou. Když z nějakého důvodu nenajede uživateli plocha, tak se přihlásí pod parametrem emergency. Poté si v K2 vybere požadovanou plochu a při příštím přihlášeni se přihlásí pod ni. |
LNGRESOURCEPATH |
Používá se v případě chybného načítání BPL, DLL, LNG a EXE souborů v síťovém prostředí, typicky terminálové servery. Dále se načítají jazykové bitmapy, soubory nápovědy a poznámky. Pokud se nakopírují binární soubory K2 na lokální disk terminálového serveru, třeba do C:\ISK2, pak je nutno zkopírovat i CONF a použít parametr "LNGRESOURCEPATH=C:\ISK2\CONF". Ten zajistí načítání resourců K2.LNG z lokálního zdroje. |
LOG |
pro zadání cesty a jména souboru protokolu, nutné použít navíc i parametr LOGLEVEL |
LOGAPPEND |
|
LOGENABLEDTILL |
Hodnotou je datum, do kterého se provádí protokolování K2. Po uplynutí tohoto data se protokolování neprovádí. |
LOGINLANGNO |
jazyk přihlašovacího okna (0, 1, parametr není zadán – angličtina, 2 – němčina, 3 – slovenština, 5 – čeština) |
LOGLEVEL |
|
LOGMAXFILESIZE |
Lze zadat maximální velikost logovacího souboru v MB. Očekává se celé číslo. |
LOGOPDURATION |
Např. LOGOPDURATION=5000 protokoluje všechny databázové operace trvající déle než 5s. |
LOGUSER |
|
LOWERLIMITFORDATA |
Umožňuje potlačit zobrazení dokladů z historických období. Zadáváme číslo období, od něhož se mají doklady zobrazovat. Podmínka na období se automaticky přidává jako systémová podmínka do filtrace. Příklad: 119. V K2 se budou zobrazovat doklady vystavené do období 2019 a vyššího. Při filtraci se doplní systémová podmínka "Období =>2019". Pomocí parametru "SUPRESSLOWERLIMITFORDATA" můžeme dále stanovit, pro které datové moduly omezení na období nemá platit. |
MAIN |
hlavní adresář K2, např. X:\K2 |
MAINONTASKBAR |
Vypíná volbu Application.MainFormOnTaskBar. Ta způsobuje problémy při zobrazeni hintu v K2 jako publikované aplikaci. Pokud se uvede MAINONTASKBAR=0 bude volba vypnuta. Rozdíl je vidět v titulku aplikace, kde je jenom přihlášený uživatel. 0 - vypnuto 1 - zapnuto (implicitně) |
MANDANT |
jméno mandanta pro uživatele pro přesměrování, starší parametr FIRMA |
MEMORYPROFILER |
Zapne profilování paměti ve skriptu.
|
NAME |
jméno uživatele, který se přihlašuje |
NOLOGCHANGES |
Vypne zápisy do souboru ZMĚNY, použití např. NOLOGCHANGES=1 (cokoliv). |
NOLOGINMSG |
Vypne zobrazování hlášení při přihlašování, když je:
|
NOTRANWND |
Zobrazení okna transakci 0 - zapnuto 1 - vypnuto |
OBR |
viz. PICTURES |
ORASERVER |
používá se při konverzi mezi MS SQL a Oracle jako určení Oracle databázového serveru; pokud je při běžném spuštění zadán SERVER i ORASERVER a K2 běží na Oracle, tak se přednostně bere SERVER |
OWNCOMPANY |
Nastavení vlastní firmy na AS. OWNCOMPANY=ČísloVlastníFirmy |
PARAMADDHEADERTOCSVEXPORT |
pokud se parametr rovná 1, přidá se hlavička s názvy sloupců do vyexportovaného CSV. |
PASSWORD |
heslo pro automatické přihlášení |
PICTURES |
určuje zobrazování obrázků v K2, hodnoty lze kombinovat 0 – nezobrazuje obrázky v přihlašovacím okně 1 – zobrazuje (výchozí stav) 4 – zmenšené přihlašovací okno pro čtečky |
PREFERREDCELLAPP |
Upřednostňovaný přístup k souborům tabulkových procesorů. Nabývá hodnot:
Při nenastaveném parametru přistupuje K2 k souborům Excelu pomocí LIBXL_XML. Přístup k OpenOffice nebo LibreOffice zůstává nezměněn. Pokud se bude soubor vytvářet pomocí skriptu třídy TCellData, doporučujeme v názvu souboru neuvádět příponu. Ukládání souboru ji doplní automaticky podle požadovaného provideru. Při načítání souboru je tabulkový procesor volen rovněž podle přípony. |
PREFERREDPDFLIB |
umožňuje zvolit verzi DLL pro export do PDF
|
PREFERREDUNIFORMUI |
umožňuje hromadně nastavit Univerzální formuláře všem uživatelům K2 0 - K2 preferuje Univerzální formuláře podle nastavení v parametrech uživatele 1 - K2 vynuceně preferuje Univerzální formuláře |
PDFCOMPRESS |
zapnutí / vypnutí produkce komprimovaného (menšího) PDF 0 - vypnuto 1 - zapnuto (implicitně) |
PDFIMAGEBYREF |
export obrázku do PDF jako reference - více stejných obrázků bude ve výsledném PDF uloženo jen jednou => menší PDF 0 - vypnuto 1 - zapnuto (implicitně) |
PRODUCEPDFA |
exportované PDF vyhovuje standardu PDF/A. Parametr je platný pouze pro PDFcp4.DLL, viz parametr PREFERREDPDFLIB 0 - vypnuto (implicitně) 1 - zapnuto - tedy PDF/A - |
PRINTERSENUM |
Způsob zjišťování existence tiskáren vcl - podle Borlandu (implicitní) level2 - podle Microsoftu (po otestování bude jako implicitní) |
PTLEV1 |
počet opakování jednotlivých operací pro paralelní transakce (izolační stupeň 1) – momentálně nepoužito (standardně 10) |
PTLEV2 |
počet opakování celých transakcí pro paralelní transakce (izolační stupeň 2) (standardně 10) |
PTWAIT |
počet milisekund pro čekání mezi jednotlivými pokusy pro paralelní transakce (standardně 100) |
REFRESHPRINTERS |
Způsobí obnovení seznamu tiskáren vždy, pokud se systém snaží najít tiskárnu podle řetězce nebo pokud je zobrazen PrintDialog. vypnuto (implicitně) zapnuto |
REGOFF |
nastavení výchozí hodnoty proměnných RDSEnable a RFSEnable skriptů 1 - nastavuje výchozí hodnotu proměnných RDSEnable a RFSEnable na False (zachování stavu před verzí 127.92) když není parametr uveden je výchozí hodnota nastavena na True, pokud nejde o registrovaný skript |
REPARCHIVEPATH |
Cesta k archivovaným sestavám ve formátu FILE:K2FIRM:REPARCHIVE\ nebo FILE:C:\TEMP. |
REQUIREDMODULES |
Specifikuje seznam povinných modulů oddělených středníkem. Např.: REQUIREDMODULES=k2p_zeos.bpl;k2p_firma.bpl
|
RSOFF |
nastavením RSOFF=cokoliv se vypne provádění registrace registrovaných funkcí, využije se především při chybě v registračním skriptu |
SCRIPT |
jméno skriptu při spouštění scriptexem. |
SCRIPTEXRDSON |
Zapnutí datových registrovaných funkcí pod scriptexem. ScriptEx má defaultně podporu registrovaných funkcí vypnutu, lze ji zapnou přidáním parametru SCRIPTEXRDSON=1. |
SCRIPTRSDEBUG |
Zapnutí způsobí pouštění gaugy v režimu bez vytváření threadu. |
SCRIPTTIMEOUT |
maximální délka skriptu v sekundách, po který má běžet skript spuštěný scriptexem |
SERVER |
jméno serveru (nainstalované MS SQL 2000) s databází pro driver MS_SQL nebo pro OLAP; pro driver ADOPSQLEXT lze tento parametr použít podobně jako pro MS SQL jako jméno serveru |
SESSIONMES |
'NO' nezobrazí hlášení při vícenásobném přihlášení |
SESSIONNO |
číslo pro zajištění startu K2 pod vnuceným číslem session (0…999) |
SUPRESSLOWERLIMITFORDATA |
Návazný parametr k parametru "LOWERLIMITFORDATA". Parametrem stanovujeme, pro které datové moduly nemá platit podmínka omezení na období definovaná v parametru "LOWERLIMITFORDATA". Zadáváme číslo datového modulu.
|
SYMBOLTABLEFIX |
hodnota 0 - mechanismus překladu skriptů z verze 137 |
TESTFRONTY |
interval mezi jednotlivým čtením fronty transakcí – sériové transakce (implicitně se fronta transakcí čte v intervalech 100ms), zkrácením intervalu lze zlepšit propustnost transakcí na výkonných serverech a sítích, kde se zpracovává velké množství krátkých transakcí |
TIMESERVER |
Slouží k nastavení serveru pro časovou synchronizaci, aby měly všechny K2 stejný čas a nebraly je z času lokálního PC. |
TIMESERVERB1 |
Záložní TIMESERVER 1. |
TIMESERVERB2 |
Záložní TIMESERVER 2. |
TRANSABUNDLE |
max. počet záznamů, které lze zařadit do jedné transakce – zatím použito pouze pro výmaz protokolů o přenosu (standardně 5000) |
USEBADDATEFORMAT |
hodnota 1 - vrátí pro klasické formuláře původní formát data 'DD.MM.YYYY' Pozn.: Parametr je k dispozici od verze K2 mia.04 a je určen pouze pro verzi K2 mia. |
USEDLANGS |
seznam jazyků, které se budou zobrazovat k výběru; zadávají se čísla jazyků oddělená středníky |
WEEKNUMBERS |
Zobrazí číslo týdne v kalendářích. Možné problémy s číslováním jsou popsány zde. |
FORMPOSITIONCORRECTION |
Pokud je parametr nastaven, kontroluje systém při spuštění umístění okna na obrazovce. Pokud detekuje umístění mimo obrazovku tak okno vycentruje. Implicitně je tato funkce vypnuta a zapnout ji můžeme nastavením parametru na FORMPOSITIONCORRECTION=1. |
Zadávání parametrů pro lokální instalaci K2
Pro lokální instalaci K2 lze načítat parametry K2 z lokálního souboru K2local.ini. Parametry je nutné zapsat do sekce [K2].
Priorita parametrů při spouštění k2.exe jako lokální instalace:
- Příkazová řádka
- k2local.ini
- k2.ini v hlavní složce K2
Doporučení: V rámci celé K2 používat pouze jeden název parametru. Např. FIRMA je stejný jako MAND.
Parametry AS
Název parametru |
Popis |
AS3LOGLEVEL |
Parametr umožňuje nastavit podrobnost logování K2_AS. 0 - logování pouze chyb 1 - logování chyb a warningů 2 - logování informací, warningů a chyb 3 - logování rozšířených informací, informací, warningů a chyb 4 - logování debug informací a všech z levelu 3 5 - vypnutí logování K2_AS (logují se jen standardní K2 události) Výchozí hodnota je 3. |
AS3SERVERPIPE |
Název komunikační trubky mezi klienty a K2_AS. |
AS3USERS |
Počet uživatelů pro anonymní dotazy z K2 API. |
AS3USER |
Prefix uživatelů pro anonymní dotazy z K2 API. Číslují se od 1. |
AS3PASSWORD |
Heslo uživatelů pro anonymní dotazy z K2 API. |
AS3IO |
Číslo internetového obchodu v K2, proti kterému se budou ověřovat uživatele (záložka Web, e-shop v kontaktních osobách). |
AS3CONTACTPERSON |
Číslo výchozí kontaktní osoby pro nepřihlášeného uživatele e-shopu. |
AS3AFFINITYMASK |
Parametr nastavuje spřažení procesu K2_AS a CPU systému. |
AS3MEMORYPROFILER |
Parametr příkazové řádky, zapíná paměťový profiler K2_AS. |
AS3TRYTORESTARTAFTER |
Parametr, kterým se nastavuje doba v hodinách, po které se K2_AS pokusí o tzv. "preventivní" restart. Je to proto, aby se uvolnila nesprávně alokovaná paměť. Po uplynutí zadané doby začne K2_AS hlídat navázaná spojení, jak reálná, tak anonymní. V případě, že nebude žádné aktivní spojení, provede se restart. Tento parametr je funkční jen tehdy, pokud není na K2_AS zapnutá služba plánovače. |
LIMITMEMORYTO |
Slouží k nastavení velikosti paměti aplikací, aby nedošlo k zahlcení paměti počítače, kde běží AS. Velikost paměti se udává v MB. Aplikace 32 bit jsou technologicky limitovány na maximální velikost 4 GB pro aplikaci, a to počítače většinou zvládnou. Využití se tak předpokládá zejména u 64-bitového AS, kdy je maximální velikost limitována na 8 TB pro aplikaci, což znamená, že AS je schopný vyčerpat všechnu volnou paměť. |
Parametry, které nemají význam v ini souboru
INIFILENAME |
Alternativní název pro k2.ini. Např. při spuštění K2 takto: k2.exe INIFILENAME=moje.ini se místo souboru k2.ini použije soubor moje.ini umístěný v adresáři u k2.exe (resp. v adresáři určeném parametrem MAIN rovněž v příkazovém řádku) |
Spouštění AS developeru
Po spuštění AS developeru se zobrazí okno pro zadání jména a hesla, kam se vyplní stejné údaje, jako pro přihlášení do K2.
Po přihlášení se objeví další okno s tlačítky, která pouštějí editor skriptu nebo sestav.
AS developer lze rovněž spouštět z příkazové řádky stejně, jako např. scriptex s vyplněnými parametry MAIN, SERVER, CATALOG, NAME, PASSWORD, SCRIPT.
Ostatní parametry K2 lze rovněž použít, pokud je AS developer používá, např. logování. Parametry v následující tabulce jsou pouze pro AS developer.
Volitelné parametry:
Název parametru |
Popis |
TESTCOMPILE |
Seznam skriptů nebo sestav z databáze oddělený středníkem, nad kterými se má spustit test přeložitelnosti. V adresáři SESTAVYW se vytváří *.ERR soubory s popisem chyby, pokud dojde při překladu k chybě. |
Parametr LOGLEVEL
Parametr LOGLEVEL je číslo, které je dáno součtem jednotlivých bitových hodnot, z nichž každá reprezentuje jinou úroveň protokolu.
Jednotlivé bitové hodnoty tedy znamenají:
Hex |
Dec |
Popis |
0001 |
1 |
základní protokol |
0002 |
2 |
operace do paměti |
0004 |
4 |
operace do souboru |
0008 |
8 |
potvrzování transakcí |
0010 |
16 |
identifikace transakcí |
0020 |
32 |
odmítnutá přihlášení |
0040 |
64 |
spouštěné skripty bez registrovaných |
0200 |
512 |
spouštěné AM sestavy |
0800 |
2048 |
logování vyjímek na kterých končí K2 nebo skript. |
1000 |
4096 |
spouštěné registrované skripty |
2000 |
8192 |
logování všech vytvářených vyjímek |
1 Základní protokolování – vypisují se informace o otevíraných souborech, toto protokolování nemá nepříznivý vliv na výkon
2 Btrieve operace do paměti – zaznamenává operace prováděné v rámci transakcí a umožňuje jejich prohlížení v okně pro čekání na dokončení transakce, používá se pouze pro účely hledání operací, na který se serializují paralelní transakce, popřípadě pro zjišťování objemu transakcí z hlediska počtu operací a zjišťování, o které operace jde, toto protokolování nemá nepříznivý vliv na výkon
4 Btrieve operace do paměti – zaznamenává operace prováděné v rámci transakcí vypisuje je do protokolu v okamžiku ukončení transakce, používá se pouze pro účely hledání operací, na který se serializují paralelní transakce, popřípadě pro zjišťování objemu transakcí z hlediska počtu operací a zjišťování, o které operace jde, toto protokolování má nepříznivý vliv na výkon a proto se používá pouze výjimečně při lokalizaci závažných problémů
8 Potvrzování transakcí – nevypisuje do protokolu nic navíc, pouze vynutí dotaz potvrzující ukončení každé transakce, používá se pro simulaci nekončícího uzamčení, pro podrobné prohlížení obsahu transakcí v okně pro čekání na dokončení transakce, toto protokolování má velmi nepříznivý vliv na výkon a proto se používá pouze výjimečně při lokalizaci závažných problémů nebo pro navození simulovaných problémů, používá se ve spojitosti s úrovní 2 nebo 4
16 Identifikace transakcí – do protokolu se vypisují informace o prováděných transakcích, vždy je pořízen záznam o zahájení transakce s daným jménem a časem a záznam o ukončení transakce v daném čase a s daným počtem operací. Používá se pro sledování provozu K2 na paralelních transakcích. Lze vyhodnocovat propustnost systému, počty a doby transakcí, lze vysledovat transakce náročné na počet operací i na čas, lze vysledovat návaznost mezi transakcemi (serializace), slouží pro odhalování úzkých míst při práci v K2, toto protokolování nemá nepříznivý vliv na výkon
32 Odmítnutá přihlášení – zapisuje odmítnutá přihlášení, čas a důvod
64 Spouštěné skripty – vypisuje záznamy o spuštění a ukončení běhu skriptu, používá se pro zjišťování časové a paměťové náročnosti skriptů K2.
512 Spouštěné AM sestavy – vypisuje záznamy o spuštění, ukončení formátování a ukončení s AM sestavy.
2048 Sledování vyjímek, na kterých končí K2 nebo skript.
4096 Spouštěné registrované skripty – vypisuje záznamy o spuštění, ukončení formátování a ukončení s AM sestavy. vypisuje záznamy o spuštění a ukončení běhu skriptu, používá se pro zjišťování časové a paměťové náročnosti skriptů K2, toto protokolování může mít nepříznivý vliv na výkon v případě hojného použití registrovaných skriptů.
8192 Sledování všech vytvářených vyjímek K2 nebo skriptem.
Protokolování výjimek
Pokud je cílem sledování výjimek pouze ve skriptu pak stačí klasická distribuce K2. Pokud je cílem sledování výjimek mimo skript (standard K2), pak je nutné spouštět tzv. debug verzi K2 (asi 70MB EXE), který není součástí distribuce, jehož distribuce je zde. Zapnutí logování se provádí v parametru LOGLEVEL, který je popsán v kapitole Parametr LOGLEVEL.
Funkce používající parametry
Číslo |
Název |
FuncIntParam |
FuncStrParam |
712 |
Test překladu souborových skriptů |
|
Adresář, kde se má překlad spustit |
Parametry SysK2.ini
Název parametru |
Popis |
VERSION |
verze K2 |
RELEASE |
release K2 |
BUILD |
build K2 |
DATABASE |
databáze na které běží K2 |
TYPE |
typ instalace |
MSSORTLCID |
třídění databáze MS SQL - pořadí znaků |
MSCOLLATION |
porovnávání znaků MS SQL |
MSLASTCHAR |
poslední znak třídění MS SQL |
ORACHARSETID |
třídění databáze Oracle - pořadí znaků |
ORASORT |
porovnávání znaků Oracle |
ORALASTCHAR |
poslední znak Oracle |
LANGUAGES |
seznam jazyků, které se budou importovat do LangTr; zadávají se čísla oddělená středníky |
LICENSEFILE |
cesta k souboru, ze kterého naposledy instalátor importoval licenci. Při reinstalaci typu build nebo release se tak instalátor neptá na licenční soubor. U reinstalace typu verze se vždy během instalace licence vyžaduje. |
SCRIPTDEFINES |
umožňuje nastavit globální proměnné pro podmíněný překlad skriptu. Jednotlivé proměnné se oddělují středníkem. |
Dodatky
Zobrazování souborů nápovědy chm
K2 používá HTML nápovědu. Společnost Microsoft vydala bezpečnostní záplatu KB896358, která odstraňuje bezpečnostní nedostatky v HTML nápovědě. Po instalaci této bezpečnostní záplaty přestane nápověda K2 zobrazovat text nápovědy. Řešení je popsáno na:
Kontaktujte prosím správce Vaší počítačové sítě. Jedno z těchto řešení je upravit ve Windows registrech hodnotu
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions\MaxAllowedZone=1 (popřípadě 2).
Následující řádky uložte do souboru s příponou REG a tento soubor spusťte s právy zápisu do registrů na všech stanicích, které požadují zobrazení nápovědy K2. Správce sítě může zmíněná řešení zařadit do doménové politiky.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]"MaxAllowedZone"=dword:00000001
Servisní postupy
Konverze dat K2 mezi jednotlivými DB platformami
Nejdříve nainstalujeme K2 s jiným požadovaným databázovým strojem pomocí K2 Setup do jiného adresáře nebo na jiný server.
V této nové K2 vytvoříme databáze všech mandantů, které chceme konvertovat. V tuto chvíli nezáleží na obsahu tabulek, protože konverze všechny tabulky vymaže a naplní obsahem původních tabulek. Pro urychlení je vhodné importovat data z umístění …\SERVISW\INIT\Data\.
Zkopírujeme adresář CONF a firemní adresáře do nově nainstalované K2 a provedeme následující operace:
- Proměnnou SERVER nastavit na MS SQL server.
- Proměnnou ORASERVER nastavit na Oracle server.
- Na plochu si přidáme tlačítko, které spustí funkci Správce – Konverze do MS SQL nebo Oracle a stiskneme tlačítka (konvertuj data, konvertuj CONF) .
- Katalogy v MS SQL i Oracle se musí jmenovat stejně.
- Pokud se nepoužívají standardní přihlašovací údaje K2 a jsou v setk2pasword.exe záznamy v sysk2.ini v sekci K2Bin, musí se překopírovat do nově nainstalované K2 do sysk2.ini. Pokud již existuje sekce K2Bin v nové K2, musí se přečíslovat názvy klíčů BinKey, aby byly unikátní.
Příklady K2.ini
Tento K2.ini se upravuje v nově nainstalované K2
- Oracle -> MS SQL:
Původní soubor |
Upravený soubor |
[K2] SERVER=K2_ORA_SERVER CATALOG=K2 DRIVER=ORACLE LOGINLANGNO=5 |
[K2] SERVER=K2_MS_SERVER ORASERVER=K2_ORA_SERVER CATALOG=K2 DRIVER=ORACLE LOGINLANGNO=5 |
- MS SQL -> Oracle:
Původní soubor |
Upravený soubor |
[K2] SERVER=K2_MS_SERVER CATALOG=K2 DRIVER=MSSQL LOGINLANGNO=5 |
[K2] SERVER=K2_MS_SERVER ORASERVER=K2_ORA_SERVER CATALOG=K2 DRIVER=MSSQL LOGINLANGNO=5 |
Spuštění konverze
Po spuštění funkce pro konverzi z tlačítka se zobrazí následující dialogové okno (bez textů v horní části).
V bílé ploše se zobrazují informace o konvertovaných tabulkách – počet záznamů a čas spuštění a ukončení. V případě nemožnosti konverze se objeví hlášení !!! ROLLBACK !!!, tabulka se nezkonvertuje a všechny změny se vrátí do původního stavu. Po opravě problému lze napsat její název do editačního pole a stisknout tlačítko Konvertuj.
Ve spodní části jsou tlačítka pro spuštění konverzí:
- Konvertuj: spustí konverzi na tabulce zadané v editačním poli.
- Konvertuj data: spustí konverzi na všech tabulkách vybraného mandanta, musí se spustit v každém mandantu, kterého chceme kopírovat.
- Konvertuj conf: spustí konverzi na tabulkách confu, spouští se jen jednou.
Obr.: Okno pro spouštění konverzí
Při samotné konverzi se pro každou tabulku zobrazí ukazatel stavu a průběhu konverze.
Obr.: Průběh konverze dat jedné tabulky
Použití programu SetK2Password
Program slouží pro nastavení hesla uživatele K2 na SQL serveru.
Postup:
- Na SQL serveru změníme heslo uživateli K2, případně vytvoříme uživatele na jiném serveru.
- Spustíme program SetK2Password na serveru - lokálním počítači.
- Pole server necháme prázdné, poté stiskneme tlačítko přihlásit.
Pokud jsou přihlašovací údaje správné, tlačítko „Přihlásit“ zšedne a tlačítko „Přidat heslo“ zčerná.
- 4. Vyplníme pole server, kam napíšeme jméno serveru, kde běží K2, shoduje se s hodnotou SERVER v K2.ini nebo jiný, kam se má K2 přihlašovat. Do pole jméno napíšeme uživatele, pod kterým se přihlašuje K2 nebo pod kterým se chceme přihlásit k jinému serveru. Standardně je to uživatel K2. Do pole heslo napíšeme heslo, které jsme zadali v bodě Všechny hodnoty musí být zadány.
- 5. Do souboru SysK2.ini SetK2Password zapíše zašifrované hodnoty, pod kterými se K2 bude přihlašovat k serveru.
- 6. Pokud již existují hodnoty Server - Uživatel, objeví se následující hlášení:
- Pokud zvolíme přepsat, přepíší se staré přihlašovací údaje novými.
- 7. K2 se nyní bude přihlašovat novými přihlašovacími údaji.
Rozšíření souborového modulu
Tato funkčnost je k dispozici pouze s použitím driveru MSSQL nebo Oracle podle databázové platformy.
K2 umožňuje uživatelsky rozšířit libovolné tabulky v K2. Ke každé tabulce lze přidat sloupec, který je možno plnit libovolnými daty. Zároveň lze přidat i nový index tabulky. Je ovšem potřeba mít na paměti, že neuvážené rozšiřování tabulek nebo přidávání indexů může zpomalit běh K2 v modulech, které rozšířené tabulky používají. K tabulkám lze přidávat nebo odebírat nové sloupce nebo indexy. Funkce je zařazena ve stromu v sekci Správce.
Po spuštění funkce se zobrazí formulář se seznamem všech tabulek mandanta používaných v K2.
Formulář rozšíření souborových modulů 0. strana
Po stisku F5 se kontroluje, zda lze vytvořit soubor ve složce Mandant, nebo Conf dle typu rozšíření. Pokud uživatel nemá právo, nebo není dostatek místa nepřejde formulář do změny a objeví se hlášení.
Obr.: Hlášení o zákazu provádět změny
Pokud se neobjeví výše uvedené hlášení, dostaneme se do editace záznamu na 1. straně. Formulář zde obsahuje dva gridy. V horním je seznam nově definovaných polí a ve spodním je seznam nově definovaných indexů.
Zadávání nových polí
Pro zadání nových polí v tabulce je potřeba stisknout klávesu Ins. Objeví se formulář, do kterého se musí vyplnit následující údaje:
- Číslo pole - celé číslo od 2000 výše
- Popis - popis pole
- ProgName - jméno pole v databázi, musí začínat „EX_“
- Picture - jak má vypadat zobrazení hodnoty
- FieldName - jak se pole bude jmenovat v K2
- Typ - datový typ pole (Čas, Celé číslo, Datum, Datum a čas, Desetinné číslo, Reálné číslo, String)
- Délka - počet znaků pro stringové pole nebo desetinné číslo
- Dec: - počet desetinných míst u desetinného čísla
- Default - zadání výchozí hodnoty. Uživatel je zodpovědný za její zadání. Je potřeba zapsat tak, jak to vyžaduje SQL server (se správným desetinným oddělovačem, v rozpoznatelném tvaru data, text musí být v ´´ a nesmí být delší, než je definovaná délka pole). Výchozí hodnota může být dána i funkcí. Syntaktická kontrola zadání není možná.
- Právo na pole - číslo práva, které umožní vidět hodnotu daného pole.
- Volitelný index - pole bude k dispozici ve správě volitelných indexů.
Obr.: Zadání nového pole typu WideString
Zadání nových indexů
Nové indexy se zadávají po stisknutí klávesy Ins. ve spodním gridu. Je možno vytvořit index skládající se až z deseti polí. Nové indexy mohou mít vlastnosti, které podporují DB servery a pole mohou být tříděná vzestupně nebo sestupně.
Vlastnosti indexu:
- ixUnique - index je unikátní
- ixCaseInsensitive - v textových polích nerozhoduje velikost písmen
- ixOptFil - index s optimálním plněním
- ixClustered - clastrovaný index
Obr.: Vytvoření nového klíče
Uložení změn
Při uložení změn se zobrazí hlášení o nutnosti zkonvertovat měněnou tabulku.
Pokud jsme si jisti, že chceme změnu provést, stiskneme Ano.
Dále je vhodné zálohovat tabulku prodej. Z K2 ve správě databází zvolíme export příslušné tabulky. Po konverzi se zobrazí protokol.
Proto, abychom mohli pracovat s novým polem, je potřeba restartovat K2, protože v paměti zůstávají staré údaje o tabulce.
Změny se ukládají v adresáři firmy v souboru TableMod.xml. Soubor, který se vytvoří z výše uvedených příkladů vypadá následovně:
<?xml version="1.0" encoding="Windows-1250"?>
<TableMod><field><FileNo>123</FileNo><FieldNo>2000</FieldNo><Description>Nové pole v tabulce prodej </Description><ProgName>EX_PNove </ProgName><FieldName>EX_FNove </FieldName><FieldPicture>S25 </FieldPicture><FieldType>1</FieldType><FieldLen>25</FieldLen><FieldDecLen>0</FieldDecLen></field><index><FileNo>123</FileNo><Description>Nový klíč </Description><IndexName>By_EX_PNove </IndexName><Attributes>0</Attributes><Segment1>2000</Segment1><Segment1C>1</Segment1C><Segment2>8060929</Segment2><Segment2C>0</Segment2C><Segment3>8060930</Segment3><Segment3C>0</Segment3C><Segment4>8060931</Segment4><Segment4C>0</Segment4C><Segment5>0</Segment5><Segment5C>0</Segment5C><Segment6>0</Segment6><Segment6C>0</Segment6C><Segment7>0</Segment7><Segment7C>0</Segment7C><Segment8>0</Segment8><Segment8C>0</Segment8C><Segment9>0</Segment9><Segment9C>0</Segment9C><Segment10>0</Segment10><Segment10C>0</Segment10C></index></TableMod>
Odebrání změn
Pokud zjistíme, že již nepotřebujeme námi definované pole, např. z důvodu, že standard K2 vytvořil podobné nebo stejné pole, je možné námi vytvořená pole nebo indexy odstranit. Poté proběhnou stejné konverze jako v bodě 12.4.3 a zobrazí se protokol o provedených změnách.
Přenos rozšíření mezi mandanty
Postup:
- V mandantovi, do kterého chceme přenést rozšíření, vybereme volbu z menu Formulář – Akce – Převzít rozšíření
- Objeví se formulář pro výběr mandanta, ze kterého chceme převzít rozšíření.
- Po výběru mandanta se kontrolují pole a klíče na duplicity a o výsledku je vypsán protokol.
- V případě, že je vše v pořádku, postupuje se dále stejně jako v kapitole 10.3.3 Uložení změn.
- Do nového mandanta je nakopírován soubor TableMod.xml.
- Po vytvoření polí je potřeba restartovat K2, aby se změny projevily.
Rizika použití rozšíření
Přenosy
U tabulek, které se přenášejí mezi pobočkami, se musí nejprve přenést rozšíření a poté teprve vlastní přenos dat. Platí to vždy po vytvoření rozšíření nebo změně struktury tabulky.
Mzdy a VPB
U těchto modulů dochází při zálohování k uložení celého záznamu a tím pádem, pokud dojde ke změně struktury tabulky, dochází k nekonzistencím. Proto po změně jakékoli tabulky mezd nebo VPB, je potřeba příslušnou zálohu vymazat.
Externí doplňková pole
Definování externích doplňkových polí (EDP) se provádí ze stromového menu Správce - Systém - Externí doplňková pole. EDP se týkají pouze hlaviček datových modulů, viz výběr v poli Datový modul na 1. straně.
Definice pole
Pro zadání nového pole jsou potřeba na formuláři vyplnit následující pole:
- Datový modul - se kterým DM je pole svázáno
- Číslo pole - každé pole musí mít v rámci jednoho DM unikátní číslo v rozsahu <1, 99>
- Popis - popis pole
- Progname - jméno, pod jakým se k poli bude přistupovat
- Fieldname - jak se pole bude jmenovat v K2
- Typ - datový typ pole (Čas, Celé číslo, Datum, Datum a čas, Desetinné číslo, Reálné číslo, String)
Dále lze vytvořit na EDP vazby, které se definují při výběru vazby (v poli vazba je jiná hodnota než 0). V tom případě jsou potřeba vyplnit i další pole parametrů vazby, pokud je vazba vyžaduje. Příznaky povinná a testovaná říkají, že pole při uložení formuláře DM, nad kterým je EDP vytvořeno, budou při uložení vyžadována (povinná) a nebo kontrolována na správnou hodnotu (testovaná).
Definice EDP jsou uloženy v adresáři mandanta v souboru ExtFields.xml. Příklad souboru:
<?xml version="1.0" encoding="Windows-1250"?>
<Qfields><field><BindPar3>0</BindPar3><BindCheck>0</BindCheck><BindReq>0</BindReq><BindPar4>0</BindPar4><BindPar2>0</BindPar2><BindPar1>0</BindPar1><Bind>0</Bind><FieldDecLen>0</FieldDecLen><FieldLen>20</FieldLen><FieldType>1</FieldType><FieldName>PevUmi </FieldName><ProgName>PevUmi </ProgName><Description>PevUmi </Description><FieldNo>1</FieldNo><DMNum>19</DMNum><Selection> </Selection><ActualDate>22.11.2007</ActualDate><ActualTime>12:32:46</ActualTime><SQLOrder>1</SQLOrder></field></Qfields>
Porovnání s rozšířením souborových modulů
Rozdíly mezi externími doplňkovými poli a uživatelským rozšířením tabulek:
Externí doplňková pole |
Rozšíření souborových modulů |
vytvoří se pouze v případě, že mají vyplněnou hodnotu |
existují vždy bez ohledu na vyplnění. |
ukládají se ve speciální tabulce |
jsou součástí tabulky, kde byly vytvořeny |
ve skriptu jsou přístupná pouze jako pole DM |
ve skriptu jsou přístupná jako ke standardní pole xFile nebo DM |
indexy se neřeší |
mohou se vytvářet vlastní indexy |
nové pole se nemůže přidat do indexu, protože není součástí tabulky, nad kterou běží DM |
nové pole může být součástí indexu |
nedají se uživatelsky smazat |
sloupce se mohou libovolně vytvářet a mazat |
vazba se definuje při vytváření pole |
vazbu je potřeba vytvořit pomocí RF stejně jako u jiných polí tabulky, pokud ji nevytváří K2 |
Servisní postupy MS SQL
Záloha databáze
- V Enterprise Manageru se připojíme ¨k příslušnému serveru.
- Klikneme pravým tlačítkem myši na databázi, vybereme volbu Tasks a zvolíme Backup ….
- Na záložce General stiskneme tlačítko Add a napíšeme cestu a jméno souboru nebo vybereme jednotku, kam se mají zálohovat data.
- Na záložce Options můžeme zvolit, zda chceme přidat zálohu k již do již existujícího, Append to the existing backup set, nebo chceme přepsat stávající soubor, Overwrite all existing backup sets.
- Stiskneme tlačítko OK.
- Tím se provede záloha SQL databáze.
Přenos dat K2_mandanta z jednoho serveru na druhý (kopie)
Tyto úkony provádí správce, který má administrátorská práva na MS SQL serveru.
- Nejdříve je třeba provést Backup databáze kterou chceme kopírovat, viz předchozí kapitola.
- Na cílovém serveru je potřeba mít připravenou databázi a to buď již existující z minulé kopie nebo je potřeba ji vytvořit.
- Pak je třeba provést Restore databáze do této nově vytvořené databáze.
- Klikneme pravým tlačítkem myši na databázi, vybereme volbu Tasks a zvolíme Restore, Database ….
- Na záložce General vybereme From device a dále vybereme pomocí tlačítka vedle editačního pole soubor se zálohou, vytvořený podle předchozí kapitoly.
- Ve spodní části okna vybereme zálohu, kterou chceme obnovit. V případě, že se provádí Append, viz. předchozí kapitola, tak se ve spodním okně objeví tolik řádků, kolik je záloh v daném souboru.
- Na záložce Options je potřeba zaškrtnout Overwrite file with existing database (WITH REPLACE), čímž se přepíší data v cílové databázi.
- Dále je potřeba zkontrolovat, zda jsou správně nastaveny cesty k souborům mdf a ldf. Tyto soubory musí existovat a přepíší se daty ze zálohy.
- Stiskneme tlačítko OK.
Nastavení práv uživatele K2
Toto nastavení se provádí po přenesení nebo obnovení zálohy pokud při spuštění K2 se objeví chyba připojení k databázi.
Obr.: Chyba, když není správně přiřazen uživatel K2 na MS SQL serveru
- V nově vytvořené databázi v sekci databáze - Security – Users smažeme uživatele K2 a pokud je to nutné, tak i schéma.
- V uživatelích DB stroje v sekci server - Security – Logins klikneme na uživatele K2 a zvolíme Properties.
- Na záložce User Mappings vyhledáme nově vytvořenou databázi, označíme ji ve sloupci map a ve spodní části okna ještě označíme db_owner.
- Stiskneme tlačítko OK a tím je databáze připravena pro použití v K2.
Editace databází pomocí SQL Server Enterprise Manager
Pomocí SQL Management Studia lze editovat záznamy v tabulkách databází. V sekci Tables si vybereme tabulku a v kontextovém menu zvolíme Edit Top 200 Rows.
Zálohování dat
Co se má zálohovat:
- IS K2 (SQL) – do souboru pomocí SQL nástrojů a pak na pásku pomocí NTBACKUP
- Server „SERVERK2“ – na pásku pomocí NTBACKUP
Server SERVERK2
SQL databáze
Na tomto serveru jsou zálohovány jen SQL databáze. Na serveru SERVERK2 jsou vytvořeny SQL JOBy, které zajistí zálohu do souborů (viz Seznam databází a Backup Devices).
Seznam databází:
Název |
Recovery Model |
Kdy a jak |
K2 |
Full |
každý Pá Database – Complete (20:15), So až Čt Trans. Log (20:15) |
K2_FIRMAxy |
Full |
každý Pá Database – Complete (20:25), So až Čt Trans. Log (20:25) |
K2_FIRMAxy |
Simple |
každý Pá Database – Complete (20:30) |
Master |
Simple |
denně Database – Complete (20:00) |
Model |
Full |
každý Pá Database – Complete (20:05), So až Čt Trans. Log (20:05) |
Msdb |
Simple |
denně Database – Complete (20:10) |
Poznámka: U vytváření JOBů si dát pozor, zda-li se bude Backup Device přepisovat nebo se do něho bude přidávat.
Příklad nastavení JOBů pro databázi K2:
K2 backup Full |
každý Pá |
20:15:00 h |
přepsat |
K2 backup Log NeazCT |
od Ne do Čt |
20:15:00 h |
přidat |
K2 backup Log SO |
každou So |
20:15:00 h |
přepsat |
Backup Devices:
Name |
Device Type |
K2 Full |
Disk Backup |
K2 Log |
Disk Backup |
K2_FIRMAxy Full |
Disk Backup |
K2_FIRMAxy Log |
Disk Backup |
K2_FIRMAxy_DM Full |
Disk Backup |
master Full |
Disk Backup |
model Full |
Disk Backup |
model Log |
Disk Backup |
msdb Full |
Disk Backup |
NTBACKUP
Každý den v 21:30 se spustí naplánovaná úloha SERVERK2_TAPE.CMD v uživatelském kontextu SERVERK2\ZALOHA. Tato úloha spustí NTBACKUP.EXE.
Nastavení NTBACKUP – ukládaní na pásku:
Zdroj – co se bude zálohovat (SERVERK2.BKS): |
C:\ D:\ SystemState |
Páska: |
libovolně pojmenována páska |
K2BugReporter
Program slouží ke zjištění callstacku a převod callstacku do čitelné podoby.
- Volá se projekty K2 na pozadí ke zjištění callstacku všech vláken aplikace.
- Dokáže vypsat call stack z běžící aplikace, která neodpovídá, aby bylo možné zjistit příčinu.
- Převádí soubory paměťového profilování do čitelné podoby.
- Zjišťuje symboly i mimo prostor aplikace Delphi, tedy i systémových DLL.
Získání callstacku z aplikace pomocí ProcessId (zjistí se ze správce úloh, sloupec PID):
- vypisuje do příkazového řádku: K2BugReporter.exe SNAPSHOT 4536
- vypisuje do souboru: K2BugReporter.exe SNAPSHOT 4536 >> callstack.txt
Pro získání zátěže aplikace se vypisuje do souboru: K2BugReporter.exe PERFORMANCE 4536 >> performance.txt. V tomto režimu se provede 10 sejmutí callstacku v intervalu 1 sekundy a provede se i zjištění zátěže jednotlivými vlákny - následně se vše zapíše do standardního výstupu.
Postup vytvoření souboru paměťového profilování K2_AS a převod do čitelné podoby:
- Nastaví se parametr AS3MEMORYPROFILER=1 do K2.ini
- Spustí se K2_AS a krátký časový interval (jednotky hodin pro prvotní zjištění množství memory leaků)
- Ukončí se K2_AS, načež se vytvoří soubory (ddddd)-K2.LOG a (ddddd)-SCRIPT.LOG
- Soubor (ddddd)-SCRIPT.LOG obsahuje neuvolněné paměťové bloky, které vznikly za běhu skriptů
- Soubor (ddddd)-K2.LOG je třeba převést do čitelné podoby pomocí volání K2BugReporter.exe RepairCallstack (ddddd)-K2.LOG
- Předchozím krokem vznikne soubor (ddddd)-K2.STK, který se předá na vývoj k odstranění memoryleaků v jádru K2_AS
Pro lepší možnost vyhodnocení příčiny zaseknutí aplikace je vhodné nástroj spustit 3 - 5 krát.
Aby bylo možné zjišťovat informace z aplikací běžících pod různými uživateli, je nutné spouštět K2BugReporter jako administrátor.
Servisní postupy na Oracle Express Edition
Níže popsaný postup zálohování Oracle Express Edition je možný pouze pro instalaci v prostředí MS Windows. Nutnou podmínkou je velikost místa na disku. Samotná databáze pro použití s IS K2 potřebuje minimálně 20GB prostoru a pokud jsou zálohy prováděny na stejný disk je potřeba si uvědomit, že jedna záloha si vyžaduje asi 1,5GB a to data K2 obsahují pouze databázi Conf, Demo a Init. V případě nefunkčnosti K2 může být s vysokou pravděpodobností problém s místem na disku. Zálohu lze spustit pouze na počítači, kde je nainstalován Oracle XE.
Zálohování dat
V Oracle Express Edition zálohování databáze spočívá v zálohování fyzických souborů, které tvoří databázi. Jsou to jednak datové soubory, jednak soubory uchovávající řídící a systémové informace, dále pak soubory s parametry pro práci serveru (SPFILE) a v případě, že máme aktivní režim ARCHIVELOG, tak i soubory protokolu pro případnou obnovu posledních transakcí. Při používání databáze s IS K2 je zapotřebí mít parametr ARCHIVELOG vždy zapnutý. Stav nastavení parametru ARCHIVELOG zjistíme na hlaví stránce pro správu databáze v grafickém bloku Usage monitor. V případě, že při zálohování K2 není tento mód zapnutý, K2 připraví skript, který se o vše potřebné postará.
Vlastní zálohování K2 probíhá pomocí skriptu Zálohování Oracle XE, který najdeme pod klíčovým slovem Správce. Tento skript je možno pouštět pouze na stanici nebo serveru, kde je nainstalována databáze Oracle Express Edition. Skript je nastaven tak, že si zkontroluje všechna potřebná nastavení a uživatel pouze odklikává hlášení. Uživatel při zálohování pouze může odsouhlasit krok nebo ukončit skript a záloha nebude provedena. Skript v podstatě pracuje ve dvou režimech. První: skript potřebuje pro svou činnost a správnou funkci zálohování přenastavit některé parametry databáze. Tato část upozorní uživatele na nutnost ukončení všech ostatních běžících K2, kromě té, ze které se skript pouští. Tato K2 se ukončí automaticky a po provedení zálohy se opětovně pustí. Uživatel bude vyzván standardním spouštěcím dialogem K2 k zadání hesla. Druhý režim provede zálohu za běhu, kdy zálohování čeká na ukončení transakcí. V tuto chvíli je vhodné přestat po dobu zálohování pracovat s K2 na všech stanicích, aby záloha proběhla co možná nejdříve.
První spuštění skriptu se nesmí spouštět jako naplánovaná úloha, neboť vyžaduje odezvu uživatele. Druhé a další spuštění lze pouštět automaticky jako naplánovanou úlohu, pokud nejsou prováděny změny v nastavení databáze, které mohou způsobit běh skriptu v prvním režimu. Jedná se o nastavení parametru ARCHIVELOG a db_recovery_file_dest_size, která musí být aspoň 20GB.
Popis skriptu Zálohování Oracle XE
Parametry
BackupPath |
Cesta k úložišti záložních souborů. Pokud je tento parametr nastaven, je porovnán s dříve nastavenou hodnotou v databázi Oracle XE a pokud se tyto hodnoty liší, provede se přednastavení parametru v databázi Oracle XE. Pokud je parametr prázdný nebo se shoduje s nastavenou hodnotou, neprovádí se žádné přednastavení. Implicitní hodnota není nastavena. Cesta musí být lokální v rámci počítače. |
ArchivePath |
Cesta do adresáře archivu záloh. Tento parametr může nebo nemusí být nastaven. Pokud je nastaven, provede se zkopírování aktuálního záložního souboru do tohoto umístění. Implicitní hodnota není nastavena. Cesta může být i síťová. |
ArchiveCount |
Počet záložních souborů, které se mají uchovat. Pokud je tento parametr > 0, budou se mazat soubory v archivním adresáři tak aby po dokončení zálohy byl v adresáři, uvedeném v parametru ArchivePath, počet souborů odpovídající nastavené hodnotě. Minimální počet záloh pro obnovu databáze jsou 2, proto pokud je hodnota parametru 1, nastaví se na 2. Implicitní hodnota je 3. |
Průběh skriptu a možná hlášení
1. Skript kontroluje zda běží na Oracle. Pokud ne, objeví se následující hlášení a skript končí.
2. Skript kontroluje, zda se jméno počítače shoduje se jménem serveru. Zálohu lze totiž provádět pouze na počítači, kde je nainstalován Oracle XE.
3. Skript kontroluje, zda existuje cesta do adresáře Oracle XE. Pokud cestu nenalezne, končí.
4 Skript kontroluje, zda se na standardním místě nachází dávkový soubor, který provádí zálohu. Pokud ne, skript končí.
5. V případě, že je požadováno zálohování souboru zálohy, skript kontroluje, zda existuje adresář pro uchovávání záloh záložních souborů. Pokud ne, končí.
6. Skript varuje uživatele při změně nastavení databáze Oracle XE, kterou musí provést a kdy není pro K2 dostupná databáze. Většinou jde pouze o první spuštění skriptu.
7. Skript upozorňuje uživatele, že K2, ze které je spouštěno zálohování, čeká, až skončí zálohování.
8. Pokud je nastaven parametr ArchiveCount, odmažou se nejstarší soubory, aby před započetím zálohy v archivním adresáři zadaném v parametru ArchivePath zůstalo (ArchiveCount - 1) záloh.
9. Provede se záloha databáze.
10. Pokud je zadán parametr ArchivePath, provede se kopie souborů záloh do zadaného umístění, kde se ještě vytvoří adresář pojmenovaný podle data a času zálohy a v rámci tohoto adresáře další podadresáře ARCHIVELOG, AUTOBACKUP, BACKUPSET a ONLINELOG. Do tohoto umístění se zkopíruje obsah všech adresářů z BackupPath.
Obnovení zálohy
Obnovení zálohy se provádí pomocí standardního nástroje Oracle XE, který je v menu Oracle Express Edition -> Restore Database. Pokud je potřeba se vrátit do dřívějších stavů, nakopíruje se do umístění BackupPath soubory z patřičné zálohy. Před tímto úkonem je nutno zastavit databázi, protože jsou drženy soubory v adresáři ONLINELOG. Po nakopírování se opět použije stejný standardní nástroj Oracle XE pro obnovu databáze.