pondělí 24. května 2010

Oracle GoldenGate Trail vs. ASCII,SQL nebo XML soubory

  • Úvod do Oracle GoldenGate najdete zde.
  • Popis integrace mezi Oracle GoldenGate a Oracle Data Integrator najdete zde.
  • Popis instalace Oracle GoldenGate najde zde.
  • Konfiguraci prostředí, procesů a start replikace najdete zde.


GoldenGate Extract (Capture) proces zachytává transakce z databázových redo nebo archiv logů a poté je může zapisovat do:
  • Lokálního Trailu (parametr EXTTRAIL)
  • Vzdáleného Trailu (parametr RMTTRAIL)
  • Lokálního ASCII souboru (parametr EXTFILE)
  • Vzdáleného ASCII souboru (parametr RMTFILE)

Použití Trailů

Z důvodu zajištění bezproblémového přenosu a aplikování transakcí mezi různými platformami (DB, HW, OS, atd.), Extract proces konvertuje data do vlastního formátu a ukládá je do tzv. Trailu – soubor obsahuje potvrzené (commit) transakce ve stejném pořadí jako na zdrojovém systému.
V případě použití Trailu platí, že jeden Extract proces může zapisovat transakce do jednoho nebo více Trailů (vhodné pro distribuci do více lokalit najednou nebo zvýšení výkonu) a jeden Trail může být zpracován jedním nebo více Replicat procesy (vhodné pro zvýšení výkonu replikace). Z pohledu checkpointů platí, že Extract a Replicat procesy provádějí checkpointy pouze při zápisu do Trailu.


Obsah Trailu

  • Každý záznam obsahuje typ operace ze zdrojové databáze
  • Transakce jsou ve stejném pořadí jako na zdrojové databázi
  • Jednotlivé operace v transakcích jsou seskupeny pospolu
  • Standardně obsahuje pouze primární klíče a změněné záznamy
  • Skládá se z hlavičky a jednotlivých záznamů

Hlavička Trailu

Obecné informace:
  • Kompatibilita
  • Znaková sada
  • Datum a čas vytvoření
  • Sekvenční číslo
  • Velikost
Informace o prvním a posledním záznamu:
  • Timestamp
  • CSN
Informace o extraktu:
  • Verze GoldenGate
  • Jméno Extract skupiny
  • Hostname
  • HW
  • OS a verze
  • DB, verze a znaková sada

Záznamy v Trailu
  • Hlavička záznamu (název tabulky, typ operace, datum vzniku transakce, transakční skupina, délka dat, ...)
  • Datová oblast (ID sloupce, hodnota sloupce)

Utilita Logdump
V případě, že se chcete podívat na obsah Trailu můžete použít utilitu Logdump, která zobrazuje jeho hlavičku i jednotlivé záznamy (seznam příkazů viz. help).



Použití ASCII, SQL nebo XML souborů
V případech, kdy potřebujete získané transakce přímo nabídnout jiným procesům (např. ETL, ESB, DB Loaderům, ...) nebo aplikacím, použijte parametr FORMATxxx v konfiguračním souboru Extract procesu.

Parametr FORMATxxx zajistí, že výstup bude místo do Trailu uložen do soubor ve formátu: ASCII (FORMATASCII), SQL (FORMATSQL) nebo XML (FORMATXML).

V rámci jednoho Extrakt procesu se specifikuje jeden formát, tj. v případech kdy potřebujete najednou generovat více formát (např. Trail, ASCII a XML), pak vytvořte více Extract procesů. Poznámka: Při použití parametru FORMATxxx nelze již data aplikovat Replicat procesem.


FORMATASCII
Umožňuje generovat soubor s oddělovači nebo jej přímo formátovat pro databázové utility jako SQLLoader, BCP, SSIS, ...:

FORMATASCII, BCP
FORMATASCII, SQLLOADER


Parametr FORMATASCII má různá nastavení ovlivňující výsledný výstup, jako např. COLHDRS, DATE | TIME | TS, DELIMITER, EXTRACOLS, NAMES, NONAMES, NOHDRFIELDS, NOQUOTE, NOTRANSSTMTS, NULLISPACE, PLACEHOLDERS, ...

Příklad použití:

Parametrický soubor

Start Extract procesu
add extract e_txt, tranlog, begin now
start extract e_txt


DML nad databází

Výsledek


FORMATSQL
Umožňuje generovat soubor obsahující DML příkazy. Možná nastavení NONAMES, NOPKUPDATES, ORACLE.

Příklad použití:

Parametrický soubor

Start Extract procesu
add extract e_sql, tranlog, begin now
start extract e_sql


DML nad databází

Výsledek
Poznámka: Tabulka nemá Primární klíč, proto jsou v klausuli WHERE vyjmenovány všechny sloupce, jinak jen PK.


FORMATXML
Umožňuje generovat soubor obsahující data ve formátu XML. Možná nastavení INLINEPROPERTIES | NOINLINEPROPERTIES, TRANS | NOTRANS.

Příklad použití:

Parametrický soubor

Start Extract procesu
add extract e_xml, tranlog, begin now
start extract e_xml


DML nad databází

Výsledek
Poznámka: změna lokace z PRAGUE na TABOR, je operace DELETE a INSERT.



Erik Eckhardt

Žádné komentáře: