DBAtlas · Atlas für Datenbankbetrieb

Oracle GoldenGate Microservices: unidirektionale Replikation Oracle → Oracle

OracleStufe: FortgeschrittenDauer: 3–5 Stunden

Repliziert ein PDB-Schema mit GoldenGate 21c oder 23ai/26ai Microservices kontinuierlich (mit Sekunden Verzögerung) in eine andere Datenbank. Am Ende laufen auf der Quelle Integrated Extract und ein Distribution Path, auf dem Ziel ein Parallel Replicat; das Zielschema wird per Initial Load ab einer konsistenten SCN befüllt, und die End-to-End-Verzögerung wird mit Heartbeat gemessen. Der Unterschied zu Data Guard: Es ist keine physische Kopie, sondern eine Replikation auf Zeilenebene (logisch); das Ziel ist geöffnet und beschreibbar und kann eine andere Version/Plattform haben. Quelle und Ziel können Single Instance oder RAC sein; für den täglichen Betrieb und Störungen nutzt du den GoldenGate-Betriebsleitfaden.

Topologie: Quell-DB-Server (OGG-Quell-Deployment) + Ziel-DB-Server (OGG-Ziel-Deployment); bei RAC GoldenGate auf Node 1 (oder mit XAG als Cluster-Ressource)

Vor dem Start

  • Eine GoldenGate-Lizenz und Zugang zu My Oracle Support/eDelivery sind vorhanden. Auf beiden Servern liegt …/… (die Microservices-Software für Oracle Database) bereit; die Versionszertifizierung (OGG-Version ↔ DB-Version ↔ Betriebssystem) ist anhand der MOS-Zertifizierungsmatrix geprüft.
  • Auf den Servern läuft …Oracle Linux / RHEL 7.9…Oracle Linux / RHEL ……; der Benutzer oracle und die Gruppe oinstall existieren (Datenbankserver), unzip ist installiert (sonst als root: … -y install unzip). Für GoldenGate sind mindestens 4 GB freier RAM vorhanden, ~2 GB für die Software und Plattenplatz für Trail-Dateien entsprechend der Redo-Erzeugung (Redo pro Tag × Aufbewahrungstage).
  • Die Quelldatenbank ist eine CDB im ARCHIVELOG-Modus (falls nicht, wird er in diesem Leitfaden aktiviert); Archivelogs dürfen erst gelöscht werden, wenn Extract sie verarbeitet hat (RMAN-Löschrichtlinie). Quell- und Ziel-PDB sind geöffnet, ihre Services sind beim Listener registriert.
  • Die Tabellen im zu replizierenden Schema … haben einen Primary Key (oder einen Unique Key ohne NULL-Werte). Bei Tabellen ohne Schlüssel gelten alle Spalten als Schlüssel; Updates werden langsamer, und es besteht das Risiko, die falsche Zeile zu treffen.
  • Datentypen/Objekte im Schema, die GoldenGate nicht unterstützt oder die eine Sonderbehandlung erfordern, sind geprüft (DBA_GOLDENGATE_SUPPORT_MODE).
  • Von der Quelle zum Ziel ist …/tcp (Receiver Server) offen; für die Administration ist auf beiden Servern …–…/tcp für das Admin-Netz offen. Die Server lösen sich gegenseitig per Namen auf…, die SCAN-Namen (…………, …………) werden im DNS aufgelöst…; die Uhren sind per NTP synchronisiert.
  • Während der ersten Registrierung des Integrated Extract und des Initial Load darf es auf der Quelle keine lang laufenden offenen Transaktionen geben; für den Initial Load ist ein ruhiges Zeitfenster eingeplant.
  • Auf der RAC-Seite ist die Clusterware intakt, und srvctl funktioniert als Benutzer oracle; GoldenGate-Software und Deployment werden auf einem Node (…………, …………) installiert. Ist eine automatische Übernahme bei Node-Ausfall gewünscht, sind XAG + ein gemeinsames (ACFS-)Verzeichnis eingeplant (siehe Hinweise).

Phasen der Anleitung

  • Vorbereitung der Quelldatenbank — Zustand der Quelldatenbank prüfen · ARCHIVELOG-Modus aktivieren (falls nötig) · Datenbankeinstellungen für GoldenGate (Quelle) · GoldenGate-Capture-Benutzer anlegen (Quelle) · GoldenGate-Service anlegen (Quell-RAC) · Data-Pump-Verzeichnis definieren (Quell-PDB)
  • Vorbereitung der Zieldatenbank — Datenbankeinstellungen für GoldenGate (Ziel) · Benutzer ggadmin anlegen (Ziel-PDB) · GoldenGate-Service anlegen (Ziel-RAC) · Data-Pump-Verzeichnis definieren (Ziel-PDB)
  • Installation der GoldenGate-Software (beide Server) — Verzeichnisse anlegen · Installationsdatei entpacken · oggcore.rsp aus dem Template erstellen · GoldenGate-Software installieren (silent) · Umgebungsvariable OGG_HOME definieren
  • Service Manager und Deployments (oggca) — oggca-Response-File schreiben (Quelle) · Deployment anlegen (oggca, Quelle) · Service Manager als systemd-Service einrichten (Quelle) · oggca-Response-File schreiben (Ziel) · Deployment anlegen (oggca, Ziel) · Service Manager als systemd-Service einrichten (Ziel) …
  • Quelle: Credentials, Trandata, Heartbeat, Extract, Distribution Path — Credential Store und Datenbankverbindung vorbereiten (Quelle) · Supplemental Logging auf Schemaebene aktivieren · Heartbeat-Tabelle anlegen (Quelle) · Integrated Extract registrieren und hinzufügen · Extract-Parameterdatei schreiben · Extract starten …
  • Ziel: Credentials, Checkpoint, Parallel Replicat — Credential Store und Datenbankverbindung vorbereiten (Ziel) · Heartbeat- und Checkpoint-Tabellen anlegen (Ziel) · Parallel Replicat hinzufügen · Replicat-Parameterdatei schreiben
  • Initial Load und Start des Replicat — Offene Transaktionen prüfen (Quelle) · SCN für den Initial Load ermitteln und exportieren (expdp) · Dump-Dateien zum Ziel kopieren · In das Ziel importieren (impdp) · Replicat nach der SCN starten · Replicat starten
  • Verifizierung und Monitoring — Status aller Prozesse prüfen (Quelle) · Status aller Prozesse prüfen (Ziel) · End-to-End-Test: Zeilen einfügen (Quelle) · End-to-End-Test: Zeilen und Lag prüfen (Ziel) · Monitoring und Wartung
Schritt-für-Schritt-Plan für Ihre Umgebung öffnen →