Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren Sie Amazon RDS for Oracle zu Amazon RDS for PostgreSQL mit AWS SCT und unter Verwendung von und AWS DMSAWS CLIAWS CloudFormation
Erstellt von Pinesh Singal (AWS)
Übersicht
Dieses Muster zeigt, wie Sie mithilfe von () eine Amazon Relational Database Service (Amazon RDS) für Oracle-DB-Instance mit mehreren Terabyte zu einer Amazon RDS for PostgreSQL PostgreSQL-DB-Instance migrieren. AWS Command Line Interface AWS CLI Dieser Ansatz bietet minimale Ausfallzeiten und erfordert keine Anmeldung bei. AWS Management Console
Dieses Muster trägt dazu bei, manuelle Konfigurationen und individuelle Migrationen mithilfe der Konsolen AWS Schema Conversion Tool (AWS SCT) und AWS Database Migration Service (AWS DMS) zu vermeiden. Die Lösung richtet eine einmalige Konfiguration für mehrere Datenbanken ein und führt die Migrationen mithilfe AWS SCT von und in der durch. AWS DMS AWS CLI
Das Muster wird verwendet AWS SCT , um Datenbankschemaobjekte von Amazon RDS for Oracle in Amazon RDS for PostgreSQL zu konvertieren, und verwendet es dann, um die Daten AWS DMS zu migrieren. Mithilfe von AWS CLI Python-Skripten in erstellen Sie AWS SCT Objekte und AWS DMS Aufgaben mit einer AWS CloudFormation Vorlage.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktiver AWS-Konto.
Eine bestehende Amazon RDS for Oracle Oracle-DB-Instance.
Eine bestehende Amazon RDS for PostgreSQL PostgreSQL-DB-Instance.
Eine Amazon Elastic Compute Cloud (Amazon EC2) -Instanz oder ein lokaler Computer mit Windows- oder Linux-Betriebssystem zum Ausführen von Skripten.
Ein Verständnis der folgenden Arten von AWS DMS Migrationsaufgaben:
full-load
,cdc
,full-load-and-cdc
. Weitere Informationen finden Sie in der AWS DMS Dokumentation unter Aufgabe erstellen.AWS SCT, installiert und konfiguriert mit Java Database Connectivity (JDBC) -Treibern für Oracle- und PostgreSQL-Datenbank-Engines. Weitere Informationen finden Sie in der Dokumentation unter Installation und Konfiguration AWS SCT. AWS SCT
Die
AWSSchemaConversionToolBatch.jar
Datei aus dem installierten AWS SCT Ordner wurde in Ihr Arbeitsverzeichnis kopiert.Die
cli-sct-dms-cft.zip
Datei (angehängt), heruntergeladen und in Ihr Arbeitsverzeichnis extrahiert.Die neueste Version der AWS DMS Replication Instance Engine. Weitere Informationen finden Sie in der AWS -Support Dokumentation und in den AWS DMS Versionshinweisen unter Wie erstelle ich eine AWS DMS Replikationsinstanz
. AWS CLI Version 2, installiert und konfiguriert mit Ihrer Zugriffsschlüssel-ID, Ihrem geheimen Zugriffsschlüssel und dem AWS-Region Standardnamen für die EC2 Instanz oder das Betriebssystem, auf dem die Skripts ausgeführt werden. Weitere Informationen finden Sie in der AWS CLI Dokumentation unter Installation oder Aktualisierung auf die neueste Version von AWS CLI und Konfiguration AWS CLI der Einstellungen für.
Vertrautheit mit AWS CloudFormation Vorlagen. Weitere Informationen finden Sie in der AWS CloudFormation Dokumentation unter So AWS CloudFormation funktioniert es.
Python Version 3, installiert und konfiguriert auf der EC2 Instanz oder dem Betriebssystem, auf dem die Skripts ausgeführt werden. Weitere Informationen finden Sie in der Python-Dokumentation
.
Einschränkungen
Die Mindestanforderungen für Ihre Amazon RDS for Oracle DB-Quell-Instance sind:
Oracle-Versionen 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) und 19c (19.0.0.0) für die Editionen Enterprise, Standard, Standard One und Standard Two.
Obwohl Amazon RDS Oracle 18c (18.0.0.0) unterstützt, ist diese Version veraltet, da Oracle nach diesem Datum keine Patches mehr für 18c bereitstellt. end-of-support Weitere Informationen finden Sie unter Amazon RDS for Oracle in der Amazon RDS-Dokumentation.
Amazon RDS for Oracle 11g wird nicht mehr unterstützt.
Die Mindestanforderungen für Ihre Amazon RDS for PostgreSQL PostgreSQL-DB-Ziel-Instance sind:
PostgreSQL-Versionen 9 (9.5 und 9.6), 10.x, 11.x, 12.x und 13.x
Produktversionen
Amazon RDS for Oracle Oracle-DB-Instance Version 12.1.0.2 und höher
Amazon RDS for PostgreSQL PostgreSQL-DB-Instance Version 11.5 und höher
AWS CLI Version 2
Die neueste Version von AWS SCT
Die neueste Version von Python 3
Architektur
Quelltechnologie-Stack
Amazon RDS für Oracle
Zieltechnologie-Stack
Amazon RDS für PostgreSQL
Quell- und Zielarchitektur
Das folgende Diagramm zeigt die Migration einer Amazon RDS for Oracle DB-Instance zu einer Amazon RDS for PostgreSQL DB-Instance mithilfe von AWS DMS Python-Skripten.

Das Diagramm zeigt den folgenden Migrationsablauf:
Das Python-Skript wird verwendet AWS SCT , um eine Verbindung zu den Quell- und Ziel-DB-Instances herzustellen.
Der Benutzer beginnt AWS SCT mit dem Python-Skript, konvertiert den Oracle-Code in PostgreSQL-Code und führt ihn auf der Ziel-DB-Instance aus.
Das Python-Skript erstellt AWS DMS Replikationsaufgaben für die Quell- und Ziel-DB-Instances.
Der Benutzer stellt Python-Skripts bereit, um die AWS DMS Aufgaben zu starten, und stoppt die Aufgaben dann, nachdem die Datenmigration abgeschlossen ist.
Automatisierung und Skalierung
Sie können diese Migration automatisieren, indem Sie Ihrem Python-Skript Parameter und sicherheitsrelevante Änderungen hinzufügen, um zusätzliche Funktionen bereitzustellen.
Tools
AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
AWS CloudFormationhilft Ihnen dabei, AWS-Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus regionsübergreifend AWS-Konten zu verwalten. Dieses Muster konvertiert die
.csv
.json
Eingabedatei mithilfe eines Python-Skripts in eine Eingabedatei. Die.json
Datei wird in AWS CLI Befehlen verwendet, um einen AWS CloudFormation Stack zu erstellen, der mehrere AWS DMS Replikationsaufgaben mit Amazon-Ressourcennamen (ARNs), Migrationstypen, Aufgabeneinstellungen und Tabellenzuordnungen erstellt.AWS Database Migration Service (AWS DMS) hilft Ihnen bei der Migration von Datenspeichern in die AWS Cloud oder zwischen Kombinationen von Cloud- und lokalen Setups. Dieses Muster wird verwendet, AWS DMS um Aufgaben mit einem Python-Skript, das in der Befehlszeile ausgeführt wird, zu erstellen, zu starten und zu beenden und die AWS CloudFormation Vorlage zu erstellen.
AWS Schema Conversion Tool (AWS SCT) unterstützt heterogene Datenbankmigrationen, indem das Quelldatenbankschema und ein Großteil des benutzerdefinierten Codes automatisch in ein Format konvertiert werden, das mit der Zieldatenbank kompatibel ist. Für dieses Muster ist die
AWSSchemaConversionToolBatch.jar
Datei aus dem installierten Verzeichnis erforderlich. AWS SCT
Code
Die cli-sct-dms-cft.zip
Datei (angehängt) enthält den kompletten Quellcode für dieses Muster.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Konfigurieren Sie AWS SCT es so, dass es von der ausgeführt wird AWS CLI. |
| DBA |
Führen Sie das | Führen Sie das
Das Python-Skript konvertiert die Datenbankobjekte von Oracle nach PostgreSQL und erstellt SQL-Dateien im PostgreSQL-Format. Das Skript erstellt auch die PDF-Datei | DBA |
Erstellen Sie Objekte in Amazon RDS for PostgreSQL. |
| DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine AWS DMS Replikationsinstanz. | Melden Sie sich bei der an AWS Management Console, öffnen Sie die AWS DMS Konsole Weitere Informationen finden Sie in der Dokumentation unter Erstellen einer Replikationsinstanz und in der AWS DMS Dokumentation unter Wie erstelle ich eine AWS DMS Replikationsinstanz | DBA |
Erstellen Sie den Quellendpunkt. | Wählen Sie in der AWS DMS Konsole Endpoints aus und erstellen Sie dann einen Quellendpunkt für die Oracle-Datenbank entsprechend Ihren Anforderungen. AnmerkungDas zusätzliche Verbindungsattribut muss Weitere Informationen finden Sie in der AWS DMS Dokumentation unter Quell- und Zielendpunkte erstellen. | DBA |
Erstellen Sie den Zielendpunkt. | Wählen Sie in der AWS DMS Konsole Endpoints aus und erstellen Sie dann einen Zielendpunkt für die PostgreSQL-Datenbank gemäß Ihren Anforderungen. Weitere Informationen finden Sie in der Dokumentation unter Quell- und Zielendpunkte erstellen. AWS DMS | DevOps Ingenieur |
Konfigurieren Sie die AWS DMS Replikationsdetails so, dass sie von der aus ausgeführt AWS CLI werden sollen. | Konfigurieren Sie die AWS DMS Quell- und Zielendpunkte sowie die Replikationsdetails in der
| DBA |
Führen Sie das |
| DBA |
Stellen Sie sicher, dass die AWS DMS Aufgaben bereit sind. | Überprüfen Sie auf der AWS DMS Konsole im Abschnitt | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Starte die AWS DMS Aufgaben. | Führen Sie das
AnmerkungDas Startdatum und die Startzeit müssen im Sie können den Status der AWS DMS Aufgabe auf der Registerkarte Tabellenstatistiken auf der Seite Aufgaben der AWS DMS Konsole überprüfen. | DBA |
Validieren Sie die Daten. |
Weitere Informationen finden Sie in der AWS DMS Dokumentation unter AWS DMS Datenvalidierung. | DBA |
Stoppen Sie die AWS DMS Aufgaben. | Führen Sie das Python-Skript mit dem folgenden Befehl aus:
AnmerkungAWS DMS Aufgaben werden je nach | DBA |
Fehlerbehebung
Problem | Lösung |
---|---|
AWS SCT Quell- und Zieltestverbindungen schlagen fehl. | Konfigurieren Sie die JDBC-Treiberversionen und die Regeln für den eingehenden Datenverkehr der VPC-Sicherheitsgruppe so, dass sie den eingehenden Datenverkehr akzeptieren. |
Der Testlauf am Quell- oder Zielendpunkt schlägt fehl. | Überprüfen Sie, ob sich die Endpunkteinstellungen und die Replikationsinstanz im Weitere Informationen finden Sie in der AWS -Support Dokumentation unter Wie behebe ich Fehler bei der AWS DMS-Endpunktkonnektivität |
Der Volllastlauf schlägt fehl. | Überprüfen Sie, ob die Quell- und Zieldatenbanken übereinstimmende Datentypen und Größen haben. Weitere Informationen finden Sie in der AWS DMS Dokumentation unter Problembehandlung AWS DMS bei Migrationsaufgaben. |
Es treten Fehler beim Validierungslauf auf. | Prüfen Sie, ob die Tabelle einen Primärschlüssel hat, da Tabellen, die keine Primärschlüssel sind, nicht validiert werden. Wenn die Tabelle einen Primärschlüssel enthält und Fehler auftreten, überprüfen Sie, ob das zusätzliche Verbindungsattribut im Quellendpunkt einen hat Weitere Informationen finden Sie in der AWS DMS Dokumentation unter Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMSOracleSettings, und Problembehandlung. |
Zugehörige Ressourcen
Einführung in AWS DMS
(Video) Beispiele für CloudFormation Stack-Operationsbefehle für AWS CLI und PowerShell
Cloudformation
(AWS CLI Dokumentation) create-stack
(Dokumentation)AWS CLI dms
(Dokumentation)AWS CLI