Zobrazují se příspěvky se štítkemGoldenGate - FAQ. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemGoldenGate - FAQ. Zobrazit všechny příspěvky

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

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

pondělí 17. května 2010

Oracle GoldenGate – Konfigurace prostředí, procesů a start replikace

  • Úvod do Oracle GoldenGate najdete zde.
  • Popis integrace mezi Oracle GoldenGate a Oracle Data Integrator najdete zde.
  • Popis instalace Oracle GoldenGate najde zde.

Začít replikovat data pomocí Oracle GoldenGate lze v následujících čtyřech krocích:
  • I. Příprava OGG prostředí
  • II. Konfigurace a start Extract (Capture) a Data Pump procesů
  • III. Provedení inicializačního nahrání dat (synchronizace) ze zdroje do cíle
  • IV. Konfigurace a start Replicat (Delivery) procesu

I. Příprava OGG prostředí
Nejprve je potřeba nastavit OGG prostředí: Manager proces, DB přístup a Supplemental logging jsou potřeba nastavit v homogenním i v heterogenním prostředí. Navíc v heterogenním prostředí se musí ještě vytvořit Source definition soubor.

1. Manager proces
  • zajišťuje administrativní úkony jako je startování, monitorování a restartování procesů
  • musí běžet na zdrojové i cílové lokaci po celou dobu synchronizace dat (v mém případě zdroj i cíl je stejný, tj. jeden Manager proces)
  • konfigurační soubor pro Manager proces se jmenuje ...dirprm/mgr.prm (když existuje a je prázdný, Manager proces použije default hodnoty, např. port 7809)
  • logovací soubor je uložen v .../ggserr.log
  • startuje se pomocí programu ggsci a příkazu START MGR nebo Windows Services (více viz. zde)
2. „Source definition“ soubor
V případě, že přenosy probíhají v heterogenním prostředí, pak je potřeba pomocí utility defgen vytvořit „source definition“ soubor, podle kterého Replicat proces provádí transformaci zdrojové struktury (např. datové typy) do cílové (v mém případě jde o homogenní prostředí, tj. soubor není třeba vytvářet).

3. DB přístup a Supplemental logging pro tabulky
OGG procesy potřebují přístup do databáze, potřená oprávnění viz. instalace OGG.

Pro testovaní mám v databázi uživatele OGG:
create user ogg identified by ogg
default tablespace users

temporary tablespace temp
quota unlimited on users;

grant dba to ogg;


Dále pro správnou rekonstrukci UPDATE operací je potřeba do transakčních logů přidat dodatečné informace, tj. supplemental logging pro before & after image UPDATE operace. Minimální Supplemental logging byl přidán již v kroku instalace, zde.
Nyní se musí označit tabulky k replikaci pomocí OGG příkazu ADD TRANDATA. Pro Oracle 9.x a dále ADD TRANDATA zapne supplemental logging na úrovni databázových tabulek – příkaz vykoná ALTER TABLE ... ADD SUPPLEMENTAL LOG ...

Pro testovaní mám v databázi dva uživatele OGG_SRC a OGG_TRG:
create user ogg_src identified by ogg_src
default tablespace users

temporary tablespace temp

quota unlimited on users;

create user ogg_trg identified by ogg_trg
default tablespace users
temporary tablespace temp
quota unlimited on users;

grant connect to ogg_src, ogg_trg;


Oba dva vlastní kopie tabulek uživatele SCOTT, ale pouze tabulky uživatele OGG_SCR obsahují data:
create table ogg_src.emp as select * from scott.emp;
create table ogg_src.dept as select * from scott.dept;

create table ogg_trg.emp as select * from scott.emp where 1=2;

create table ogg_trg.dept as select * from scott.dept where 1=2;


Zapněte Supplemental logging pro db tabulky:
ggsci
dblogin userid ogg, password ogg
add trandata OGG_SRC.*



Ověřte Supplemental logging pomocí:
info trandata OGG_SRC.*



II. konfigurace a start Extract (Capture) a Data Pump procesů
Extract (Capture) proces zachytává transakce z redo logů a ukládá je do lokálního Trail souboru. Data Pump proces přenáší transakce z Trailu do cílové lokace.

A/ Extract proces
Proces bude zachytávat transakce z redologů a zapisovat je do lokálního trail souboru. Extract proces se konfiguruje na zdrojovém systému.

1. Vytvoření parametrického souboru
Konfigurace procesů se provádí pomocí ASCII souboru, který bude uložen v adresáři .../dirprm/

ggsci
edit params EOGGSRC1


Vložte do souboru:
-- Parametr file pro Extract proces
-- zachytava zmeny nad tabulkama schematu OGG_SRC.*
--
EXTRACT EOGGSRC1
USERID ogg, password ogg
EXTTRAIL ./dirdat/ee
TABLE OGG_SRC.*;


Uložte soubor

Poznámka: hesla ve všech konfiguračních souborech lze zašifrovat, jméno procesu je volitelné, exttrail určuje jméno lokálního trail file - dva znaky + OGG automatická sekvence (6 čísel)

2. Přidání do Extract skupiny
add extract EOGGSRC1, tranlog, begin now

Poznámka: tranlog znamená, že data budou čtena z redo logů

Ověřte pomocí:
info extract EOGGSRC1

3. Založení lokálního Trail souboru
add exttrail ./dirdat/ee, extract EOGGSRC1, megabytes 5


B/ Data Pump proces
Proces bude přenášet data z lokálního trail souboru do cíle. Data Pump proces se konfiguruje na zdrojovém systému.

1. Vytvoření parametrického souboru
Konfigurace procesů se provádí pomocí ASCII souboru, který bude uložen v adresáři .../dirprm/

ggsci
edit params PSRCTRG1


Vložte do souboru:
-- Parametr file pro Pump proces
-- cte lokalni trail soubor pro tabulky OGG_SRC.* a prenasi do cile
--
EXTRACT PSRCTRG1
PASSTHRU
RMTHOST localhost, MGRPORT 7809
RMTTRAIL ./dirdat/rr
TABLE OGG_SRC.*;


Uložte soubor

Poznámka: passthru se používá u Data Pump procesu když není požadována transformace nebo filtrování dat, RMTxxxx jsou parametry vzdáleného OGG

2. Přidání do Data Pump skupiny
add extract PSRCTRG1, exttrailsource ./dirdat/ee

Ověřte pomocí:
info extract PSRCTRG1

3. Založení vzdáleného Trail souboru
add rmttrail ./dirdat/rr, extract PSRCTRG1, megabytes 5



C/ Start Extract a Data Pump procesů
start extract EOGGSRC1
info extract EOGGSRC1


start extract PSRCTRG1

info extract PSRCTRG1




III. Provedení inicializačního nahrání dat ze zdroje do cíle
Inicializační nahrání dat ze zdroje do cíle zajistí prvotní synchronizaci obou systémů. Existuje několik metod jak prvotní inicializaci provést:

1. Prostředky GoldenGate
GoldenGate umožňuje provést inicializační nahrání vlastními prostředky v heterogenním prostředí. Pro zajištění vysokého výkonu lze kontrolovat FETCHSIZE, paralelní zpracování a volní Bulk utility pro zápis do cíle. Proces zpracování může vypadat následovně:

Extract proces čte zdrojová data přímo z databázových tabulek (ne z transakčních logů) a posílá je do cíle:
  • přímo na Replicat proces, který je zapisuje do cílových tabulek pomocí volání nativního SQL
  • přímo na Replicat proces, který volá externí Bulk Loader (např. Oracle SQL*Loader API)
  • přímo na Server Collector, který data ukládá do Trail file a Replicat je pomocí SQL zapisuje
  • přímo na Server Collector, který data ukládá do souboru připraveného pro externí Bulk Loader

2. Prostředky databází
Inicializační nahrání lze provést prostředky jednotlivých databází, jako je:
  • Záloha zdrojové (primární) databáze a její obnova jako cílové (záložní)
  • Export (exp, expdp) dat ze zdrojové databáze a import (imp, impdp) do cílové
  • Přenos dat přes DB link
  • Transportable tablespace
  • ...

Níže je uveden příklad provedení inicializačního nahrání prostředky GoldenGate, kdy Extract proces čte zdrojová data přímo z databázových tabulek a posílá je do cíle na Replicat proces, který je zapisuje do cílových tabulek pomocí volání nativního SQL:

A/ Na zdrojovém systému

1. Vytvoření parametrického souboru pro Initial Load Extract
ggsci
edit params EINILD1


Vložte do souboru:
-- Parametr file pro Initial Load Extract
-- cte data z tabulek OGG_SRC.* a prenasi do cile na Replicat proces
--
extract EINILD1
userid ogg, password ogg
rmthost localhost, mgrport 7809
rmttask replicat, group RINILD1
table OGG_SRC.*;


Uložte soubor

2. Přidání do Initial Extract skupiny
add extract EINILD1, sourceistable

Poznámka: sourceistable znamená, že Extract proces čte data přímo z db tabulek a ne z redo logů

Ověřte pomocí:
info extract *, tasks



B/ Na cílovém systému (v mém případě je stejný jako zdroj)

1. Vytvoření parametrického souboru pro Initial Load Replicat
ggsci
edit params RINILD1


Vložte do souboru:
-- Parametr file pro Initial Load Replicat (Delivery)
-- zapisuje data do tabulek OGG_TRG.*
--
replicat RINILD1
assumetargetdefs
userid ogg, password ogg
discardfile ./dirrpt/RINILD1.dsc, purge
MAP OGG_SRC.*, TARGET OGG_TRG.*;


Uložte soubor

Poznámka: assumetargetdefs znamená, že struktura zdrojových tabulek je shodná se strukturou cílových tabulek, discardfile určuje soubor do kterého budou uloženy chybné záznamy, map mapuje zdrojové tabulky na cílové

2. Přidání do Initial Replicat skupiny
add replicat RINILD1, specialrun

Poznámka: specialrun znamená, že jde o jednorázové zpracování dat bez udržování Chekpointů

Ověřte pomocí:
info replicat *, tasks



C/ Start a kontrola Inicializačního nahrání dat
Start provede dávkovou synchronizaci zdrojových tabulek uživatele OGG_SRC.* a cílových tabulek uživatele OGG_TRG.*

na zdrojovém systému:

start extract EINILD1
view report EINILD1




na cílovém systému (v mém případě shodný se zdrojem):

view report RINILD1



IV. Konfigurace a start Replicat (Delivery) procesu
Replicat proces čte cílový Trail soubor a aplikuje změny na cílové databázi. Replicat proces se konfiguruje na cílovém systému.

A/ Checkpoint tabulka
Oracle GoldenGate pro případ obnovy přenosu po chybě systému využívá mechanismu Checkpointů. Checkpoints jsou použity pro uchování současné čtecí a zapisovací pozice jednotlivých GoldenGate procesů (Extract, Pump a Replicat) během přenosu transakcí. Checkpoints pro Extract a Pump jsou uloženy v Trailu.

1. Založení / úprava GLOBALS parametru
ggsci
edit params ./GLOBALS


Vložte do souboru
CHECKPOINTTABLE OGG_TRG.GGSCHKPT

Uložte soubor a ukončete ggsci pomocí příkazu exit

Poznámka: soubor GLOBALS (globální parametry systému) se musí jmenovat velkými písmeny, být bez přípony a musí být uložen v root adresáři OGG na cílovém serveru.


2. Založení checkpoint tabulky
ggsci
dblogin userid ogg, password ogg

add checkpointtable





B/ Replicat proces

1. Vytvoření parametrického souboru
ggsci edit params ROGGTRG1

Vložte do souboru:
-- Parametr file pro Replicat (Delivery) proces
-- zapisuje data do tabulek OGG_TRG.*
--
replicat ROGGTRG1
userid ogg, password ogg
assumetargetdefs
discardfile ./dirrpt/ROGGTRG1.dsc, purge
map OGG_SRC.*, target OGG_TRG.*;


Uložte soubor

Poznámka: pro zabránění kolizi s inicializačním nahráním dat, lze použít parametr HANDLECOLLISIONS, který při INSERTu již existujícího záznamu (detekce duplicate-record) jej přepíše a při UPDATE nebo DELETE chybějícího záznamu (missing-record) zaznamená záznam do discardfile souboru.


2. Přidání do Replicat skupiny
add replicat ROGGTRG1, exttrail ./dirdat/rr


3. Spuštění Replicat procesu
start replicat ROGGTRG1

Ověření
info replicat ROGGTRG1

Poznámka: pro zabránění kolizi s inicializačním nahráním dat, lze Replicat proces nastartovat od určitého SCN pomocí parametru ATSCN nebo AFTERSCN



Testování replikace dat mezi zdrojem a cílem
V SQL nástroji spusťte DML operace nad tabulkou uživatele OGG_SRC, výsledek si následně ověřte nad tabulkou uživatele OGG_TRG.

1. Insert
Na zdrojové db:
...
...
insert into ogg_src.dept values (51,'APPS1','BRNO1');

insert into ogg_src.dept values (52,'APPS2','BRNO2');

insert into ogg_src.dept values (53,'APPS3','BRNO3');

insert into ogg_src.dept values (54,'APPS4','BRNO4');
insert into ogg_src.dept values (55,'APPS5','BRNO5');
commit;


Na cílové db:
select * from ogg_trg.dept;



2. Update
Na zdrojové db:
update ogg_src.dept set LOC = 'TABOR';
commit;


Na cílové db:
select * from ogg_trg.dept;



3. Delete
Na zdrojové db:
delete from ogg_src.dept; commit;

Na cílové db:
select * from ogg_trg.dept;



OGG statistiky pro Extract a Replicat procesy
Na zdrojovém systému (Extract proces):
ggsci
send extract EOGGSRC1 report

view report EOGGSRC1




Na cílovém systému (Replicat proces):
ggsci
send replicat ROGGTRG1 report
view report ROGGTRG1




Zastavení OGG procesů (Extract, Data Pump a Replicat)
ggsci
stop *

info *




Zastavení OGG Managera
ggsci
stop mgr

info mgr




Erik Eckhardt

pondělí 10. května 2010

Oracle GoldenGate – Instalace

Instalaci a konfiguraci popisuji pro Oracle GoldenGate 10.4.0.x na MS Windows s Oracle Database 10g jako zdrojem i cílem (přesný postup instalace i pro ostatní verze, db platformy a OS viz. dodávaná dokumentace).

Úplný úvod do Oracle GoldenGate najdete v předchozím článku.


Download

Oracle GoldenGate pro Oracle Database 10g na Linuxu, Windows a Solarisu lze získat z OTN, pro ostatní verze, db platformy a OS z Oracle eDelivery.



Nastavení prostředí a splnění nutných požadavků

Přesný popis požadavků najdete v dokumentaci Oracle® GoldenGate Oracle Installation and Setup Guide Version 10.4.

DB klient
OGG vyžaduje, aby na Serveru existovala plná verze Oracle klienta nebo databáze (OGG potřebuje přístup k Oracle XDK a proto nelze použít Oracle Instant Client).

DB uživatelé a práva
OGG vyžaduje, aby ve zdrojové a cílové databázi existoval uživatel s následujícím oprávněním:


Zapnutí Supplemental Logging pro zdrojovou Oracle DB
Pro správné zachytávání aktualizací na primárních klíčích a „chained rows“ je potřeba na zdrojové databázi zapnout Supplemental Logging.

Spusťte SQL*Plus jako uživatel s ALTER SYSTEM oprávněním a napište:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER SYSTEM SWITCH LOGFILE;


Pro ověření napište (dotaz by měl vrátit YES nebo IMPLICIT):
SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;

Nastavení proměnných Windows
Ve Windows nastavte proměnné prostředí ORACLE_HOME a ORACLE_SID, které ukazují na Vaši Oracle databázi a instanci. OGG proces je používá při připojování k databázi.


Microsoft Visual C++ 2005 SP1 Redistributable Package
Ověřte, že máte nainstalován Microsoft Visual C ++ 2005 SP1 Redistributable Package, lze stáhnout zde.


Instalace
Oracle GoldenGate podobně jako Oracle Data Integrator není potřeba instalovat. Stačí stáhnout SW (Oracle GoldenGate V10.4.0.x for Oracle 10g on Windows 2000, XP, and 2003.zip ) a rozbalit jej do adresáře (po rozbalení bude mít cca 20 MB), který nesmí obsahovat MEZERY! (např. D:\Oracle\product\OGG).

Poznámka: Oracle GoldenGate (OGG) je potřeba nasadit na všechny zdrojové i cílové servery (v případě, že stejně jako já budete OGG pouze testovat, tak Vám stačí jedna DB, která bude zdrojem i cílem, tzn. OGG rozbalíte pouze jedenkrát).


Založení potřebných adresářových struktur pro OGG
Veškeré parametry, logy, skripty, přenášená data a další pomocné soubory jsou umístěny v adresářové struktuře root adresáře OGG.

Z OGG adresáře spusťte program ggsci.exe (Oracle GoldenGate Command Interpreter – příkazová řádka, ve které se s OGG provádí skoro vše, příkaz HELP Vám zobrazí dostupné příkazy) a v něm napište:
create subdirs
exit



Výsledkem je založení adresářové struktury v rootu OGG adresáře:



OGG Manager
OGG Manager lze startovat pomocí programu ggsci.exe a příkazu START MGR.


Před samotným startem je potřeba vytvořit parametrický soubor (mgr.prm) pro OGG Manager pomocí příkazu EDIT PARAM MGR (nebo ručně prostředky OS – všechny OGG procesy se konfigurují pomocí ASCII souborů).


Pro začátek soubor mgr.prm může být prázdný, OGG Manager při startu použije defaultní hodnoty, např. číslo portu bude 7809. OGG Manager loguje do souboru ggserr.log.


OGG Manager jako Windows Service
Na MS Windows je potřeba OGG Manager nainstalovat jako Windows Service, který poběží na pozadí a bude generovat události do Windows Event Logu.

Z OGG adresáře spusťte:
install addservice addevents

Výsledkem bude založení služby GGSMGR ve Windows:



Příště konfigurace OGG prostředí, procesů a start replikace.



Erik Eckhardt