Replikation
im heterogenen Umfeld
mit Oracle GoldenGate
Ileana Someşan, Systemberaterin

Frankfurt, 26.11.2013
2 Beispiele
 Synchronisation unterschiedlicher Datenbestände
– Von verschiedenen DB-Systemen (Oracle, SQL Server, ...)

...
Agenda



Heterogene Replikation



Umgang mit Heterogenität



4

Homogene Replikation

Beispiel: Unidirektionale Rep...
Homogene Replikation
 Quell- und Zieltabellen identisch
– gleicher DB-Typ, identische Tabellenstruktur

Quellsystem

=

Z...
Einziger möglicher Unterschied
Tabellennamen/-eigentümer

DE.KATALOG

GLOBAL.CATALOG

Quelle

Ziel
Oracle GoldenGate

6

C...
Konfiguration von Oracle GoldenGate
Bei der homogenen Replikation
 Einfach: keine Konvertierung erforderlich
 Mapping zw...
Agenda



Heterogene Replikation



Umgang mit Heterogenität



8

Homogene Replikation

Beispiel: Unidirektionale Rep...
Heterogene Replikation
 Quell- und Zieltabellen nicht identisch
– unterschiedliche DB-Systeme, unterschiedliche Tabellens...
Unterschiedliche Datenbanksysteme
Datenbank

Quelle

Ziel

Datenbank

Quelle

Ziel

Oracle





NonStop SQL/MX





My...
Unterschiedliche Plattformen
Betriebssystem

Prozessorarchitektur

Red Hat Linux

x86

IBM zSeries

Oracle Linux

x86-64

...
Unterschiedliche Anzahl von Spalten

PROD_ID

NAME

PROD_ID

Quelle

NAME

PREIS

Ziel
Oracle GoldenGate

12

Copyright © ...
Unterschiedliche Reihenfolge der Spalten

PROD_ID

NAME

PREIS

PROD_ID

Quelle

PREIS

NAME

Ziel
Oracle GoldenGate

13

...
Unterschiedliche Spaltennamen

prod_id

name

ARTIKEL_ID

Quelle

NAME

Ziel
Oracle GoldenGate

 Groß-/Kleinschreibung, L...
Unterschiedliche Datentypen
Und/oder Spaltenlänge

prod_id:
VARCHAR2(6)

lieferdatum:
DATE

prod_id:
VARCHAR2(8)

Quelle

...
Agenda



Heterogene Replikation



Umgang mit Heterogenität



16

Homogene Replikation

Beispiel: Unidirektionale Re...
Oracle GoldenGate in Kenntnis setzen
 Konvertierung Quellformat  Zielformat erforderlich
– Mit Hilfe einer Datendefiniti...
Definitionsdatei
 Beschreibt die replizierten Daten in einem generischen Format
– Zeichensatz, Datenbanktyp, Tabellenname...
Prinzip der Metadaten-Konvertierung
Auf dem Zielsystem

Zielsystem

Quellsystem

Datendefinitionen der
Zieltabellen
- werd...
Mapping von Tabellen und Spalten
DE.KATALOG

GLOBAL.CATALOG
PROD_ID

NAME

PRICE

CURRENCY

ARTIKEL_ID

NAME

EUR

-- exce...
Spaltentransformationen
GLOBAL.CUSTOMERS

EMEA.CUSTOMERS

CUST_NAME

NAME

PHONE_NO

COUNTRY_CODE

REG_PREFIX

PHONE_NO

-...
Spaltentransformationen
 > 30 vordefinierte Funktionen

 Eigene Funktionen

– Arithmetische Operationen
– Operationen au...
Agenda



Heterogene Replikation



Umgang mit Heterogenität



23

Homogene Replikation

Beispiel: Unidirektionale Re...
Prüfen Sie zu Beginn...
 welche Versionen von Oracle und MySQL unterstützt sind

 Oracle GoldenGate Zertifizierungsmatri...
Oracle GoldenGate Installation
 Download von edelivery.oracle.com oder

My Oracle Support
– Unter Oracle Fusion Middlewar...
Vorbereitung der Oracle Datenbank
 DB-Benutzer für Oracle GoldenGate

erstellen, Berechtigungen zuweisen
 (Archiveloggin...
Vorbereitung der MySQL Datenbank
 InnoDB für MySQL-Zieltabellen
– empfohlene Storage Engine
– standard Storage Engine sei...
2 Schritte zur Replikation

1

2

Leere MySQL Datenbank mit
Oracle Daten befüllen
 Oracle GoldenGate
oder andere Werkzeug...
Konfiguration von Oracle GoldenGate

2

Für die Synchronisation Oracle - MySQL
 Trail Files registrieren
 Extract, Data ...
Komplette Anleitung auf isblog.de

30

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

ileana.somesa...
Demo
Ziel: MySQL

Quelle: Oracle DB

FILIALE.ARTIKEL

WAREHOUSE.CATALOG
PROD_ID

NAME

PRICE

CURRENCY

ARTIKEL_ID

NAME

...
Weitere Infos
 Oracle GoldenGate auf Oracle Technology Network

www.oracle.com/technetwork/middleware/goldengate/overview...
Q&A
ileana.somesan@oracle.com
34

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

ileana.somesan@oracle.com
35

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

ileana.somesan@oracle.com
Upcoming SlideShare
Loading in...5
×

Replikation im heterogenen Umfeld mit Oracle GoldenGate

854

Published on

Replikation mit Oracle GoldenGate im heterogenen Umfeld. Slides von unserer Workshop-Reihe "Oracle GoldenGate-Das Startpaket" (September - Dezember 2013)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
854
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Replikation im heterogenen Umfeld mit Oracle GoldenGate"

  1. 1. Replikation im heterogenen Umfeld mit Oracle GoldenGate Ileana Someşan, Systemberaterin Frankfurt, 26.11.2013
  2. 2. 2 Beispiele  Synchronisation unterschiedlicher Datenbestände – Von verschiedenen DB-Systemen (Oracle, SQL Server, ...)  Anwendungs-Upgrade mit geringer Ausfallzeit – Alte und neue Anwendungsversion haben leicht unterschiedliche Tabellenstrukturen 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  3. 3. Agenda   Heterogene Replikation  Umgang mit Heterogenität  4 Homogene Replikation Beispiel: Unidirektionale Replikation von Oracle nach MySQL Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  4. 4. Homogene Replikation  Quell- und Zieltabellen identisch – gleicher DB-Typ, identische Tabellenstruktur Quellsystem = Zielsystem Oracle GoldenGate 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  5. 5. Einziger möglicher Unterschied Tabellennamen/-eigentümer DE.KATALOG GLOBAL.CATALOG Quelle Ziel Oracle GoldenGate 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  6. 6. Konfiguration von Oracle GoldenGate Bei der homogenen Replikation  Einfach: keine Konvertierung erforderlich  Mapping zwischen Quell- und Zieltabellen – Bei unterschiedlichen Tabellennamen/-eigentümern  Parametereinstellungen: -- excerpt replicat parameter file ASSUMETARGETDEFS MAP global.catalog, TARGET de.katalog; 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  7. 7. Agenda   Heterogene Replikation  Umgang mit Heterogenität  8 Homogene Replikation Beispiel: Unidirektionale Replikation von Oracle nach MySQL Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  8. 8. Heterogene Replikation  Quell- und Zieltabellen nicht identisch – unterschiedliche DB-Systeme, unterschiedliche Tabellenstrukturen Quellsystem ≠ Zielsystem Oracle GoldenGate 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  9. 9. Unterschiedliche Datenbanksysteme Datenbank Quelle Ziel Datenbank Quelle Ziel Oracle   NonStop SQL/MX   MySQL   Enscribe   SQL Server   Teradata   Sybase ASE   TimesTen -  DB2 LUW   PostgreSQL -  DB2 for i (OS400)   Netezza -  DB2 for z/OS   Greenplum -  Unterstützte Kombinationen aus DB/DB-Version für Oracle GoldenGate 11.2: http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  10. 10. Unterschiedliche Plattformen Betriebssystem Prozessorarchitektur Red Hat Linux x86 IBM zSeries Oracle Linux x86-64 IBM POWER Windows SPARC Oracle Solaris HP Itanium IBM z/OS HP NonStop (ehem. Tandem) IBM zLinux HP PA-RISC IBM (OS400) IBM AIX HP-UX 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Unterstützte Kombinationen aus Datenbank-/OS-Version OGG 11.2 http://www.oracle.com/technetwork/middleware/ias/downloads/fusioncertification-100350.html ileana.somesan@oracle.com
  11. 11. Unterschiedliche Anzahl von Spalten PROD_ID NAME PROD_ID Quelle NAME PREIS Ziel Oracle GoldenGate 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  12. 12. Unterschiedliche Reihenfolge der Spalten PROD_ID NAME PREIS PROD_ID Quelle PREIS NAME Ziel Oracle GoldenGate 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  13. 13. Unterschiedliche Spaltennamen prod_id name ARTIKEL_ID Quelle NAME Ziel Oracle GoldenGate  Groß-/Kleinschreibung, Leerzeichen 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  14. 14. Unterschiedliche Datentypen Und/oder Spaltenlänge prod_id: VARCHAR2(6) lieferdatum: DATE prod_id: VARCHAR2(8) Quelle lieferdatum: TIMESTAMP Ziel Oracle GoldenGate 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  15. 15. Agenda   Heterogene Replikation  Umgang mit Heterogenität  16 Homogene Replikation Beispiel: Unidirektionale Replikation von Oracle nach MySQL Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  16. 16. Oracle GoldenGate in Kenntnis setzen  Konvertierung Quellformat  Zielformat erforderlich – Mit Hilfe einer Datendefinitionsdatei  Parametereinstellungen -- excerpt replicat parameter file SOURCEDEFS /ogg/dirdef/ora2mysql.def 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  17. 17. Definitionsdatei  Beschreibt die replizierten Daten in einem generischen Format – Zeichensatz, Datenbanktyp, Tabellenname, Anzahl der Spalten, Spaltendefinition,...  Mit Oracle GoldenGate DEFGEN Utility generieren – DEFGEN konfigurieren -- defgen.prm file DEFSFILE/ogg/dirdef/ora2mysql.def USERID oggsrc, PASSWORD *** TABLE warehouse.catalog; – DEFGEN ausführen $ defgen paramfile dirprm/defgen.prm 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  18. 18. Prinzip der Metadaten-Konvertierung Auf dem Zielsystem Zielsystem Quellsystem Datendefinitionen der Zieltabellen - werden direkt abgefragt 1 Datendefinitionen für die Quelltabellen generieren - mittels DEFGEN 2 Definitionsdatei auf das Zielsystem kopieren 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3 Replicat Prozess konvertiert Daten ileana.somesan@oracle.com
  19. 19. Mapping von Tabellen und Spalten DE.KATALOG GLOBAL.CATALOG PROD_ID NAME PRICE CURRENCY ARTIKEL_ID NAME EUR -- excerpt replicat parameter file SOURCEDEFS /ogg/dirdef/ora2mysql.def MAP global.catalog, TARGET de.katalog, COLMAP (USEDEFAULTS, ARTIKEL_ID=PROD_ID, EUR=PRICE); 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  20. 20. Spaltentransformationen GLOBAL.CUSTOMERS EMEA.CUSTOMERS CUST_NAME NAME PHONE_NO COUNTRY_CODE REG_PREFIX PHONE_NO -- excerpt replicat parameter file SOURCEDEFS /ogg/dirdef/ora2mysql.def MAP global.customers, TARGET emea.customers, COLMAP ( NAME=CUST_NAME, COUNTRY_CODE=@STREXT(PHONE_NO, 1, 3), REG_PREFIX=@STREXT(PHONE_NO, 4, 6), PHONE_NO=@STREXT(PHONE_NO, 7, 10)); 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  21. 21. Spaltentransformationen  > 30 vordefinierte Funktionen  Eigene Funktionen – Arithmetische Operationen – Operationen auf Zeichenketten, Datum- – Über Oracle GoldenGate User Exits implementieren und Zeitfelder – Test auf Vorhandensein eines Spaltenwertes – Handling von NULL, fehlenden oder ungültigen Werten Oracle GoldenGate Reference Guide, Column Conversion Functions 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  22. 22. Agenda   Heterogene Replikation  Umgang mit Heterogenität  23 Homogene Replikation Beispiel: Unidirektionale Replikation von Oracle nach MySQL Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  23. 23. Prüfen Sie zu Beginn...  welche Versionen von Oracle und MySQL unterstützt sind  Oracle GoldenGate Zertifizierungsmatrix  welche Datentypen unterstützt sind – fast alle Oracle- und MySQL-Datentypen  welche Operationen unterstützt sind – DML: Insert, Update, Delete – keine DDL-Replikation nach MySQL  Oracle GoldenGate Oracle Installation & Setup Guide  Oracle GoldenGate MySQL Installation & Setup Guide 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  24. 24. Oracle GoldenGate Installation  Download von edelivery.oracle.com oder My Oracle Support – Unter Oracle Fusion Middleware – 2 Produkte: Oracle GoldenGate for Oracle,  2 Installationen: – auf Oracle DB Quellserver (alternativ auf Standby Server) – auf MySQL Zielserver Oracle GoldenGate for MySQL  Keine weiteren SW-Komponenten Oracle GoldenGate for Oracle Oracle Quellsystem 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle GoldenGate for MySQL MySQL Zielsystem ileana.somesan@oracle.com
  25. 25. Vorbereitung der Oracle Datenbank  DB-Benutzer für Oracle GoldenGate erstellen, Berechtigungen zuweisen  (Archivelogging einschalten)  Supplemental Logging einschalten  Für Eindeutigkeit der Zeilen sorgen  Datendefinitionen der Quelltabellen Redo Log Files generieren, auf Zielsystem übertragen – Oracle GoldenGate DEFGEN Utility Extract 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  26. 26. Vorbereitung der MySQL Datenbank  InnoDB für MySQL-Zieltabellen – empfohlene Storage Engine – standard Storage Engine seit MySQL 5.5  Für Eindeutigkeit der Zeilen sorgen  Trigger & kaskadierende Constraints deaktivieren  DB-Benutzer für Oracle GoldenGate erstellen, Berechtigungen zuweisen  Checkpoint-Tabelle anlegen 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Remote Trail Files Replicat ileana.somesan@oracle.com
  27. 27. 2 Schritte zur Replikation 1 2 Leere MySQL Datenbank mit Oracle Daten befüllen  Oracle GoldenGate oder andere Werkzeuge 28 Dauerhafte Synchronisation starten  Oracle GoldenGate Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  28. 28. Konfiguration von Oracle GoldenGate 2 Für die Synchronisation Oracle - MySQL  Trail Files registrieren  Extract, Data Pump und Replicat Prozesse konfigurieren und starten Manager Manager Redo Log Files ora_ext 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. /dirdat/lt ora_pmp /dirdat/rt mys_rep ileana.somesan@oracle.com
  29. 29. Komplette Anleitung auf isblog.de 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  30. 30. Demo Ziel: MySQL Quelle: Oracle DB FILIALE.ARTIKEL WAREHOUSE.CATALOG PROD_ID NAME PRICE CURRENCY ARTIKEL_ID NAME EUR 111111 Canon EOS 700D 569.50 EUR 111111 Canon EOS 700D 569.50 222222 Panasonic Lumix DMC-G6 579.10 EUR 222222 Panasonic Lumix DMC-G6 579.10 333333 Sony Alpha 58 404.81 EUR 333333 Sony Alpha 58 404.81 @insert.sql @update.sql Oracle GoldenGate: Konvertierung der Daten + Synchronisation @delete.sql 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  31. 31. Weitere Infos  Oracle GoldenGate auf Oracle Technology Network www.oracle.com/technetwork/middleware/goldengate/overview/index.html  Download edelivery.oracle.com, unter Product Pack Oracle Fusion Middleware My Oracle Support für Patches und Updates  Oracle GoldenGate 11.2.1 Dokumentation – Oracle Installation and Setup Guide – MySQL Installation and Setup Guide  Anleitung Unidirektionale Replikation zwischen Oracle und MySQL 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  32. 32. Q&A ileana.somesan@oracle.com
  33. 33. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  34. 34. 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ileana.somesan@oracle.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×