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

Replikation im heterogenen Umfeld mit Oracle GoldenGate

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Ileana Someşan, Systemberaterin

Replikation im heterogenen Umfeld mit Oracle GoldenGate

Frankfurt, 26.11.2013

Page 2: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3 [email protected]

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

Page 3: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 4 [email protected]

Agenda

Homogene Replikation

Heterogene Replikation

Umgang mit Heterogenität

Beispiel: Unidirektionale Replikation von Oracle nach MySQL

Page 4: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5 [email protected]

Homogene Replikation

Quell- und Zieltabellen identisch

– gleicher DB-Typ, identische Tabellenstruktur

Quellsystem Zielsystem =

Oracle GoldenGate

Page 5: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6 [email protected]

Einziger möglicher Unterschied Tabellennamen/-eigentümer

GLOBAL.CATALOG DE.KATALOG

Oracle GoldenGate

Quelle Ziel

Page 6: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7 [email protected]

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;

Page 7: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 8 [email protected]

Agenda

Homogene Replikation

Heterogene Replikation

Umgang mit Heterogenität

Beispiel: Unidirektionale Replikation von Oracle nach MySQL

Page 8: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9 [email protected]

Heterogene Replikation

Quell- und Zieltabellen nicht identisch

– unterschiedliche DB-Systeme, unterschiedliche Tabellenstrukturen

Quellsystem Zielsystem ≠

Oracle GoldenGate

Page 9: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 10 [email protected]

Unterschiedliche Datenbanksysteme

Datenbank Quelle Ziel

Oracle

MySQL

SQL Server

Sybase ASE

DB2 LUW

DB2 for i (OS400)

DB2 for z/OS

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

Datenbank Quelle Ziel

NonStop SQL/MX

Enscribe

Teradata

TimesTen -

PostgreSQL -

Netezza -

Greenplum -

Page 10: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11 [email protected]

Unterschiedliche Plattformen

Betriebssystem

Red Hat Linux

Oracle Linux

Windows

Oracle Solaris

IBM z/OS

IBM zLinux

IBM (OS400)

IBM AIX

HP-UX

Prozessorarchitektur

x86 IBM zSeries

x86-64 IBM POWER

SPARC

HP Itanium

HP NonStop (ehem. Tandem)

HP PA-RISC

Unterstützte Kombinationen aus Datenbank-/OS-Version OGG 11.2

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-

certification-100350.html

Page 11: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 12 [email protected]

Unterschiedliche Anzahl von Spalten

PROD_ID NAME PROD_ID NAME PREIS

Oracle GoldenGate

Quelle Ziel

Page 12: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13 [email protected]

Unterschiedliche Reihenfolge der Spalten

PROD_ID NAME PREIS PROD_ID PREIS NAME

Oracle GoldenGate

Quelle Ziel

Page 13: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14 [email protected]

Unterschiedliche Spaltennamen

Groß-/Kleinschreibung, Leerzeichen

prod_id name ARTIKEL_ID NAME

Oracle GoldenGate

Quelle Ziel

Page 14: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15 [email protected]

Unterschiedliche Datentypen Und/oder Spaltenlänge

prod_id:

VARCHAR2(6)

lieferdatum:

DATE prod_id:

VARCHAR2(8)

lieferdatum:

TIMESTAMP

Oracle GoldenGate

Quelle Ziel

Page 15: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 16 [email protected]

Agenda

Homogene Replikation

Heterogene Replikation

Umgang mit Heterogenität

Beispiel: Unidirektionale Replikation von Oracle nach MySQL

Page 16: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17 [email protected]

Oracle GoldenGate in Kenntnis setzen

Konvertierung Quellformat Zielformat erforderlich

– Mit Hilfe einer Datendefinitionsdatei

Parametereinstellungen

-- excerpt replicat parameter file

SOURCEDEFS /ogg/dirdef/ora2mysql.def

Page 17: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 18 [email protected]

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 ausführen

-- defgen.prm file

DEFSFILE/ogg/dirdef/ora2mysql.def

USERID oggsrc, PASSWORD ***

TABLE warehouse.catalog;

$ defgen paramfile dirprm/defgen.prm

Page 18: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19 [email protected]

Prinzip der Metadaten-Konvertierung Auf dem Zielsystem

Quellsystem Zielsystem

Datendefinitionen der

Zieltabellen

Datendefinitionen für die

Quelltabellen generieren

- werden direkt abgefragt

1

2 Definitionsdatei auf das

Zielsystem kopieren

3 Replicat Prozess

konvertiert Daten

- mittels DEFGEN

Page 19: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 20 [email protected]

Mapping von Tabellen und Spalten

GLOBAL.CATALOG

PROD_ID NAME PRICE CURRENCY

DE.KATALOG

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);

Page 20: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21 [email protected]

Spaltentransformationen

GLOBAL.CUSTOMERS

CUST_NAME PHONE_NO

EMEA.CUSTOMERS

NAME 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));

Page 21: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22 [email protected]

Eigene Funktionen

– Über Oracle GoldenGate User Exits

implementieren

Spaltentransformationen

> 30 vordefinierte Funktionen

– Arithmetische Operationen

– Operationen auf Zeichenketten, Datum-

und Zeitfelder

– Test auf Vorhandensein eines

Spaltenwertes

– Handling von NULL, fehlenden oder

ungültigen Werten

Oracle GoldenGate Reference Guide, Column Conversion Functions

Page 22: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23 [email protected]

Agenda

Homogene Replikation

Heterogene Replikation

Umgang mit Heterogenität

Beispiel: Unidirektionale Replikation von Oracle nach MySQL

Page 23: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 24 [email protected]

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

Page 24: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25 [email protected]

2 Installationen:

– auf Oracle DB Quellserver

(alternativ auf Standby Server)

– auf MySQL Zielserver

Oracle GoldenGate Installation

Download von edelivery.oracle.com oder

My Oracle Support

– Unter Oracle Fusion Middleware

– 2 Produkte: Oracle GoldenGate for Oracle,

Oracle GoldenGate for MySQL

Keine weiteren SW-Komponenten

Oracle Quellsystem MySQL Zielsystem

Oracle GoldenGate

for MySQL

Oracle GoldenGate

for Oracle

Page 25: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26 [email protected]

DB-Benutzer für Oracle GoldenGate

erstellen, Berechtigungen zuweisen

(Archivelogging einschalten)

Supplemental Logging einschalten

Für Eindeutigkeit der Zeilen sorgen

Datendefinitionen der Quelltabellen

generieren, auf Zielsystem übertragen

– Oracle GoldenGate DEFGEN Utility

Vorbereitung der Oracle Datenbank

Extract

Redo Log

Files

Page 26: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27 [email protected]

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

Replicat Remote

Trail Files

Page 27: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 28 [email protected]

2 Schritte zur Replikation

1

Leere MySQL Datenbank mit

Oracle Daten befüllen Oracle GoldenGate

oder andere Werkzeuge

2

Dauerhafte

Synchronisation starten Oracle GoldenGate

Page 28: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29 [email protected]

Konfiguration von Oracle GoldenGate Für die Synchronisation Oracle - MySQL

Trail Files registrieren

Extract, Data Pump und Replicat Prozesse konfigurieren und starten

ora_ext mys_rep ora_pmp /dirdat/lt /dirdat/rt

Redo Log

Files

Manager Manager

2

Page 29: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 30 [email protected]

Komplette Anleitung auf isblog.de

Page 30: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31 [email protected]

Demo

Oracle GoldenGate:

Konvertierung der Daten + Synchronisation

Quelle: Oracle DB Ziel: MySQL

WAREHOUSE.CATALOG

PROD_ID NAME PRICE CURRENCY

111111 Canon EOS 700D 569.50 EUR

222222 Panasonic Lumix

DMC-G6

579.10 EUR

333333 Sony Alpha 58 404.81 EUR

FILIALE.ARTIKEL

ARTIKEL_ID NAME EUR

111111 Canon EOS 700D 569.50

222222 Panasonic Lumix

DMC-G6

579.10

333333 Sony Alpha 58 404.81

@insert.sql

@update.sql

@delete.sql

Page 31: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 32 [email protected]

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

Page 32: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Q&A [email protected]

Page 33: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 34 [email protected]

Page 34: Replikation im heterogenen Umfeld mit Oracle GoldenGate

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35 [email protected]