Bis zum Kauf der Firma GoldenGate Software war Oracle Streams die strategische Replikationslösung von Oracle. Einziger Nachteil: Oracle Streams ist aufgrund der Architektur nur für die Replikation zwischen Oracle-Datenbanken einsetzbar, weil die Streams-Prozesse in der Oracle-Datenbank als Background-Prozesse laufen. Das war der entscheidende Faktor für den Zukauf der heterogenen Replikationslösung GoldenGate.
Da diese auch die Oracle-Oracle-Replikation abdeckte, wurde Oracle Streams nicht weiterentwickelt. Oracle entschied sich aber dafür, bewährte Oracle Streams-Funktionen in GoldenGate zu übernehmen. Bereits in Version 11gR1 wurden neue Funktionen und einzelne Verbesserungen bereitgestellt. Tabelle 1 zeigt die wichtigsten davon:
Funktion / Verbesserung | ab Oracle Version | Beschreibung |
New API for capturing from an Oracle Automatic Storage Management (ASM) instance | 10.2.0.5 + | Die beiden neuen Optionen DBLOGREADER und DBLOGREADERBUFSIZE bei TRANLOGOPTIONS gestatten die Nutzung eines neuen Interfaces für den Extract aus einer Oracle ASM Instanz mit Puffergrößen bis zu 4 MB. |
Extract works with Oracle Recovery Manager (RMAN) | Enterprise Edition 10.2 + | RMAN sichert die Verfügbarkeit aller benötigten Redolog Files für ein normales Recovery (Log Retention Time). Aktiviert wird diese Funktion über die Option LOGRETENTION bei TRANLOGOPTIONS und durch ein zusätzliches Registrieren des Extract in der Datenbank mit REGISTER EXTRACT ... LOGRETENTION (Pseudo Streams Capture Prozeß wird erstellt) |
Oracle Transparent Data Encryption (TDE) at column and tablespace level | Enterprise Edition 10.2 + | Über eine neues Package DBMS_INTERNAL_CKLM.PLB und die Option DECRYPTPASSWORD bei DBOPTIONS wird diese Funktion aktiviert. (Patches!) |
Trigger | 10.2.0.5 + (not 11gR1) | Über die Option SUPPRESSTRIGGERS bei DBOPTIONS wird das "Feuern" der Trigger auf der Zielseite unterdrückt. Vorher mußte das manuell für alle Trigger gemacht werden. |
Supplemental Logging | all Versions | Über das neue GGSCI Kommando ADD SCHEMATRANDATA wird das Logging für alle Objekte eines Schemas aktiviert. Vorher mußte man für jedes Objekt ein ADD Kommando geben. |
Tabelle 1: Neuerungen in Oracle GoldenGate 11g Release1
Mit der Version 11gR2 von GoldenGate vom März 2012 präsentiert Oracle nun eine völlig überarbeitete Software, deren Anzahl an neuen Funktionalitäten größer ist als je zuvor (siehe auch Press Release vom 27. August 2012). Darunter gibt es Oracle-spezifische Erweiterungen wie Integrated Capture und neue Funktionalitäten für alle Plattformen. Neben der GoldenGate-Dokumentation ist ein Blick in die Oracle Streams-Dokumentation auf jeden Fall nützlich. Wer diesen Schritt wagt, wird es allerdings nicht bereuen, denn die neue OOG-Version bringt erwähnenswerte Vorteile mit sich:
- Keine Anpassungen in der Oracle-Datenbank für Automatic Storage Management (ASM), Real Application Cluster (RAC) RAC und Transparent Data Encryption (TDE)
- Fehlertolerante Redolog File-Verarbeitung durch LogMiner-Server
- Unterstützung von Point-In-Time Recovery
- Redolog File -Verwaltung durch Recovery Manager (RMAN)
- Entlastung der Quelldatenbank durch Auslagerung des Capture-Prozess
- Unterstützung neuer Datenformate durch Integrated Capture (siehe Tabelle 3)
Integrated Capture
Für die Replikation von Oracle-Datenbanken gibt es jetzt einen neuen Extract-Prozess namens Integrated Capture. DBAs, die mit Oracle Streams vertraut sind, erkennen darin den Capture-Prozess von Oracle Streams. Er macht nun auch Downstream Capture innerhalb von GoldenGate möglich. Bisher lief das OGG Capturing auf der Source-Datenbank. Nun ist es möglich, den Capture-Prozess auf einer anderen Datenbank durchzuführen und so die Source-Datenbank zu entlasten.
Der Classic Capture bleibt uns erhalten, ist aber nicht mehr durchgängig nutzbar. Zum einen weil, er nicht weiterentwickelt wird; zum anderen unterstützt er bereits heute weniger Oracle-Datenformate als Integrated Capture.
Bei der Definition der Capture Prozesse sind übrigens folgende Unterschiede zu beachten:
Konfigurationschritt | Integrated Capture | Classic Capture |
Definition des Extract | ADD EXTRACT name, INTEGRATED TRANLOG … | ADD EXTRACT name, TRANLOG |
Registrieren in der Datenbank | REGISTER EXTRACT name DATABASE | (nur Register mit Parameter LOGRETENTION möglich, siehe Tabelle 1, Zeile 2) |
Tabelle 2: Konfiguration der Capture-Prozesse
Um den neuen Capture-Prozess zu verstehen, brauchen DBAs Grundkenntnisse von Oracle Streams: Über REGISTER EXTRACT ... DATABASE wird im Hintergrund ein Oracle Streams Capture-Prozess definiert. Bei dem neuen Integrated Capture muss man zwischen Capture auf der Quelldatenbank (Local Deployment) und dem Downstream Capture (Downstream Deployment) unterscheiden. Für den Einsatz von Downstream Capture werden demnach zwei Datenbanken benötigt: Die Source- und die Downstream-Datenbank. Daraus resultieren unterschiedliche Kommandos für den Login.
Auch an der neuen Option INTEGRATEDPARAMS bei TRANLOGOPTIONS sind Parallelen zu Oracle Streams zu erkennen: Diese beinhaltet die Parameter "downstream_real_time_mine", "max_sga_size" und "parallelism", die einen klaren Bezug zu Oracle Streams haben.
Datentyp | Integrated Capture | Classic Capture |
XML Object Relational | Ja (Compatibility 11.2.0.3 +) | Nein |
XML Type Table | Ja (Compatibility 11.2.0.3 +) | Nein |
Basic Compression | Ja (Compatibility 11.2.0.0.0 +) | Nein |
| NOLTP-Compression | Ja | Nein |
Exadata Hybrid Columnar Compression | Ja | Nein |
Distributed Transactions on RAC | Ja (Compatibility 11.2.0.0.0 +) | Nein |
Parallel DML Transactions on RAC | Ja | Nein |
Tabelle 3: Von Classic Capture nicht unterstützte Oracle Datentypen
Wie schon erwähnt, werden zukünftige Funktionserweiterungen für die Replikation von Oracle-Daten nur noch für den Integrated Capture angeboten. Der ursprüngliche Classic Capture für Oracle wird auf dem Stand von 11gR1 eingefroren. Bisher gab es in Zusammenhang mit Classic Capture gewisse Einschränkungen bei einigen Oracle-Datentypen. Für die Nutzung von Integrated Capture sind diese nicht relevant. Das heißt: "Index Organized Tables" und "Transparent Data Encryption" können beispielsweise problemlos angewandt werden. Eine vollständige Auflistung aller durch Capture unterstützten Oracle-Datentypen ist im "Oracle GoldenGate - Oracle Installation and Setup Guide 11g Release 2 Patch Set (11.2.1.0.1)" zu finden.
Beide Capture-Modi (Classic und Integrated) können parallel für die gleiche Datenbank konfiguriert und benutzt werden. Der ALO (Archived Log Only)-Mode hingegen ist nicht mit Integrated Capture kompatibel.
Hinweis: Für die Nutzung von Integrated Capture wird die Oracle Version 11.2.0.3 empfohlen (siehe Tabelle 3). Zusätzlich muss vorher ein Patch eingespielt werden. Die Vorgehensweise ist in der Support Note 1411356.1 beschrieben.
Conflict Detection & Resolution (CDR) nach dem Vorbild von Oracle Streams
Bisher gab es keine Unterstützung der Nutzer bei der Behandlung von Konflikten. Standardkonfliktlösungen existierten nicht und die Implementierung einer Konfliktlösung war aufwendig, umfangreich und unübersichtlich.
Mit der Version 11gR2 hat sich die Konflikterkennung und -behandlung in Oracle GoldenGate grundlegend geändert. In Anlehnung an Oracle Streams sind jetzt auch diese Standard-Konfliktlösungen in OGG verfügbar: OVERWRITE, DISCARD, IGNORE, USEMAX, USEMIN und USEDELTA.
Damit wird das Einrichten bzw. die Parametrisierung einer Konfliktbehandlung einfach und übersichtlich für den Nutzer. CDR ist für alle von GoldenGate unterstützten Plattformen (außer NonStop) verfügbar. Mit CDR können alle fünf möglichen Konfliktsituationen erkannt und behandelt werden (siehe Tabelle 4).
Konflikt | Erklärung |
INSERTROWEXISTS | Datensatz existiert schon |
UPDATEROWEXISTS | Datensatz existiert, aber BEFORE-Image stimmt nicht überein |
UPDATEROWMISSING | Datensatz existiert nicht |
DELETEROWEXISTS | Datensatz exisitiert, mindestens ein BEFORE-Image stimmt nicht überein |
DELETEROWMISSING | Datensatz existiert nicht |
Tabelle 4: Oracle GoldenGate 11gR2 - Konfliktsituationen mit Standard-Konfliktlösungen
Globalization – Mehrwert durch Oracle NLS
Oracle hat die vorhandenen Erfahrungen mit „National Language Support“ (NLS) in Version 11gR2 eingearbeitet. Dadurch ist die Unterstützung der Replikation zwischen Plattformen mit unterschiedlichen Character Sets in Version 11gR2 stark verbessert. Das gilt auch für Multi-Byte und Unicode Character Sets. Schlüsselthemen der neu implementierten Globalization sind:
1. Die plattformübergreifenden Interaktionen zwischen den Character Sets von Datenbank-Server, Datenbank-Client, Betriebssystem und Terminal.
2. Die Behandlung von Groß- und Kleinschreibung (Case-Sensitivity) von Schema- und Objektnamen auf den unterschiedlichen GoldenGate Plattformen.
3. Änderungen des Trail-File-Formats, neue Parameter und Syntax-Hinweis zur richtigen Nutzung der Globalization Funktionen.
Security & Performance – Einsatz modernster Technologien
Security: Zusätzlich zum BLOWFISH-Verschlüsselungsstandard unterstützt Oracle GoldenGate jetzt auch den Advanced Encryption Standard (AES) mit Schlüssellängen von 128, 192 und 265 Bytes. Der neue Standard kann für Passwörter, Trail-Files und für die TCP/IP-Datenübertragung genutzt werden. Wie die Erstellung und Verwendung eines mittels AES-128 verschlüsselten Passworts erfolgt, kann anhand dieses Beispiels gezeigt werden:
1. Zuerst wird der Schlüssel (KEY) mit dem GoldenGate-Programm KEYGEN erstellt:
D:ogg_new_src>keygen 128 1 |
2. Der Schlüssel muss nach Erstellung unter dem Name mykey1281 in der Datei ENCKEYS im GoldenGate-Installationsverzeichnis bereitgestellt werden:
# Key Name Key Value |
3. GoldenGate Kommando DBLOGIN mit dem verschlüsselten Passwort:
GGSCI (JJT420) 4> encrypt password GGADMIN AES128 encryptkey mykey1281 GGSCI (JJT420) 5> dblogin userid ggadmin password AADAAAAAA AAAAAHAGHXABGQGGBQCDHCDUJDAWCJAOADDAIFHTDRCWBOHWATEEJIFDIXGIEQBTEUBMANH aes128 encryptkey mykey1281 GGSCI (JJT420) 6> |
Performance: GoldenGate 11gR2 unterstützt Ipv6. Die Übertragung der Daten wird dadurch effektiver und kann besser überwacht werden. Der Pump Extract (DataPump) kann jetzt auch asynchron arbeiten (Parameter STREAMING). Damit wird die Anzahl der notwendigen Bestätigungsmeldungen des Collector-Prozesses drastisch minimiert. Diese Änderung führt zu einer enormen Leistungssteigerung bei der Übertragung der Transaktionsdaten in „WideArea“-Netzen mit hoher Verzögerungszeit (Latency).
Extensibility – Steigerung der Flexibilität
Durch die Einführung von sogenannten Ereigniseinträgen (Event Markers) in die Trail-Files kann GoldenGate auf bestimmte Ereignisse reagieren und gezielte Aktionen auslösen (EVENTACTIONS). DDL-Operationen können Event Markers auslösen und Variablen an Shell Scripts übergeben. Beispiele für die Nutzung von Event Markers sind zum Beispiel:
1. Aufruf von Kommandos zur Überprüfung von Daten
2. Starten eines Traces (z.B. bei einer bestimmte Abrechnungsnummer)
3. Sammeln von Statistiken
4. Starten eines/mehrerer Batch-Jobs bzw. Prozeduren
5. STOP oder SUSPEND des Replicat-Prozess(z.B. nach 20 Konflikten)
Manageability & Monitoring – Integration in Oracle Enterprise Management
Der schon vor dem Kauf der Firma GoldenGate Software vorhandene GoldenGate Director war bisher das einzige grafische Administrations- und Monitor-Tool. Mit der Bereitstellung des Oracle GoldenGate-Monitors und eines Plug-in beginnt die Integration von GoldenGate in den Oracle Enterprise Manager (OEM) Cloud Control 12c. Damit hat der Nutzer die Qual der Wahl.
Zu empfehlen ist der Einsatz des neuen Monitors bzw. die Verwendung des OEM über das verfügbare Plug-in. Diese beiden Komponenten unterstützen zwar gegenwärtig keine Administration, aber sie sind mit geringem Installationsaufwand für ein übersichtliches Monitoring einsetzbar. Im Gegensatz dazu müssen Sie für den Einsatz vom GoldenGate Director zusätzlich einen WebLogic-Server installieren. Ein weiterer Aspekt spricht auch für diese Empfehlung: In Zukunft werden nur den neuen Monitor und das Plug-in weiterentwickelt, sodass der GoldenGate Direktor als "Auslaufmodell" anzusehen ist. Monitor und Plug-in sind Java-Lösungen. Jede Oracle GoldenGate-Instanz hat einen eigenen Agenten und verbindet sich über diesen zum Server, der entweder der GoldenGate Monitor oder der OEM ist. Schrittweise werden deshalb alle Administrationsfunktionen in die beiden neuen Serverkomponenten übernommen, bis schließlich nur noch diese unterstützt sein werden.
Der GoldenGate Monitor bietet dem Nutzer folgende Funktionen:
1. Eine Grafische Übersicht über die GoldenGate-Topologie
2. Drill-Down-Menüs zur Analyse (Manager, Prozesse, Trail-Files)
3. Definition und Untersuchung von Alerts (z.B. Latency Überwachung)
4. Repository-Daten für History-Views
5. SNMP-Interface für Einbindung ins Enterprise Monitoring
Expanded Heterogeneity – Weitere Plattformen und Datenformate
Ein weiterer Vorteil der neuen Version: Die Anzahl der unterstützten Plattformen vergrößert sich: Capture ist nun auch unter DB2 auf System i möglich und ein Replicat (Delivery) für die bisher nicht unterstützte Plattform PostgreSQL ist jetzt verfügbar. Zusätzlich werden auf einigen Plattformen neue Datenformate unterstützt.

