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 von Amazon RDS for Oracle zu Amazon RDS for MySQL
Erstellt von Jitender Kumar (AWS), Neha Sharma (AWS) und Srini Ramaswamy (AWS)
Übersicht
Dieses Muster bietet Anleitungen für die Migration einer Amazon Relational Database Service (Amazon RDS) für Oracle-DB-Instance zu einer Amazon RDS for MySQL MySQL-DB-Instance auf Amazon Web Services (AWS). Das Muster verwendet den AWS Database Migration Service (AWS DMS) und das AWS Schema Conversion Tool (AWS SCT).
Das Muster bietet bewährte Methoden für den Umgang mit der Migration von gespeicherten Prozeduren. Es behandelt auch Codeänderungen zur Unterstützung der Anwendungsebene.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
Eine Amazon RDS for Oracle Oracle-Quelldatenbank.
Eine Zieldatenbank von Amazon RDS for MySQL. Quell- und Zieldatenbanken sollten sich in derselben Virtual Private Cloud (VPC) befinden. Wenn Sie mehrere VPCs verwenden oder über die erforderlichen Zugriffsberechtigungen verfügen müssen.
Sicherheitsgruppen, die Konnektivität zwischen den Quell- und Zieldatenbanken, AWS SCT, dem Anwendungsserver und AWS DMS ermöglichen.
Ein Benutzerkonto mit den erforderlichen Rechten, um AWS SCT in der Quelldatenbank auszuführen.
Zusätzliche Protokollierung für die Ausführung von AWS DMS in der Quelldatenbank aktiviert.
Einschränkungen
Die maximale Größe der Amazon RDS-Quell- und Zieldatenbank beträgt 64 TB. Informationen zur Größe von Amazon RDS finden Sie in der AWS-Dokumentation.
Oracle unterscheidet bei Datenbankobjekten nicht zwischen Groß- und Kleinschreibung, MySQL jedoch nicht. AWS SCT kann dieses Problem bei der Erstellung eines Objekts lösen. Es ist jedoch ein gewisses Maß an manueller Arbeit erforderlich, um die vollständige Berücksichtigung der Groß- und Kleinschreibung zu gewährleisten.
Diese Migration verwendet keine MySQL-Erweiterungen, um Oracle-native Funktionen zu aktivieren. AWS SCT übernimmt den größten Teil der Konvertierung, es sind jedoch einige Arbeiten erforderlich, um den Code manuell zu ändern.
Änderungen des JDBC-Treibers (Java Database Connectivity) sind in der Anwendung erforderlich.
Produktversionen
Amazon RDS for Oracle 12.2.0.1 und höher. Die derzeit unterstützten Versionen von RDS für Oracle finden Sie in der AWS-Dokumentation.
Amazon RDS for MySQL 8.0.15 und höher. Die derzeit unterstützten Versionen von RDS für MySQL finden Sie in der AWS-Dokumentation.
AWS DMS Version 3.3.0 und höher. Weitere Informationen zu den von AWS DMS unterstützten Quell- und Zielendpunkten finden Sie in der AWS-Dokumentation.
AWS SCT Version 1.0.628 und höher. In der AWS-Dokumentation finden Sie die AWS-SCT-Support-Matrix für Quell- und Zielendpunkte.
Architektur
Quelltechnologie-Stack
Amazon RDS for Oracle. Weitere Informationen finden Sie unter Verwenden einer Oracle-Datenbank als Quelle für AWS DMS.
Zieltechnologie-Stack
Amazon RDS for MySQL. Weitere Informationen finden Sie unter Verwenden einer MySQL-kompatiblen Datenbank als Ziel für AWS DMS.
Architektur der Migration
In der folgenden Abbildung kopiert und konvertiert AWS SCT Schemaobjekte aus der Amazon RDS for Oracle Oracle-Quelldatenbank und sendet die Objekte an die Amazon RDS for MySQL MySQL-Zieldatenbank. AWS DMS repliziert Daten aus der Quelldatenbank und sendet sie an die Amazon RDS for MySQL MySQL-Instance.

Tools
AWS Data Migration Service unterstützt Sie bei der Migration von Datenspeichern in die AWS-Cloud oder zwischen Kombinationen von Cloud- und lokalen Setups.
Amazon Relational Database Service (Amazon RDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud. Dieses Muster verwendet Amazon RDS for Oracle und Amazon RDS for MySQL.
Das 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.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Validieren Sie die Versionen und Engines der Quell- und Zieldatenbank. | DBA | |
Identifizieren Sie die Hardwareanforderungen für die Zielserverinstanz. | DBA, SysAdmin | |
Identifizieren Sie die Speicheranforderungen (Speichertyp und Kapazität). | DBA, SysAdmin | |
Wählen Sie den richtigen Instanztyp (Kapazität, Speicherfunktionen, Netzwerkfunktionen). | DBA, SysAdmin | |
Identifizieren Sie die Sicherheitsanforderungen für den Netzwerkzugriff für die Quell- und Zieldatenbanken. | DBA, SysAdmin | |
Wählen Sie eine Strategie für die Anwendungsmigration. | Überlegen Sie, ob Sie eine vollständige oder eine teilweise Ausfallzeit für Umstellungsaktivitäten wünschen. | DBA, Besitzer der SysAdmin App |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine VPC und Subnetze. | SysAdmin | |
Erstellen Sie Sicherheitsgruppen und Netzwerkzugriffskontrolllisten ()ACLs. | SysAdmin | |
Konfigurieren und starten Sie die Amazon RDS for Oracle Oracle-Instance. | DBA, SysAdmin | |
Konfigurieren und starten Sie die Amazon RDS for MySQL MySQL-Instance. | DBA, SysAdmin | |
Bereiten Sie einen Testfall für die Validierung der Codekonvertierung vor. | Dies hilft beim Testen von Einheiten für den konvertierten Code. | DBA, Entwickler |
Konfigurieren Sie die AWS DMS-Instanz. | ||
Konfigurieren Sie Quell- und Zielendpunkte in AWS DMS. |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Generieren Sie das Zieldatenbankskript mit AWS SCT. | Überprüfen Sie die Richtigkeit des Codes, der von AWS SCT konvertiert wurde. Einige manuelle Arbeiten werden erforderlich sein. | DBA, Entwickler |
Wählen Sie in AWS SCT die Einstellung „Groß- und Kleinschreibung nicht beachten“. | Wählen Sie in AWS SCT Project Settings, Target Case Sensitivity, Case Insensitive aus. | DBA, Entwickler |
Entscheiden Sie sich in AWS SCT dafür, die native Oracle-Funktion nicht zu verwenden. | Überprüfen Sie in den Projekteinstellungen die Funktionen TO_ _DATECHAR/TO_NUMBER/TO. | DBA, Entwickler |
Nehmen Sie Änderungen für den Code „sql%notfound“ vor. | Möglicherweise müssen Sie den Code manuell konvertieren. | |
Abfragen von Tabellen und Objekten in gespeicherten Prozeduren (verwenden Sie Abfragen in Kleinbuchstaben). | DBA, Entwickler | |
Erstellen Sie das primäre Skript, nachdem alle Änderungen vorgenommen wurden, und stellen Sie dann das primäre Skript in der Zieldatenbank bereit. | DBA, Entwickler | |
Testen Sie gespeicherte Prozeduren und Anwendungsaufrufen anhand von Beispieldaten auf Unit-Tests. | ||
Bereinigen Sie Daten, die während des Komponententests erstellt wurden. | DBA, Entwickler | |
Löschen Sie Fremdschlüsseleinschränkungen für die Zieldatenbank. | Dieser Schritt ist erforderlich, um die Anfangsdaten zu laden. Wenn Sie die Fremdschlüsseleinschränkungen nicht aufheben möchten, müssen Sie eine Migrationsaufgabe für Daten erstellen, die für die Primär- und Sekundärtabellen spezifisch sind. | DBA, Entwickler |
Löschen Sie Primärschlüssel und eindeutige Schlüssel in der Zieldatenbank. | Dieser Schritt führt zu einer besseren Leistung beim ersten Laden. | DBA, Entwickler |
Aktivieren Sie die zusätzliche Protokollierung in der Quelldatenbank. | DBA | |
Erstellen Sie eine Migrationsaufgabe für das erste Laden in AWS DMS und führen Sie sie dann aus. | Wählen Sie die Option zur Migration vorhandener Daten. | DBA |
Fügen Sie die Primärschlüssel und Fremdschlüssel zur Zieldatenbank hinzu. | Einschränkungen müssen nach dem ersten Laden hinzugefügt werden. | DBA, Entwickler |
Erstellen Sie eine Migrationsaufgabe für die laufende Replikation. | Durch die laufende Replikation wird die Zieldatenbank mit der Quelldatenbank synchronisiert. | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ersetzen Sie native Oracle-Funktionen durch native MySQL-Funktionen. | Besitzer der App | |
Stellen Sie sicher, dass in SQL-Abfragen nur Namen in Kleinbuchstaben für Datenbankobjekte verwendet werden. | DBA SysAdmin, App-Besitzer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Fahren Sie den Anwendungsserver herunter. | Besitzer der App | |
Stellen Sie sicher, dass die Quell- und Zieldatenbanken synchron sind. | DBA, Besitzer der App | |
Stoppen Sie die Amazon RDS for Oracle DB-Instance. | DBA | |
Beenden Sie die Migrationsaufgabe. | Dies wird automatisch beendet, nachdem Sie den vorherigen Schritt abgeschlossen haben. | DBA |
Ändern Sie die JDBC-Verbindung von Oracle zu MySQL. | Besitzer der App, DBA | |
Starten Sie die Anwendung. | DBA SysAdmin, App-Besitzer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Überprüfen und validieren Sie die Projektdokumente. | DBA, SysAdmin | |
Erfassen Sie Kennzahlen zur Zeit bis zur Migration, zum Prozentsatz manueller Aufgaben im Vergleich zu Toolaufgaben, zu Kosteneinsparungen usw. | DBA, SysAdmin | |
Stoppen und löschen Sie AWS DMS-Instanzen. | DBA | |
Entfernen Sie die Quell- und Zielendpunkte. | DBA | |
Entfernen Sie Migrationsaufgaben. | DBA | |
Erstellen Sie einen Snapshot der Amazon RDS for Oracle DB-Instance. | DBA | |
Löschen Sie die Amazon RDS for Oracle DB-Instance. | DBA | |
Fahren Sie alle anderen temporären AWS-Ressourcen herunter und löschen Sie sie. | DBA, SysAdmin | |
Schließen Sie das Projekt und geben Sie Feedback. | DBA |