replikation im heterogenen umfeld mit oracle goldengate

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

Upload: ileana-somesan

Post on 13-May-2015

815 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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]