Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 2 Aktuálny »

Trezorové databázy na platforme Oracle


Trezorová databáza je realizovaná samostatným tabuľkovým priestorom (tablespace), ktorého názov je APLIKACIA_TS_TREZORID, kde ID=1,2..atď, napr. TEST_TS_TREZOR5). Trezorový tablespace sa skladá z dátových súborov (datafiles), ktorých počet určuje parameter TrezorCountDatafiles (štandardne 1). Dátové súbory sa vytvárajú v adresári TrezorPath.
Ak TrezorCountDatafiles=1, názov dátového súboru je APLIKACIA_TS_TREZORxxID_YYYYMMDD.ORA.
Ak TrezorCountDatafiles>1, názvy dátových súborov sú APLIKACIA_TS_TREZORxxID_01_YYYYMMDD.ORA, APLIKACIA_TS_TREZORxxID_02_YYYYMMDD.ORA atď., kde xxID je ID zľava doplnené nulami na dĺžku 4 znakov a YYYYMMDD je dátum vytvorenia trezoru, napr. TEST_TS_TREZOR0005_03_20060930.ORA. Veľkosť dátového súboru určuje parameter TrezorStartDatafileSize, parametrom TrezorMaxDatafileSize je možné nastaviť rast dátového súboru až do udanej veľkosti.

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 trezorový tablespace prepnutý do read-only módu (ALTER TABLESPACE APLIKACIA_TS_TREZORID READ ONLY) a pokiaľ hodnota parametra TrezorCompressOffline=1, je daný do offline (ALTER TABLESPACE APLIKACIA_TS_TREZORID OFFLINE). Pokiaľ sú zadané konfiguračné parametre TrezorPath, aj TrezorCompressPath, dátové súbory sú presunuté do adresára TrezorCompressPath.
Po odpojení trezoru (a prípadnom presune) 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.

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.

Poznámka 1: Pri prepínaní tablespace do read-only módu vyžaduje Oracle, aby na celej databáze nebola aktívna žiadna transakcia. Preto archív robí pred prepínaním commit na zápisy do archívu aj aktívneho trezoru. Je dôležité, aby databáza, ktorej súčasťou je trezorový tablespace, nebola používaná na iné účely, ktoré by vyžadovali dlhšie trvajúce transakcie, pretože v takom prípade dôjde k zablokovaniu trezorovej časti archívu až do doby ukončenia prebiehajúcich transakcií. Na informáciu o zablokovaní trezorov slúži parameter TrezorReadOnlyTimeout.

Poznámka 2: Maximálna dĺžka názvu tablespace v Oracle je 30 znakov. Toto obmedzenie treba brať do úvahy pri definovaní názvu aplikácie, aby sa celý názov APLIKACIA_TS_TREZORID (resp. APLIKACIA_TS_TREZORID_seg pri použití trezorových segmentov) zmestil do 30 znakov.

Poznámka 3: Databáza Oracle môže mať maximálne toľko dátových súborov, ako udáva parameter DB_FILES v jej inicializačnom súbore. Preto pred zapnutím trezorovania zvýšte parameter DB_FILES na dostatočnú hodnotu.

Trezorové segmenty

Od verzie 7.01.10 podporuje D2000 Archiv na platforme Oracle koncept trezorových segmentov. Trezorovým segmentom sa rozumie trezorový tablespace, pričom sa vytvára a napĺňa viac trezorových tablespace 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ý tablespace, 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.
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.

Poznámka: Od verzie D2000 7.02.010 je možné špecifikovať aj inú príponu dátového súboru ako ORA parametrom TrezorDatafileSuffix.

Poznámka: Je možné zmeniť prednastavený prefix názvu trezorových tablespace a dátových súborov z APLIKACIA_TS_TREZOR na ľubovolný pomocou parametra TrezorPrefix.

Popis konfiguračných parametrov pre platformu Oracle:

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.
  • 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.
    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.
  • 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ť.
  • 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.
  • 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 !!!.
  • TrezorCountDatafiles - počet dátových súborov v tablespace, štandardne 1 (parameter je typu DWORD !!!).
  • TrezorStartDatafileSize - veľkosť dátového súboru pri vytváraní (v syntaxi Oracle, napr. 500K, 300M). Parameter musí byť zadaný.
    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.
  • 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).
  • TrezorDatafileSuffix - prípona dátového súboru. Prednastavená hodnota tohto parametra je ORA.
  • TrezorPrefix - pokiaľ nie je nastavený, prefix názvu trezoru a dátových súborov je APLIKACIA_TS_TREZOR.
    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.
    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.
  • 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.
    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:
    • #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).
    Príklad 1: Máme zapnuté vytváranie trezorov s jedným dátovým súborom, ktorý chceme po odpojení zbaliť do súboru TrezorID.zip (ID=1,2 atď.) a presunúť do adresára D:\backup
    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ý).

Trezory mimo archívu na platforme Oracle

Na platforme Oracle je podporená konfigurácia, v ktorej sú trezory v inej databáze ako archív. TNS databázy s trezorom udáva konfiguračný parameter TNS_Service_Name_Trezor. Užívateľské meno a heslo je rovnaké ako pre archívnu databázu.
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

Na platforme Oracle je podporená konfigurácia, v ktorej dva a viac tieňových archívov pracuje nad jediným trezorom. S trezorom pritom pracuje aktívna inštancia tieňového archívu. Spoločný trezor sa zapína nastavením konfiguračného parametra Trezor_Active_Only (typu REG_DWORD) na nenulovú hodnotu. Parameter sa nachádza v registri, vo vetve príslušnej aplikácie a archívu. Keďže ide o tieňový archív, vetva archívu obsahuje aj číslo inštancie, obecne HKEY_LOCAL_MACHINE\Software\Ipesoft\D2000V70\cfg_MENO_APLIKACIE\MENO_ARCHIVU.ARC_CISLO_INSTANCIE napr. HKEY_LOCAL_MACHINE\Software\Ipesoft\D2000V70\cfg_test\SELF.ARC_2\)

Poznámka 1: Parameter Trezor_Active_Only musí mať nastavené všetky tieňové archívy, inak dôjde k vzájomnému blokovaniu sa archívov pri pokuse zapisovať do trezoru tú istú hodnotu.


  • Žiadne štítky