Trezorová databáza (trezor) je dlhodobý archív, ktorý zabezpečuje časovo neobmedzenú archiváciu hodnôt v SQL databázach. Do trezorovej databázy sú zapisované všetky hodnoty archívneho objektu, ktorý má vo svojej konfigurácii nastavený parameter Zápis aj do trezoru. Požiadavka na zápis do trezorovej databázy je generovaná okamžite po zápise do hlavnej archívnej databázy. Čiže zápis prebieha takmer paralelne so zápisom do archívnej databázy. Na rozdiel od hlavnej databázy, údaje z trezorovej databázy nie sú automaticky on-line prístupné a nikdy sa nevymazávajú. On-line sprístupnenie údajov z trezorových databáz je možné po ich namontovaní do systému.
...
Poznámka: Zistenie konfigurácie trezorov je možné pomocou TELL príkazu LIST_TREZOR.
Kotva | ||||
---|---|---|---|---|
|
...
V konfigurácií archívu je definovaná perióda, počas ktorej archív zapisuje údaje do jednej trezorovej databázy. Po uplynutí periódy sa databáza odloží a začne sa zapisovať do novej trezorovej databázy. Odložená databáza je ešte určitý čas (konfiguračný parameter TrezorCompressTime) prístupná na zápis oneskorených údajov. Po uplynutí tohto času je skomprimovaná nástrojmi Sybase do ReadOnly tvaru a odložená do adresára, ktorý určuje konfiguračný parameter TrezorCompressPath. Meno komprimovanej databázy obsahuje čas skončenia zapisovania do trezoru (napr. Trezor_2008_03_20_16.cdb).
Poznámka: Kompresia Sybase databáz je implementovaná na podporovaných verziách Sybase Adaptive Server Anywhere 6 až 9. Od verzie Sybase SQL Anywhere 12 už neexistuje utilita na kompresiu databázy a táto vlastnosť sa považuje za zastaranú. Trezorové databázy sa nekomprimujú, ale ostávajú v adresári, ktorý určuje konfiguračný parameter TrezorCompressPath, ako súbory .db a .log (napr. Trezor_2010_02_04_07.db a Trezor_2010_02_04_07.log).
Predčasné odpojenie aktuálnej trezorovej databázy je možné TELL príkazom RELEASE_TREZOR.
Off-line analýza údajov z trezorovej databázy je možná bez jej dekompresie. Na analýzu bola vytvorená podpora pre import dát z trezorovej databázy do EXCELU. Vzhľadom na použitie štandardného SQL formátu, je možné na analýzu použiť ľubovoľný nástroj vhodný pre prácu s SQL databázami.
...
Poznámka: Zistenie konfigurácie trezorov, ako aj zoznam pripojených trezorov, je možné pomocou TELL príkazu LIST_TREZOR.
Upozornenie: Pri vytváraní trezorovej databázy, alebo ak databáza neexistuje, proces D2000 Archiv databázových templates nakopíruje template trezorovej databázy a inicializuje jej vnútornú štruktúru. Preto je neprípustné manuálne kopírovanie templates trezorovej databázy, nakoľko D2000 Archiv už neinicializuje trezorovú databázu, keď ju nájde v adresári \Trezor príslušného aplikačného adresára.
...
Predčasné odpojenie aktuálnej trezorovej databázy je možné TELL príkazom RELEASE_TREZOR.
Archív si vnútorne udržuje zoznam trezorov v archívnej databáze v tabuľke Trezors.
...
Zmyslom trezorových segmentov je vytvorenie viacerých menších trezorov, takže pri čítaní jednej archivovanej hodnoty za dlhší časový úsek je možné vystačiť s menším diskovým priestorom (keďže je nutné montovať iba trezorové segmenty obsahujúce túto archivovanú hodnotu), ako by vyžadovalo montovanie celého objemu trezorov za žiadané obdobie.
Po zapnutí trezorových segmentov bude mať tablespace nultého segmentu názov APLIKACIA_TS_TREZORID (rovnaký ako trezorový tablespace pri vypnutých segmentoch) a všetky ostatné segmenty názvy APLIKACIA_TS_TREZORID_seg, kde seg je dvojmiestne číslo segmentu (medzi 01 a TrezorCountSegments).
Ak TrezorCountDatafiles=1, názov dátových súborov sú APLIKACIA_TS_TREZORxxID_Syy_YYYYMMDD.ORA.
Ak TrezorCountDatafiles>1, názvy dátových súborov sú APLIKACIA_TS_TREZORxxID_Syy_zz_YYYYMMDD.ORA, kde xxID je ID zľava doplnené nulami na dĺžku štyroch znakov, yy je číslo segmentu zľava doplnené nulou na dĺžku dvoch znakov, z je číslo dátového súboru zľava doplnené nulou na dĺžku dvoch znakov a YYYYMMDD je dátum vytvorenia trezoru.
Príklad názvu: TEST_TS_TREZOR0005_S02_01_20060930.ORA.
...
Všetky konfiguračné parametre umiestnené vo Windows Registry sú typu String s výnimkou parametrov TrezorCompressOffline, TrezorCountDatafiles, TrezorCountSegments a TrezorNoLogging, ktoré sú typu DWORD.
TrezorPath - cesta na adresár, v ktorom sa vytvárajú dátové súbory trezorových tabuľkových priestorov. Je nutné zadať aj koncové lomítko adresára. Ak nie je parameter TrezorPath zadaný, dátové súbory sa vytvárajú v adresári databázy.Kotva trezorpathora trezorpathora - TrezorCompressPath - cesta na adresár, do ktorého sa presúvajú dátové súbory odpojených trezorových tabuľkových priestorov. Je nutné zadať aj koncové lomítko adresára. Ak je zadaný parameter TrezorCompressPath, je nutné zadať aj TrezorPath, inak dátové súbory nebudú presúvané.
TrezorPeriod - perióda vytvárania trezorov. Udáva sa vo formáte NX, kde N je celé číslo a X udáva časovú jednotku.Kotva trezorperiodora trezorperiodora
Prípustné časové jednotky sú:- H - hodina
, - D - deň
, - W - týždeň
, - M - mesiac.
Poznámka: Nastavením prázdnej hodnoty alebo hodnoty 0H sa vypne vytváranie trezorových databáz.
- M - mesiac.
TrezorCompressOffline - hodnota 1 (prednastavená) znamená, že skomprimovaný trezor bude daný do offline módu. Hodnota 0 znamená, že trezor ostane v read-only móde a dáta budú dostupné na čítanie. Hodnota 2 znamená, žeKotva trezorcompressofflineora trezorcompressofflineora archív - D2000 Archív nebude do trezoru pristupovať, kým sa vykonáva TrezorPostCompressCmd, takže je možné, aby tento príkaz vykonával rôzne operácie údržby, ktoré by inak mohli archív zablokovať.
TrezorCompressTime - čas určujúci odpojenie trezorového tablespace. Počas tohto času je tablespace prístupný na zápis oneskorených údajov. TrezorCompressTime musí byť menší ako TrezorPeriod.Kotva trezorcompresstimeora trezorcompresstimeora
TrezorCountSegments - počet trezorových segmentov (trezorových tablespace), ktoré sa paralelne vytvárajú. Prednastavená hodnota je 0 (vytvára sa jediný segment 0), maximálna hodnota je 99 (vytvárajú sa segmenty 0 až 99). Parameter je typu DWORD !!!.Kotva trezorcountsegments trezorcountsegments
TrezorCountDatafiles - počet dátových súborov v tablespace, štandardne 1 (parameter je typu DWORD !!!).Kotva trezorcountdatafiles trezorcountdatafiles
TrezorStartDatafileSize - veľkosť dátového súboru pri vytváraní (v syntaxi Oracle, napr. 500K, 300M). Parameter musí byť zadaný.Kotva trezorstartdatafilesize trezorstartdatafilesize
Poznámka: na platforme OpenVMS+Oracle 9.2.0.x je problém s dátovými súbormi, ktoré sú poškodené pri dosiahnutí veľkosti 4GB - treba najskôr otestovať!
TrezorMaxDatafileSize - maximálna veľkosť dátového súboru (v syntaxi Oracle, napr. 500K, 300M alebo UNLIMITED). Ak parameter nie je zadaný, datafile má pevnú veľkosť určenú pri vytváraní. Viď poznámku pri predchádzajúcom parametri.Kotva trezormaxdatafilesize trezormaxdatafilesize
TrezorDatafileSizeStep - veľkosť prírastku dátového súboru (v syntaxi Oracle, napr. 200K, 1M) pri jeho zväčšovaní (ON NEXT klauzula príkazu CREATE TABLESPACE). Ak nie je zadaný, klauzula ON NEXT sa nepoužije a prírastok bude prednastavená hodnota databázy (štandardne 8K).Kotva trezordatafilesizestep trezordatafilesizestep
TrezorDatafileSuffix - prípona dátového súboru. Prednastavená hodnota tohto parametra je ORA.Kotva trezordatafilesuffix trezordatafilesuffix
TrezorPrefix - pokiaľ nie je nastavený, prefix názvu trezoru a dátových súborov je APLIKACIA_TS_TREZOR.Kotva trezorprefix trezorprefix
Nastavením hodnoty TrezorPrefix je možné zmeniť tento prefix. Parameter má význam v spojitosti s parametrom DbUsername pri migrácii archívnej databázy z jednej aplikácie do druhej (resp. pri premenovaní aplikácie) so zachovaním archívneho tablespace a existujúcich trezorov (napr. na OldApp_TS_TREZOR).- TrezorReadOnlyTimeout - parameter udáva timeout (v sekundách) pri dávaní trezoru do READ ONLY módu. Po vypršaní timeoutu archív vygeneruje systémový alarm "Changing trezor tablespace read-only takes more than 120 sec, possible Oracle lock!". Prednastavená hodnota je 120 sekúnd.
TrezorReadSegment0 - Parameter má zmysel iba ak sú nakonfigurované trezorové segmenty (nenulová hodnota parametra TrezorCountSegments). Zapnutie parametra (hodnota 1) spôsobí, že pri čítaní z trezorov sa bude čítať aj z trezorového segmentu 0. Čítanie z trezorov tak bude pomalšie, ale zato je možné prekonfigurovať archívne objekty z prednastaveného trezorového segmentu 0 na iný segment a zároveň zachovať prístup k údajom, ktoré boli v minulosti uložené v segmente 0.Kotva trezorreadsegment0 trezorreadsegment0
Parameter TrezorReadSegment0 sa dá nastavovať TELL príkazom SET_OPTION.
TrezorReadSinceCreate - hodnota 1 znamená, že sa nebudú čítať staršie trezory, ako je Create Time archívneho objektu. Parameter TrezorReadSinceCreate sa dá nastavovať TELL príkazom SET_OPTIONdatabáz.Kotva trezorreadsincecreate trezorreadsincecreate
TrezorPostCompressCmd - názov programu, ktorý sa spustí po odpojení trezoru a prípadnom presune dátových súborov odpojeného trezoru. Program môže byť určený napr. na zozipovanie dátových súborov a ich prekopírovanie po sieti.Kotva trezorpostcompresscmdora trezorpostcompresscmdora
Poznámka: pred spustením príkazu sa nastavia environment premenné D2000_DBUSER a D2000_DBPASS na meno a heslo, ktoré D2000 Archív používa pri prístupe do archívnej databázy. Tieto premenné môžu byť použité v skripte na pripojenie sa k archívnej databáze.
TrezorPostCompressPar - voliteľný parameter programu TrezorPostCompressCmd. Môže obsahovať ľubovoľný text a preddefinované makrá, ktoré sa nahradia pred spustením programuKotva trezorpostcompressparora trezorpostcompressparora Kotva trezorpostcompressparora trezorpostcompressparora TrezorPostCompressPar - voliteľný parameter programu TrezorPostCompressCmd. Môže obsahovať ľubovoľný text a preddefinované makrá, ktoré sa nahradia pred spustením programu:- #ID# - nahradí sa Id trezora (napr. 15).
- #TREZOR# - nahradí sa názvom trezorového tablespace (napr. TEST_TS_TREZOR5).
- #SEGMENTS# - nahradí sa počtom segmentov trezoru (t.j. hodnotou konfiguračného parametra TrezorCountSegments).
- #FILES# - nahradí sa počtom dátových súborov trezoru (t.j. hodnotou konfiguračného parametra TrezorCountDatafiles).
- #FILE1#, #FILE2# atď. - nahradí sa názvom príslušného dátového súboru aj s cestou, pokiaľ bola cesta udaná parametrom TrezorPath (napr. C:\ora920\oradata\D2000\TEST_TS_TREZOR5_1.ORA).
TrezorCountDatafiles 1
TrezorPostCompressCmd C:\utils\zip.exe
TrezorPostCompressPar -m D:\backup\Trezor#ID#.zip #FILE1#
Po odpojení napr. trezoru č.5 sa spustí program
C:\utils\zip.exe -m D:\backup\Trezor5.zip C:\ora920\oradata\D2000\TEST_TS_TREZOR5_1.ORA
Príklad 2: Konfigurácia, ktorá spustením TELL príkazu zabezpečí pripojenie trezoru na čítanie po jeho odpojení:
TrezorPostCompressCmd c:\D2000\D2000.E70\bin\tell.exe
TrezorPostCompressPar dst=SELF.ARC cmd="MOUNT_TREZOR #ID#" uid=myuser pwd=mypassword- TrezorNoLogging - parameter typu DWORD, ktorého nenulová hodnota spôsobí, že trezorový tablespace sa vytvára v NOLOGGING móde. Ak má nulovú hodnotu alebo neexistuje, trezorový tablespace sa vytvára v LOGGING móde (generuje REDO logy a je obnoviteľný).
...
Kotva | ||||
---|---|---|---|---|
|
Kotva | ||||
---|---|---|---|---|
|
Parameter TNS_Service_Name_Trezor sa nachádza v registri vo vetve príslušnej aplikácie a archívu, napr. HKEY_LOCAL_MACHINE\Software\Ipesoft\D2000V70\cfg_test\SELF.ARC
Databáza, v ktorej sa budú vytvárať trezory, musí obsahovať príslušný archívny tablespace (vytvorený rovnako ako pri konfigurácii Oracle archívu pre aplikáciu) a príslušného užívateľa meno_aplikacie_archiv, napr. test_archiv.
Poznámka: Zistenie konfigurácie trezorov je možné pomocou TELL príkazu LIST_TREZOR.
Spoločný trezor pre viac archívov na platforme Oracle
...
Trezorová databáza je realizovaná samostatnou databázou. Názov trezorových databáz je daný konfiguračným parametrom PG_TrezorName0.
Podobne ako pre Sybase, v konfigurácii archívu je definovaná perióda TrezorPeriod, počas ktorej archív zapisuje údaje do jednej trezorovej databázy. Po uplynutí periódy sa databáza odloží a začne sa zapisovať do novej trezorovej databázy. Odložená databáza je ešte určitý čas (konfiguračný parameter TrezorCompressTime) prístupná na zápis oneskorených údajov. Po uplynutí tohto času je nastavený read-only prístup do trezorovej databázy (ALTER DATABASE APLIKACIA_TREZOR_#ID# SET default_transaction_read_only = true) a pokiaľ hodnota parametra TrezorCompressOffline=1, je zakázaný prístup k trezorovej databáze (update pg_database set datallowconn = false where datname = 'APLIKACIA_TREZOR_#ID#'). Po odpojení trezoru je možné spustiť externý program, ktorého cestu a názov určuje konfiguračný parameter TrezorPostCompressCmd a jeho parametre určuje parameter TrezorPostCompressPar.
Program môže napr. presunúť a zozipovať odpojený trezor alebo pomocou programu pg_dump vytvoriť dump trezorovej databázy.
Pozn 1V D2000 verzii 21 pribudla možnosť pri odpojení trezora zmeniť jeho vnútornú štruktúru a tak niekoľkonásobne zmenšiť jeho veľkosť. Táto možnosť sa aktivuje parametrom TrezorCompress.
Pozn 1: Aby databázový užívateľ dba (pod ktorým sa D2000 Archív pripája na PostgreSQL server) mohol databázy vytvárať a odpájať, je odporúčané dať mu privilégium superužívateľa ( ALTER ALTER ROLE dba WITH SUPERUSER; ).
Pozn 2: Keďže každá trezorová databáza (resp. každý trezorový segment) je samostatná databáza, ku ktorej proces D2000 Archiv pristupuje cez samostatné databázové spojenie, je nutné v konfigurácii PostgreSQL servera nastaviť dostatočný počet spojení (parameter max_connections), aby D2000 Archív mohol vytvoriť spojenia na všetky pripojené trezory.
...
Trezory na platforme PostgreSQL podporujú aj trezorové segmenty (podobne ako na platforme Oracle). Trezorovým segmentom sa rozumie trezorová databáza, pričom sa vytvára a napĺňa viac trezorových databáz naraz. Každá archivovaná hodnota sa ukladá do jedného trezorového segmentu, ktorého číslo určuje konfiguračný parameter Trezorový segment na archivovanej hodnote.
Počet trezorových segmentov, ktoré archív vytvára, učuje registry parameter TrezorCountSegments. Archivované hodnoty, ktoré majú parameter Trezorový segment väčší ako je hodnota registry parametra TrezorCountSegments, budú zapisované do nultého trezorového segmentu (to je trezorová databáza, ktorý sa vytvára aj pri vypnutých trezorových segmentoch).
...
Zmyslom trezorových segmentov je vytvorenie viacerých menších trezorov, takže pri čítaní jednej archivovanej hodnoty za dlhší časový úsek je možné vystačiť s menším diskovým priestorom (keďže je nutné montovať iba trezorové segmenty obsahujúce túto archivovanú hodnotu), ako by vyžadovalo montovanie celého objemu trezorov za žiadané obdobie.
...
PG_TrezorFilePath - parameter je použiteľný pre PostgreSQL 9.5 a vyšší a aktivuje zápis do trezorov cez súbory, ktorý je 2 až 3-krát rýchlejší ako štandardný dávkový zápis cez ODBC rozhranie. Po nazhromaždení PG_TrezorFileMulti * CommitCount hodnôt sa tieto uložia do súboru s názvom archiv_<TrezorId>_<SegmentId>.txt (napr. archiv_4_1.txt) v adresári PG_TrezorFilePath a vykoná sa upsert do trezoru, pričom ako zdroj sa použije vzdialená tabuľka (foreign table) mapovaná na tento súbor pomocou PostgreSQL rozšírenia file_fdw.Kotva pg_trezorfilepath pg_trezorfilepath
Adresár PG_TrezorFilePath musí byť dostupný na zápis pre archív aj pre databázu PostgreSQL, preto je tento parameter použiteľný, ak je archív a databáza na tom istom počítači.
PG_TrezorName0 - maska pre názov vytváranej trezorovej databázy. Pokiaľ sú zapnuté trezorové segmenty, táto maska sa použije pre segment 0. Prednastavená hodnota je appname_TREZOR_#ID#, kde appname je názov aplikácie a #ID# sa nahrádza číslom trezora.Kotva pg_trezorname0 pg_trezorname0
Napr. pre aplikáciu Test vzniknú trezory Test_TREZOR_1, Test_TREZOR_2, Test_TREZOR_3 atď.
Zadaná maska teda musí obsahovať text #ID#.
Poznámka: ak nevyhovuje prednastavená hodnota, tak treba hodnotu parametra nastaviť pred zapnutím trezorovania. Pokiaľ by bolo potrebné zmeniť hodnotu počas trezorovania, je nutné ručne premenovať všetky už vytvorené trezorové databázy tak, aby boli v súlade s novou maskou.
PG_TrezorName - maska pre názov vytváraných databáz - trezorových segmentov 1..N. Parameter je použitý iba ak TrezorCountSegments > 0.Kotva pg_trezorname pg_trezorname
Prednastavená hodnota je appname_TREZOR_#ID#_#SEG#, kde appname je názov aplikácie, #ID# sa nahrádza číslom trezora a #SEG# sa nahrádza číslom segmentu.
Napr. pre aplikáciu Test s počtom trezorových segmentov 1 vzniknú trezory Test_TREZOR_1, Test_TREZOR_1_1, Test_TREZOR_2, Test_TREZOR_2_2, Test_TREZOR_3, Test_TREZOR_3_1 atď.
Zadaná maska teda musí obsahovať text #ID# a #SEG#.
Poznámka: ak nevyhovuje prednastavená hodnota, tak treba hodnotu parametra nastaviť pred zapnutím trezorovania. Pokiaľ by bolo potrebné zmeniť hodnotu počas trezorovania, je nutné ručne premenovať všetky už vytvorené trezorové databázy tak, aby boli v súlade s novou maskou.
TrezorPeriod - perióda vytvárania trezorov. Udáva sa vo formáte NX, kde N je celé číslo a X udáva časovú jednotku.Kotva trezorperiodpg trezorperiodpg
Prípustné časové jednotky sú H - hodina, D - deň, W - týždeň, M - mesiac.
Poznámka: Nastavením prázdnej hodnoty alebo hodnoty 0H sa vypne vytváranie trezorových databáz.
trezorcompressofflinepgKotva
trezorcompressofflinepgtrezorreadsegment0pg
TrezorCompressOffline - hodnota 1 (prednastavená) znamená, že skomprimovaný trezor bude daný do offline módu. Hodnota 0 znamená, že trezor ostane v read-only móde a dáta budú dostupné na čítanie. Hodnota 2 znamená, že archív nebude do trezoru pristupovať, kým sa vykonáva TrezorPostCompressCmd, takže je možné, aby tento príkaz vykonával rôzne operácie údržby, ktoré by inak mohli archív zablokovať.trezorreadsegment0pg Kotva trezorcompresstimepg trezorcompresstimepg TrezorCompressTime - čas určujúci komprimáciu odloženej trezorovej databázy. Počas tohto času je databáza prístupná na zápis oneskorených údajov. TrezorCompressTime musí byť menší ako TrezorPeriod.TrezorReadSegment0 - Parameter má zmysel iba ak sú nakonfigurované trezorové segmenty (nenulová hodnota parametra TrezorCountSegments). Zapnutie parametra (hodnota 1) spôsobí, že pri čítaní z trezorov sa bude čítať aj z trezorového segmentu 0. Čítanie z trezorov tak bude pomalšie, ale zato je možné prekonfigurovať archívne objekty z prednastaveného trezorového segmentu 0 na iný segment a zároveň zachovať prístup k údajom, ktoré boli v minulosti uložené v segmente 0.
Parameter TrezorReadSegment0 sa dá nastavovať TELL príkazom SET_OPTION.
TrezorReadSinceCreate - hodnota 1 znamená, že sa nebudú čítať staršie trezory, ako je Create Time archívneho objektu. Parameter TrezorReadSinceCreate sa dá nastavovať TELL príkazom SET_OPTION.Kotva trezorreadsincecreatepg trezorreadsincecreatepg
TrezorCompress, TrezorCompressKeep, TrezorCompressReorg,TrezorCompressCmt,TrezorCompressOrder - parametre na konfiguráciu kompresie dát v pri odkladaní trezora.Kotva trezorcompress trezorcompress
TrezorCompressOffline - hodnota 1 (prednastavená) znamená, že skomprimovaný trezor bude daný do offline módu. Hodnota 0 znamená, že trezor ostane v read-only móde a dáta budú dostupné na čítanie. Hodnota 2 znamená, že D2000 Archív nebude do trezoru pristupovať, kým sa vykonáva TrezorPostCompressCmd,takže je možné, aby tento príkaz vykonával rôzne operácie údržby, ktoré by inak mohli archív zablokovať.Kotva trezorcompressofflinepg trezorcompressofflinepg
TrezorCompressTime - čas určujúci komprimáciu odloženej trezorovej databázy. Počas tohto času je databáza prístupná na zápis oneskorených údajov. TrezorCompressTime musí byť menší ako TrezorPeriod.Kotva trezorcompresstimepg trezorcompresstimepg
TrezorCountSegments - počet trezorových segmentov (trezorových tablespace), ktoré trezor paralelne vytvára. Prednastavená hodnota je 0 (vytvára sa jediný segment 0), maximálna hodnota je 99 (vytvárajú sa segmenty 0 až 99). Parameter je typu DWORD !!!.Kotva trezorcountsegmentspg trezorcountsegmentspg
TrezorPostCompressCmd - názov programu, ktorý sa spustí po odpojení trezoru. Program môže napr. presunúť a zozipovať odpojený trezor alebo pomocou PostgreSQL utility pg_dump vytvoriť dump trezorovej databázy.Kotva trezorpostcompresscmdpg trezorpostcompresscmdpg
Poznámka: pred spustením príkazu sa nastavia environment premenné D2000_DBUSER a D2000_DBPASS na meno a heslo, ktoré D2000 Archív používa pri prístupe do archívnej databázy. Tieto premenné môžu byť použité v skripte na pripojenie sa k archívnej databáze.
TrezorPostCompressPar - voliteľný parameter programu TrezorPostCompressCmd. Môže obsahovať ľubovoľný text a preddefinované makrá, ktoré sa nahradia pred spustením programu:Kotva trezorpostcompressparpg trezorpostcompressparpg - #ID# - nahradí sa Id trezora (napr. 5).
- #OID# - nahradí sa OID (object identifier) trezorovej databázy (OID zodpovedá názvu adresára s databázou v rámci PostgreSQL tablespace).
- #OID0#, #OID1#, #OID2# atď - nahradí sa OID (object identifier) trezorovej databázy
Kotva trezorcountsegmentspg trezorcountsegmentspg TrezorCountSegments - počet trezorových segmentov (trezorových tablespace), ktoré trezor paralelne vytvára. Prednastavená hodnota je 0 (vytvára sa jediný segment 0), maximálna hodnota je 99 (vytvárajú sa segmenty 0 až 99). Parameter je typu DWORD !!!.Kotva trezorpostcompresscmdpg trezorpostcompresscmdpg TrezorPostCompressCmd - názov programu, ktorý sa spustí po odpojení trezoru. Program môže napr. presunúť a zozipovať odpojený trezor alebo pomocou PostgreSQL utility pg_dump vytvoriť dump trezorovej databázy.Kotva trezorpostcompressparpg trezorpostcompressparpg TrezorPostCompressPar - voliteľný parameter programu TrezorPostCompressCmd. Môže obsahovať ľubovoľný text a preddefinované makrá, ktoré sa nahradia pred spustením programu:- #ID# - nahradí sa Id trezora (napr. 5).
- #OID# - nahradí sa OID (object identifier) trezorovej databázy (OID zodpovedá názvu adresára s databázou v rámci PostgreSQL tablespace).
- #OID0#, #OID1#, #OID2# atď - nahradí sa OID (object identifier) trezorovej databázy reprezentujúcej príslušný trezorový segment 0, 1, 2 atď.
- #TREZOR# - nahradí sa názvom trezorovej databázy (napr. Test_TREZOR_5).
- #TREZOR0#, #TREZOR1#, #TREZOR2# atď. - nahradí sa názvom trezorovej databázy reprezentujúcej príslušný trezorový segment
Príklad dávkového súboru, ktorý slúži na upratanie a export trezorov po ich odpojení ako aj na export tabuľky trezors z archívnej databázy MyApp.Archiv. Dávkový súbor vyžaduje ako parameter názov trezorovej databázy, čo dosiahneme nastavením parametra TrezorPostCompressPar na hodnotu #TREZOR#.
- segment
Príklad dávkového súboru, ktorý slúži na upratanie a export trezorov po ich odpojení ako aj na export tabuľky trezors z archívnej databázy MyApp.Archiv. Dávkový súbor vyžaduje ako parameter názov trezorovej databázy, čo dosiahneme nastavením parametra TrezorPostCompressPar na hodnotu #TREZOR#.
rem Target directory for exports
set MyDir=D:\Trezors_export\
rem Set PGPASSWORD to password assigned to D2000 user
set PGPASSWORD=%D2000_DBPASS%
set PGUSER=%D2000_DBUSER%
rem Set PATH to PostgreSQL installation (version-dependent)
set PATH=%PATH%;c:\Program Files\PostgreSQL\13\bin
rem export of table trezors from the archive database
pg_dump -Fc -f "%MyDir%\MyApp_arc_trezors.dmp" --table \"trezors\" MyApp.Archiv >> %MyDir%\%1.log
rem permit write access to depository database and cluster the data table
echo alter database "%1" set default_transaction_read_only=false | psql -S MyApp.Archiv >> %MyDir%\%1.log
echo alter table data cluster on ix_data_rc | psql -S %1 >> %MyDir%\%1.log
echo cluster data | psql -S %1 >> %MyDir%\%1.log
rem set access to depository database back to read only
echo alter database "%1" set default_transaction_read_only=true | psql -S MyApp.Archiv >> %MyDir%\%1.log
pg_dump -Fc -f "%MyDir%\%1.dmp" %1 >> %MyDir%\%1.log
Príklad ekvivalentného dávkového súboru pre platformu Linux:
#!/usr/bin/env bash
MyDir=/trezorbackup
MyArc=mes_tpd_archive_self
MyLog=$MyDir/$1.log
#path to pg_dump, psql etc
PATH=/usr/pgsql-11/bin:$PATH
#password for dba user
export PGPASSWORD=$D2000_DBPASS
export PGUSER=$D2000_DBUSER
#exportrem Target directory for exports
set MyDir=D:\Trezors_export\
rem Set PGPASSWORD to password assigned to postgres user during installation
set PGPASSWORD=MyPostgresPassword
set PATH=%PATH%;c:\Program Files\PostgreSQL\9.5\bin
rem export of table trezors from the archive database
pg_dump -Fc -U postgres -f "%MyDir%\MyApp_$MyDir/arc_trezors.dmp" --table \"trezors\" MyApp.Archiv$MyArc >> %MyDir%\%1.log
rem permit $MyLog
#permit write access to depository database and cluster the data table
echo alter database \"%1$1\" set default_transaction_read_only=false | psql -S -U postgres MyApp.Archiv >> %MyDir%\%1.log$MyArc >> $MyLog
echo alter table data cluster on ix_data_rc | psql -S -U postgres %1"$1" >> %MyDir%\%1.log$MyLog
echo cluster data | psql -S -U postgres %1 >> %MyDir%\%1.log
rem set "$1" >> $MyLog
#set access to depository database back to read only
echo alter database \"%1$1\" set default_transaction_read_only=true | psql -S -U postgres MyApp.Archiv >> %MyDir%\%1.log$MyArc >> $MyLog
#execute dump of depository database
pg_dump -Fc -U postgres -f "%MyDir%\%1$MyDir/$1.dmp" %1"$1" >> %MyDir%\%1.log$MyLog