Pre databázu Oracle je k dispozícii PL/SQL skript Arc2Trezor.sql (nachádza sa v programovom adresári - podadresár Templates\Oracle), s pomocou ktorého môžete vytvoriť trezory z dát uložených v archívnej databáze.
Tento návod predpokladá základné znalosti správy Oracle (vytváranie tablespaces, práca s SqlPlus).

Trezory je možné vytvoriť s ľubovoľnou periódou, ktorá nemusí byť totožná s periódou TrezorPeriod. Skript Arc2Trezor.sql je možné spustiť v nástroji SqlPlus na platforme Windows alebo Linux. Podporuje vytváranie trezorov v archívnej databáze alebo mimo nej (viď konfiguračný parameter TNS_Service_Name_Trezor). Postup použitia skriptu Arc2Trezor.sql je nasledovný:

  1. Editovanie skriptu Arc2Trezor.sql a vyplnenie parametrov.
  2. Spustenie skriptu v SqlPlus a spustenie uloženej procedúry, ktorá vygeneruje súbor Arc2Trezor_out.sql.
  3. Podľa toho, či sa trezory vytvárajú v archívnej databáze alebo mimo nej:
    • vykonanie súboru Arc2Trezor_out.sql v SqlPlus (trezory v archívnej databáze),
    • vykonanie časti súboru Arc2Trezor_out.sql v SqlPlus, vytvorenie a spustenie dávkového súboru (trezory mimo archívnej databázy).

1. Editovanie skriptu Arc2Trezor.sql a vyplnenie parametrov

  1. Uložte skript Arc2Trezor.sql na disk.
  2. Upravte nasledovné parametre v záhlaví skriptu:


  3. Názov parametra Popis
    TrezorId Číslo trezora, ktorý sa vytvára. Kladné celé číslo (1,2,3 atď.). Čím novší trezor, tým vyššie číslo.
    AppName Názov aplikácie. Od názvu aplikácie a čísla trezora sa odvodzujú názvy trezorových tablespaces.
    TrezorPath Adresár, kde sú umiestnené datafiles trezorového tablespace (viď konfiguračný parameter TrezorPath). Je nutné zadať aj koncové lomítko. Príklad:
    • C:\ora920\oradata\d2000\ (Windows)
    • /opt/ora9/oradata/D2000/ (Linux)
    TrezorCountDatafiles Počet dátových súborov v trezorovom tablespace (viď konfiguračný parameter TrezorCountDatafiles).
    TrezorStartDatafileSize Počiatočná veľkosť dátového súboru (viď konfiguračný parameter TrezorStartDatafileSize).
    TrezorMaxDatafileSize Maximálna veľkosť dátového súboru (viď konfiguračný parameter TrezorMaxDatafileSize).
    TrezorDatafileSizeStep Veľkosť prírastku dátového súboru (viď konfiguračný parameter TrezorDatafileSizeStep).
    StartDateUTC, EndDateUTC Časový interval dát exportovaných do trezoru (v UTC čase).

    Poznámka: Hodnoty v trezore sú uložené v UTC čase, hodnoty v Oracle archíve štandardne v čase UTC + 2 hod.

    Pokiaľ sa trezor nachádza mimo archívnej databázy, je nutné vyplniť aj nasledovné parametre:

    Názov parametra Popis
    TrezorsInArchiveDatabase Nutné nastaviť na hodnotu TRUE.
    ArchivDBLogonInfo Prihlasovacie meno, heslo a TNS do archívu (štandardne aplikacia_archiv/swx@D2000).
    TrezorDBLogonInfo Prihlasovacie meno, heslo a TNS do databázy, ktorá bude obsahovať trezory. V tejto databáze už musí existovať archívny tablespace prístupný pre užívateľa aplikacia_archiv s heslom swx. Tento tablespace musí obsahovať aspoň prázdnu tabuľku Tabver patriacu užívateľovi aplikacia_archiv.
    OSTypeIsWindows Hodnota TRUE ak bude SqlPlus spúšťaný na Windows alebo FALSE ak na Linuxe. Databáza sa pritom môže nachádzať na ľubovoľnej platforme.
    ParallelLoading Hodnota TRUE spôsobí, že export dát z archívnej tabuľky bude prebiehať paralelne s importom archívnych dát z predchádzajúcej archívnej tabuľky. Toto nastavenie urýchli export a import, pokiaľ archívna aj trezorová databáza sú na dvoch rôznych serveroch a export/import dát prebieha na dostatočne rýchlej pracovnej stanici (väčšinou áno - pracovná stanica stíha obsluhovať aj export aj import).

2. Spustenie skriptu v SqlPlus a spustenie uloženej procedúry, ktorá vygeneruje súbor Arc2Trezor_out.sql

  1. V adresári, v ktorom sa nachádza skript Arc2Trezor.sql, spustite SqlPlus a prihláste sa ako užívateľ aplikacia_archiv:
    sqlplus aplikacia_archiv/swx@D2000
  2. Spustite SQL skript, ktorý vytvorí uloženú procedúru Arc2Trezor:
    @Arc2Trezor;
  3. Nastavte vlastnosti SqlPlus týkajúce sa formátovania výstupu a presmerujte výstup do súboru:
    SET SERVEROUTPUT ON
    SET LINE 260
    SPOOL .\Arc2Trezor_out.sql

    Poznámka: Na platforme Linux by v poslednom riadku bolo SPOOL ./Arc2Trezor_out.sql.
  4. Spustite procedúru Arc2Trezor:
    EXEC Arc2Trezor;
  5. Vypnite presmerovanie výstupu do súboru:
    SPOOL OFF

3.A. Ak sú trezory v archívnej databáze: vykonanie súboru Arc2Trezor_out.sql v SqlPlus

  1. Zo súboru Arc2Trezor_out.sql odstráňte editorom prvý riadok:
    SQL>        EXEC Arc2Trezor;
  2. Zo súboru Arc2Trezor_out.sql odstráňte editorom posledné tri riadky:
    PL/SQL procedure successfully completed.

    SQL>        SPOOL OFF
  3. Spustite vytvorenie archívu:
    @Arc2Trezor_out;
  4. Ukončite SqlPlus:
    exit

3.B. Ak sú trezory mimo archívnej databázy: vykonanie časti súboru, vytvorenie a spustenie dávkového súboru

  1. Zo súboru Arc2Trezor_out.sql vyberte časť začínajúcu sa riadkom
    REM /* Start of CreateTrezor.sql                       */
    a končiacu riadkom
    REM /* End of CreateTrezor.sql                         */
    a skopírujte ju do súboru CreateTrezor.sql
  2. Spustite SqlPlus a prihláste sa ako užívateľ aplikacia_archiv@TNS_trezorovej_databazy:
    sqlplus aplikacia_archiv/swx@TNS_trezorovej_databazy
  3. Spustením skriptu CreateTrezor.sql v SqlPlus vytvoríte trezorový tablespace a základné trezorové tabuľky:
    @CreateTrezor;
  4. Ukončite SqlPlus:
    exit
  5. Zo súboru Arc2Trezor_out.sql vyberte časť začínajúcu sa riadkom
    REM /* Start of Exp.bat                                */
    a končiacu riadkom
    REM /* End of Exp.bat                                  */
    a skopírujte ju do súboru Exp.bat v pracovnom adresári.
  6. Do pracovného adresára si nakopírujte tento súbor d2expdt.sql (nachádza sa v programovom adresári - podadresár Templates\Oracle).
  7. Spustením
    Exp.bat
    exportujete dáta z archívnej databázy do textových súborov na vašom počítači.
    Poznámka: Pokiaľ nemáte dostatočne veľký disk, je možné zapnutím kompresie na adresári, v ktorom je uložený súbor Exp.bat, zmenšiť vyžadované miesto (textové súbory budú skomprimované).
    Poznámka: Pokiaľ ste špecifikovali ParallelLoading=TRUE, vykoná Exp.bat okrem exportu aj import a nasledujúce dva kroky preskočte.
  8. Zo súboru Arc2Trezor_out.sql vyberte časť začínajúcu sa riadkom
    REM /* Start of Imp.bat                                */
    a končiacu riadkom
    REM /* End of Imp.bat                                  */
    a skopírujte ju do súboru Imp.bat v pracovnom adresári.
  9. Spustením
    Imp.bat
    importujete dáta z textových súborov do trezorovej databázy.
  10. Spustite SqlPlus a prihláste sa ako užívateľ aplikacia_archiv@TNS_trezorovej_databazy:
    sqlplus aplikacia_archiv/swx@TNS_trezorovej_databazy
  11. Vykonajte dva príkazy ALTER TABLESPACE .. , ktoré sa nachádzajú na konci súboru Arc2Trezor_out.sql za riadkom
    REM /* End of Imp.bat                                  */
    a ukončite SqlPlus príkazom
    exit

Uvedený postup je potrebné opakovať pre každý nový trezor. Pokiaľ chcete najskôr zapnúť trezorovanie a až následne hore uvedeným postupom vytvárať trezory, je nutné, aby proces D2000 Archiv vedel, že má začať vytvárať trezory nie od čísla 1, ale napr. od 13 (pokiaľ budeme chcieť trezory 1..12 vytvoriť ručne hore uvedeným postupom).
Na to stačí pred spustením procesu D2000 Archív vložiť do tabuľky TREZORS v databáze, kde budú trezory umiestnené, riadok s číslom posledného trezoru, ktorý plánujete vytvoriť:
INSERT INTO TREZORS(ID,TIME_FROM,TIME_TO,STATUS,DATAFILES) VALUES(12,SYSDATE,SYSDATE,40,1)
Proces D2000 Archiv začne po spustení vytvárať trezory od čísla 13.
Po vytvorení trezorov 1 až 12 hore uvedeným postupom je potrebné vložený riadok zmazať, aby tabuľka TREZORS neobsahovala riadky s duplicitným ID.

Súvisiace stránky:

Napíšte komentár