Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix...
Transcript of Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix...
![Page 1: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/1.jpg)
Oracle GoldenGate –
Die Replikation beginnt mit Initial-Load!
Joachim Jaensch
Principal Sales Consultant
BU ST-PCM
DOAG Konferenz – Nürnberg – 16. November 2011
![Page 2: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/2.jpg)
Agenda
Oracle GoldenGate – Initial-Load
Synchronisation von Quelle und Ziel
Read-Only Quell-Datenbank
Read/Write Quell-Datenbank
Oracle GoldenGate Initial-Load Methoden
Database Utility (Export / Import, RMAN)
Load from File
SQL*Loader from File
GoldenGate Direct Load
SQL*Loader (Direct Bulk Load) from File
Zusammenfassung
Demos zu den Initial-Load Methoden
![Page 3: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/3.jpg)
Situation 1 – Ziel-Objekt(e) leer
Quelle Ziel
(z.B.: Auditing, Tracking usw.)
Tabellen der Ziel-Datenbank sind zu Beginn der Replikation leer
Kein Initial-Load!
Der Inhalt der Ziel-Datenbank muß über INSERTs erzeugt werden.
![Page 4: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/4.jpg)
Situation 2 – Objekt(e) beinhalten Daten
Quelle Ziel
Initial-Load
Replikation setzt aktuelle Daten voraus!
![Page 5: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/5.jpg)
Situation 2: Quelle ist “Read-Only”
Initial-Load
1
Redolog
Change-Extract
2
Erstbefüllung (Initial-Load) der Ziel-DB mit den Replikationsobjekten (Tabellen)
Initial-Load beendet – beide Datenbanken sind synchron – Normale Replikation kann beginnen:
Change-Replicat
3
NOHANDLECOLLISIONS
Einrichten und Starten eines Change-Extract Prozesses auf der Quell-Seite
Einrichten und Starten eines Change-Replicate Prozesses auf der Ziel-Seite
Quell-Datenbank wieder „Read / Write“
Quelle Ziel
Keine Updates während
Initial-Load
![Page 6: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/6.jpg)
Situation 2: Quelle ist “Read/Write”
Quelle Ziel
2. Initial-Load
Replikation setzt aktuelle Daten voraus!
3. Änderungen anwenden
1. Änderungen erfassen
Die Replikation beginnt eigentlich mit Change-Extract!
Mr. Source Mr. Target
![Page 7: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/7.jpg)
Synchronisation: Quelle “Read / Write”
Parallel zum Initial-Load läuft ein Change-Extract Prozeß
Quelle Ziel
Redolog
Erstbefüllung (Initial-Load) der Ziel-DB mit den Replikationsobjekten (Tabellen)
Nach Ende des Initial-Load starten des Change-Replicat Prozesses
Initial-Load
2
HANDLECOLLISIONS
Change-Replicat
3
HANDLECOLLISIONS NOHANDLECOLLISIONS
Synchronisation beendet – Datenbankobjekte stimmen überein – Normale Replikation kann beginnen:
Updates während
Initial-Load
Change-Extract
1
Trail
![Page 8: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/8.jpg)
GoldenGate – Aufbau einer Replikation
Change-Extract (hier als Change-Capture bezeichnet) muß immer zuerst laufen
Change-Extract läuft hier als Primary-Extract und speichert in lokales Trail
Data-Pump (Secondary-Extract) überträgt dann von Local- in Remote-Trail
Die verschiedenen Initial-Load Methoden werden im Anschluß vorgestellt
![Page 9: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/9.jpg)
Oracle GoldenGate – Initial-Load (1)
Erstbefüllung der Ziel-Datenbank mit den Datenbankobjekten der Quell-Datenbank
Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 (11.1.1) August 2010, Page 12
Es gibt verschiedene Methoden für den Initial-Load
Kein Initial-Load wenn Objekte in der Quell-Datenbank leer sind
Änderungen während des Initial-Load müssen erfaßt und danach repliziert werden
Das wird als Change-Synchronization bezeichnet
Change-Sychronization läuft mit HANDLECOLLISIONS
![Page 10: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/10.jpg)
Oracle GoldenGate – Initial-Load (2)
GoldenGate Initial-Load für Oracle unterstützt parallele Prozesse
Initial-Load Voraussetzungen
Disable DDL Processing (Initial-Load mittels GoldenGate)
Primary Key / Unique Key notwendig für HANDLECOLLISIONS zur Vermeidung von Duplicate Rows
Disable Foreign-Key Constraints / Check Constraints
Remove Indexes (Tabellen in der Ziel-Datenbank)
Data-Definition File (Struktur der Objekte in Quell-Datenbank)
Objekte in Quelle und Ziel unterschiedlich File notwendig (SOURCEDEFS <filename>)
Objekte in Quelle und Ziel gleich: File nicht notwendig (ASSUMETARGETDEFS)
HANDLECOLLISIONS / NOHANDLECOLLISIONS
darüber später mehr
Initial-Load Performance (Schnelligkeit!)
GoldenGate Initial-Load funktioniert homogen und heterogen
Im Vortrag wird Initial-Load anhand von zwei Oracle-Datenbanken gezeigt
![Page 11: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/11.jpg)
Initial-Load Methoden 1 bis 5
Grundlage: „Running an Initial data load“ Oracle GoldenGate Windows and Unix Administrator„s Guide, 11g Release 1 (11.1.1.1), Chapter 16
Weitere Methoden in Kombination mit Oracle DB Funktionalität
z.B.: mit Oracle DataGuard – Physical Standby Datenbank
Probleme für den GoldenGate „Nicht-Profi“:
1.Oracle Flashback Möglichkeiten nicht berücksichtigt
2. Verständlichkeit (z.B.: Methode 3)
5 (Basis-) Methoden (nicht optimal) beschrieben
besser: „GoldenGate Best Practices: Instantiation from an Oracle Source Database“, White Paper, Juni 2010
![Page 12: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/12.jpg)
Initial-Load – Methode 1 (Oracle: Export/Import)
Datenkopie erstellen Datenkopie einspielen
Mr. Source Mr. Target
File
![Page 13: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/13.jpg)
Initial-Load – Methode 1
Loading data with a database utility
Oracle GoldenGate Windows and Unix Administrator„s Guide, Version 11g Release 1 (11.1.1.1), April 2011, Page 217
Datenbank Programm erstellt eine Datenkopie (z.B.: Export / Import, Expdp/Impdp, RMAN)
Initial-Load erfolgt nicht über einen Extract- bzw. Replicat-Prozeß
Änderungen während des Kopierens werden über Change-Extract erfaßt
Change-Synchronization Zeitraum: Zeit in der das Copy-Utility läuft
Nach Change-Synchronization: HANDLECOLLISION NOHANDLECOLLISIONS
![Page 14: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/14.jpg)
Methode 1 – Ablauf-Varianten
Start: Change Extract
Start: Initial-Load Kopie
Ende: Initial-Load Kopie
Keine Konsistenz!
Quelle
t1
t2
t3
Start: Change Extract
Start: Initial-Load Export
Ende: Initial-Load Export
Konsistent!
t1
t2
t3
FLASHBACK_SCN= 5847739263594
Oracle Quelle
Start: Initial-Load Kopie
Start: Import
Ende: Import
HANDLECOLLISIONS
t4
t5
t6
Ende: Initial-Load Kopie
NOHANDLECOLLISIONS
Replicat: t2 – t3
t7
Ziel
Start: Change Replicat mit
Start: Initial-Load Import
Ende: Initial-Load Import
t4
t5
t6
NOHANDLECOLLISIONS
AFTERCSN 5847739263594
Oracle Ziel
Besser
Oracle
![Page 15: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/15.jpg)
Initial-Load – Methode 2 (GoldenGate)
Extract Process Replicat Process
Mr. Source Mr. Target
OGG Extract-File
![Page 16: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/16.jpg)
Initial-Load – Methode 2
Loading data from file to Replicat
Oracle GoldenGate Windows and Unix Administrator„s Guide, Version 11g Release 1 (11.1.1.1), April 2011, Page 218
Extract schreibt ein File (RMTFILE) und Replicat liest das File (EXTFILE)
Initial-Load erfolgt über einen Extract bzw. Replicat Prozeß
Änderungen während des Initial-Load werden über Change-Extract erfaßt
Change-Synchronization Zeitraum: Begin Initial-Load Extract – Ende Initial-Load Replicat
Nach Change Synchronization: HANDLECOLLISION NOHANDLECOLLISIONS
![Page 17: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/17.jpg)
Methode 2 – Ablauf
Start: Change Extract
Start: Initial-Load Extract
Ende: Initial-Load Extract
Keine Konsistenz!
Quelle
t1
t2
t3
Start: Change Replicat
Start: Initial-Load Replicat
Ende: Initial-Load Replicat
HANDLECOLLISIONS
t4
t5
t6
Send: Change Replicat
NOHANDLECOLLISIONS
Replicat: t2 – t3
t7
Ziel
INSERTs in Datenbank
Initial-Extract schreibt GoldenGate File
Initial-Replicat verarbeitet GoldenGate File
(sogenanntes „canonical“ Format)
( INSERTs in die Zieldatenbank)
Initial-Replicat über Kommando gestartet
![Page 18: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/18.jpg)
Initial-Load – Methode 3 (Oracle: SQL*Loader)
1 Data File per Table Control- and Run-File per Table
Mr. Source Mr. Target
Multiple Data Files
Extract Process Replicat Process
Run Loader per File
![Page 19: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/19.jpg)
Initial-Load – Methode 3
Loading data from file to database utility
Oracle GoldenGate Windows and Unix Administrator„s Guide, Version 11g Release 1 (11.1.1.1), April 2011, Page 223
Extract-Prozeß schreibt Data-File (RMTFILE) im ASCII-Format für SQL*Loader
Initial-Load erfolgt über Extract Prozeß und SQL*Loader
Replicat-Prozeß erzeugt Run- und Control-File(s) für SQL*Loader
Change-Synchronization Zeitraum: Begin Initial-Load Extract – Ende SQL*Loader Läufe
Nach Change-Synchronization: HANDLECOLLISION NOHANDLECOLLISIONS
![Page 20: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/20.jpg)
Start: Initial-Load Replicat
Ende: Initial-Load Replicat
HANDLECOLLISIONS
t4
t5
t8
Send: Change Replicat
NOHANDLECOLLISIONS
Replicat: t2 – t3
t9
Ziel
t6
t7
Start: Change Replicat
Ende: SQL*Loader
Start: Initial-Load Replicat
Ende: Initial-Load Replicat
HANDLECOLLISIONS
t4
t5
t8
NOHANDLECOLLISIONS
Replicat: t2 – t3
t9
t6
t7
Start: Change Replicat
Ende: SQL*Loader
Start: SQL*Loader
Methode 3 – Ablauf
Start: Change Extract
Start: Initial-Load Extract
Ende: Initial-Load Extract
Keine Konsistenz!
Quelle
t1
t2
t3
Direct Load(s)
Initial-Extract schreibt Data-Files
(pro Tabelle 1 File)
Initial-Replicat schreibt Run-Files
(pro Tabelle 2 Files)
![Page 21: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/21.jpg)
Mr. Source Mr. Target
Initial-Load – Methode 4 (GoldenGate)
Extract liest und übergibt direkt an Replicat Replicat übernimmt und führt INSERTs aus
UDT
LOB, LONG
Size > 4k
![Page 22: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/22.jpg)
Initial-Load – Methode 4
Loading data with a GoldenGate direct load
Oracle GoldenGate Windows and Unix Administrator„s Guide, Version 11g Release 1 (11.1.1.1), April 2011, Page 228
Initial-Load Extract (RMTTASK) initiert automatischen Start des Initial Load Replicat
Initial-Load erfolgt über Extract und direkte Datenweitergabe an Replicat Prozeß
Änderungen während des Initial-Load werden über Change-Extract erfaßt
Change-Synchronization Zeitraum: Begin Initial-Load Extract – Ende Initial-Load Replicat
Nach Change-Synchronization: HANDLECOLLISION NOHANDLECOLLISIONS
Nicht für: LOB, LONG, User-Defined, Large Datatypes > 4k
![Page 23: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/23.jpg)
Methode 4 – Ablauf
Start: Change Extract
Start: Initial-Load Extract
Ende: Initial-Load Extract
Keine Konsistenz!
Quelle
t1
t2
t3
HANDLECOLLISIONS
t4
t5 Send: Change Replicat
NOHANDLECOLLISIONS
Replicat: t2 – t3
Ziel
Start: Change Replicat
t2
t3
Initial-Load Replicat t2
t3
Automatischer Start durch Extract:
Ende: Initial-Load Replicat
INSERTs in Datenbank
Initial-Extract und Initial-Replicat laufen zeitgleich ab
Initial-Extract übergibt die Datensätze direkt an Initial-Replicat
![Page 24: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/24.jpg)
Mr. Source Mr. Target
Extract liest und übergibt direkt an Replicat
Initial-Load – Methode 5 (“Oracle-only”: BULKLOAD)
Replicat übernimmt und nutzt SQL*Loader API
LOB, LONG
Data
Encryption
![Page 25: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/25.jpg)
Initial-Load – Methode 5
Loading data with a direct bulk load to SQL*Loader
Oracle GoldenGate Windows and Unix Administrator„s Guide, Version 11g Release 1 (11.1.1.1), April 2011, Page 232
Initial-Load Replicat-Prozeß nutzt SQL*Loader Interface (BULKLOAD)
Initial-Load Extract ASCII Format Records Initial_Load Replicat
Initial-Load Extract (RMTTASK) initiert automatischen Start des Initial Load Replicat
Change-Synchronization Zeitraum: Begin Initial-Load Extract – Ende Initial-Load Replicat
Nach Change-Synchronization: HANDLECOLLISION NOHANDLECOLLISIONS
Nicht für: LOB, LONG, keine Data Encryption
![Page 26: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/26.jpg)
Methode 5 – Ablauf
Start: Change Extract
Start: Initial-Load Extract
Ende: Initial-Load Extract
Keine Konsistenz!
Quelle
t1
t2
t3
HANDLECOLLISIONS
t4
t5 Send: Change Replicat
NOHANDLECOLLISIONS
Replicat: t2 – t3
Ziel
Start: Change Replicat
t2
t3
Initial-Load Replicat t2
t3
Automatischer Start durch Extract:
Ende: Initial-Load Replicat
Bulk Loads über
SQL*Loader API
Initial-Extract und Initial-Replicat laufen zeitgleich ab
Initial-Extract übergibt die Datensätze direkt an Initial-Replicat
BUG: 9430360 Workaround: Use BATCHSQL instead BULKLOAD Fixed in 11.2.1.0 (?)
![Page 27: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/27.jpg)
Parameter: HANDLECOLLISIONS
Parameter: HANDLECOLLISIONS
Replicate Prozeß ignoriert „Missing Updates“ und „Missing-Deletes “. „Duplicate Inserts“ werden in
„Updates“ umgewandelt. Bitte nur für die Replikation des Zeitraumes des Initial-Load Extract aktivieren!
Siehe: „How HANDLECOLLISIONS works“ Oracle GoldenGate Windows and Unix Rererence Guide 11g Release 1 (11.1.1.1), Page 226
„What Does The HANDLECOLLISIONS Parameter Do?“ Oracle Support Note: 966207.1
Initial-Extract ist zu einer bestimmten SCN konsistent Change Replicat setzt genau danach auf:
z.B.: Quell-DB: Export mit „FLASHBACK_SCN = 5847739263594“
Ziel-DB: Import und danach: „START REPLICAT rep_name AFTERCSN 5847739263594”
Idealfall für Oracle: NOHANDLECOLLISIONS
GoldenGate Initial-Load – Methode 1
GoldenGate Initial-Load – Methoden 2 bis 5
Initial-Extract kann (noch?) nicht SCN basierend arbeiten
Change-Replicate kann deshalb nicht ab einer bestimmten SCN starten
HANDLECOLLISIONS notwendig!
![Page 28: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/28.jpg)
Methode Bezeichnung Pro Kontra
1 Oracle Database Utility SCN Konsistent Oracle Flashback
Funktionalität
Export / Import (Expdp / Impdp)
RMAN
zeitintensiv
Objekte identisch
2 GG Loading from File Transformationen auf beiden
Seiten HANDLECOLLISIONS
3 GG File to
DatabaseUtility Oracle SQL*Loader
HANDLECOLLISIONS
Aufwendig, weil Load pro
Tabelle
4 GG Direct Load Hohe Automatisierung HANDLECOLLISIONS
Kein: LONG, LOB, UDT und
Objekte > 4k
5 GG Direct Bulk Load
(Oracle SQL*Loader API)
Hohe Automatisierung
„Oracle-Only“
HANDLECOLLISIONS
Kein: LONG, LOB
Keine Verschlüsselung
Pro & Kontra – Initial-Load Methoden
Empfehlung: Methode 1 für Oracle Datenbanken
![Page 29: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/29.jpg)
Zusammenfassung
Für Initial-Load unterstützt GoldenGate verschiedene Methoden
Einige Methoden sind datenbank-spezifisch andere für heterogene Replikation
Parameter: SPECIALRUN definiert Extract / Replicat als Batch-Prozeß
Extract Parameter: RMTTASK Replicat wird automatisch gestartet
Tabellen gleich (1:1 Mapping): ASSUMETARGETDEFS
Tabellen unterschiedlich: Data Definition File (SOURCEDEFS <filename>)
Initial-Load Methoden unterscheiden sich in Aufwand und Arbeitsweise
Methode 1: SCN „aware“ Konsistenz gesichert NOHANDLECOLLISIONS!
Für Oracle empfohlen: Einzel-Objekte EXP / IMP oder EXPDP / IMPDP
Datenbank RMAN
Auch möglich: Tabelle SQL*Plus SELECT * from <tablename> as of scn 9999999
Methoden 2, 3 und 4: Keine Konsistenz HANDLECOLLISIONS
Heterogene Replikation (z.B. Oracle MS SQL Server / IBM DB2)
Es gibt weitere Initial-Load Möglichkeiten, die hier nicht beschrieben sind.
![Page 30: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/30.jpg)
Demo
Initial-Load
Extract*
Change
Extract*
Initial-Load
Replicat*
Change
Replicate*
Initial-Load
Bemerkungen
Demo1 -
(Export)
e2d1oraj
-
(Import)
r2d1orak
Database Utility
Konsistent
Demo2
e1d2oraj
e2d2oraj
r1d2orak
r2d2orak
Load from File
GG über Trail
Demo3
e1d3oraj
e2d3oraj
r1d3orak
r2d3orak
Database Utility
from File
SQL*Loader
Direct Load
Aufwendig
Demo4
e1d4oraj
e2d4oraj
r1d4orak
r2d4orak
GG Direct Load
GG Direkt
Demo5
e1d5oraj
e2d5oraj
r1d5orak
r2d5orak
Direct Bulk Load
SQL*Loader API
Oracle Only
Demos zu den Initial-Load Methoden
* Namen der GoldenGate Prozesse in der Demo
![Page 31: Oracle GoldenGate Die Replikation beginnt mit Initial-Load! · Oracle GoldenGate Windows and Unix Administrator„s Guide Version 11g Release 1 ... (Oracle: SQL*Loader) 1 Data File](https://reader031.fdocuments.us/reader031/viewer/2022021822/5b1583cc7f8b9a382f8c9cd5/html5/thumbnails/31.jpg)
Demo-Beschreibung: Teil 1 & Teil 2
Deutsche Data Integration Community
http://apex.oracle.com/pls/otn/f?p=43477:1
Bitte registrieren Sie sich!