pondělí 21. června 2010

Oracle GoldenGate a DDL replikace

  • Ú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.
  • Oracle GoldenGate Trail vs. ASCII,SQL nebo XML soubory najdete zde.

Kromě real-time přenosu databázových transakcí (DML operace) Oracle GoldenGate podporuje i replikace DDL příkazů.

V případě Oracle databáze je replikace DDL příkazů podporována pro všechny verze a edice databáze, které standardně OGG podporuje pro přenosy DML operací.
Z pohledu databázových objektů jsou podporovány následují: CLUSTER, FUNCTION, INDEX, PACKAGE, PROCEDURE, ROLE, SEQUENCE, SYNONYM, TABLE, TABLESPACE, TRIGGER, TYPE, VIEW, MATERIALIZED VIEW, USER.

Step-by-step postup pro zapnutí podpory replikace DDL operací:


1. Vypnutí funkcionality Oracle Recycle Bin
Pro podporu DDL replikací je potřeba na zdrojové databázi vypnut Recycle Bin

sqlplus / as sysdba
show parameter recycle

Jestliže je recyclebin zapnut (on), pak jej vypněte:
  • pro SPFILE - alter system set recyclebin=off scope=both;
  • pro PFILE - do init[SID].ora vložte parametr recyclebin=off a restartujte databázi

2. Vytvoření db uživatele pro pomocné OGG objekty

a/ Ve zdrojové databázi založte pomocného uživatele (potřebná práva viz. článek Oracle GoldenGate - Instalace - DB uživatelé a práva), který bude vlastnit pomocné OGG objekty potřebné pro replikaci DDL:
  • DDL Marker Table (GGS_MARKER): obsahuje informace o DDL operacích
  • DDL History Table (GGS_DDL_HIST): obsahuje historické informace o DDL operacích
  • DDL Trigger (GGS_DDL_TRIGGER_BEFORE): zachytává DDL příkazy a ukládá je do GGS_MARKER a GGS_DDL_HIST
  • User Role (GGS_GGSUSER_ROLE): role pro uživatele pod kterým běží Extract proces, obsahuje potřebná oprávnění pro DDL replikace
  • + další pomocné objekty jako indexy, sequence, atd. (více viz. níže uvedené skripty)

b/ Do souboru GLOBALS (v případě, že neexistuje, pak jej založte v kořenovém adresáři OGG) přidejte parametr GGSCHEMA ukazující na výše vytvořeného uživatele a restartujte Manager proces.



3. Instalace pomocných db objektů pro DDL replikace

Přejděte do kořenového adresáře OGG a spusťte SQLPlus s oprávněním SYSDBA.

sqlplus / as sysdba

Z prostředí SQLPlus postupně spusťte níže uvedené skripty:

@marker_setup.sql
Enter GoldenGate schema name: OGG



@ddl_setup.sql
Enter GoldenGate schema name: OGG
Enter mode of installation:INITIALSETUP



@role_setup.sql
Enter GoldenGate schema name: OGG

grant GGS_GGSUSER_ROLE to vas_ogg_uzivatel;



@ddl_enable.sql




4. Kontrola správného nastavení pro DDL replikace

@marker_status.sql


@ddl_status.sql



5. Vytvoření Extract procesu s podporou pro DDL replikace
(podrobnější popis parametrů a významu viz. článek Oracle GoldenGate – Konfigurace prostředí, procesů a start replikace)

Spusťte utilitu ggsci a poté:

edit params EOGGDDL


vložte:
EXTRACT EOGGDDL
USERID ogg, password ogg

EXTTRAIL ./dirdat/ed
DDL INCLUDE MAPPED
DDLOPTIONS ADDTRANDATA, REPORT
TABLE OGG_SRC.*;


a uložte soubor.

Poznámka:
  • DDL zapíná podporu DDL operací (INCLUDE MAPPED zahrnuje objekty a operace patřící do kategorie MAPPED: CREATE, ALTER, DROP, RENAME, GRANT, REVOKE pro TABLE, INDEX, TRIGGER, SEQUENCE, MATERIALIZED VIEW)

  • DDLOPTIONS ovlivňuje chování DDL (ADDTRANDATA automaticky zapne supplemental logging pro vzniknou tabulku; REPORT zaznamenává dodatečné informace do OGG reportu Extract procesu)

add extract EOGGDDL, tranlog, begin now

add exttrail ./dirdat/ed, extract EOGGDDL, megabytes 5


start EOGGDDL


6. Vytvoření DataPump procesu

edit params POGGDDL

vložte:
EXTRACT POGGDDL
PASSTHRU RMTHOST localhost, MGRPORT 7809
RMTTRAIL ./dirdat/rd
TABLE OGG_SRC.*;


a uložte soubor.

Poznámka:
  • PASSTHRU se používá u Data Pump procesu když není požadována transformace nebo filtrování dat, u DDL replikace je tento parametr podmínkou

add extract POGGDDL, exttrailsource ./dirdat/ed

add rmttrail ./dirdat/rd, extract POGGDDL, megabytes 5

start POGGDDL



7. Vytvoření Replicat procesu s podporou pro DDL replikace

edit params ROGGDDL

vložte:
replicat ROGGDDL
userid ogg, password ogg

assumetargetdefs
discardfile ./dirrpt/ROGGTRG1.dsc, purge

DDL INCLUDE MAPPED

DDLOPTIONS REPORT

map OGG_SRC.*, target OGG_TRG.*;


a uložte soubor.

Poznámka:
  • DDL zapíná podporu DDL operací (INCLUDE MAPPED zahrnuje objekty a operace patřící do kategorie MAPPED: CREATE, ALTER, DROP, RENAME, GRANT, REVOKE pro TABLE, INDEX, TRIGGER, SEQUENCE, MATERIALIZED VIEW - další kategorie viz. OGG dokumentace)

  • DDLOPTIONS ovlivňuje chování DDL (REPORT zaznamenává dodatečné informace do OGG reportu Replicat procesu)

  • ASSUMETARGETDEFS struktura zdrojových a cílových tabulek musí být shodná


add replicat ROGGDDL, exttrail ./dirdat/rd

start ROGGDDL


8. Kontrola běhu jednotlivých procesů

status *



Testování DDL replikací

Založení tabulky (obrázek obsahuje vždy zdroj | cíl)


Přidání sloupce


Přejmenování tabulky


Klasické DML





Erik Eckhardt

Žádné komentáře: