...
Trezorové databázy sú dostupné na platformách Sybase, Oracle a PostgreSQL, pričom ich vlastnosti nie sú úplne totožné a závisia od možností, ktoré tieto platformy ponúkajú. Pre platformu Microsoft SQL Server, resp. Microsoft Desktop Engine (MSDE) nie sú trezorové databázy implementované.
PoznámkaPoznámky:
- Zistenie konfigurácie trezorov je možné pomocou TELL
...
- príkazu LIST_TREZOR.
...
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.
V 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 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.
Pozn 3: Aby užívateľ dba mohol vytvárať trezorové databázy, je mu nutné dať superužívateľské práva. Je to možné spraviť z D2SMC z kontextového menu archívu:
...
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).
Každý trezorový segment je realizovaný samostatnou databázou. Názov databáz reprezentujúcej segmenty 0 je daný konfiguračným parametrom PG_TrezorName0, názvy databáz reprezentujúcich segmenty 1..N sú dané konfiguračným parametrom PG_TrezorName.
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.
...
- #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#.
...
Príklad ekvivalentného dávkového súboru pre platformu Linux:
...
- Parameter RecalcUseTrezor určuje, či sa údaje v trezoroch používajú pri prepočte intervalov (tell príkaz RECALC).
- Tell príkazom SET_OPTION READ_ARCHIVE_DEPTH je možné obmedziť hĺbku dát pri čítaní z archívu a vynútiť čítanie z trezorovej databázy - a tým overiť prítomnosť dát v trezore.
| Zahrnúť stránku | ||||
|---|---|---|---|---|
|
| Zahrnúť stránku | ||||
|---|---|---|---|---|
|
| Zahrnúť stránku | ||||
|---|---|---|---|---|
|
...
