Upload
ileana-somesan
View
820
Download
0
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
Ileana Someşan, Systemberaterin
Replikation im heterogenen Umfeld mit Oracle GoldenGate
Frankfurt, 26.11.2013
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
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
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
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
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;
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
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
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 -
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
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
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
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
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
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
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
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
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
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);
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));
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
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
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
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
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
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
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 30 [email protected]
Komplette Anleitung auf isblog.de
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 34 [email protected]
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35 [email protected]