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 native Oracle-Funktionen SQL mithilfe von Erweiterungen zu Postgre
Erstellt von Pinesh Singal () AWS
Umgebung: PoC oder Pilotprojekt | Quelle: Datenbanken: Relational | Ziel: Amazon RDS Postgre SQL |
R-Typ: Re-Architect | Arbeitslast: Oracle; Open Source | Technologien: Migration; Datenbanken |
AWSDienstleistungen: AmazonEC2; Amazon RDS |
Übersicht
Dieses Migrationsmuster bietet step-by-step Anleitungen für die Migration einer Amazon Relational Database Service (AmazonRDS) for Oracle-Datenbank-Instance zu einer Amazon RDS for Postgre SQL - oder Amazon Aurora SQL Postgre-Compatible Edition-Datenbank durch Änderung des systemeigenen integrierten Codes aws_oracle_ext
und der orafce
Erweiterungen von Postgre SQL (). psql
Dies spart Verarbeitungszeit.
Das Muster beschreibt eine manuelle Offline-Migrationsstrategie ohne Ausfallzeiten für eine Oracle-Quelldatenbank mit mehreren Terabyte und einer hohen Anzahl von Transaktionen.
Der Migrationsprozess verwendet das AWS Schema Conversion Tool (AWSSCT) mit den orafce
Erweiterungen aws_oracle_ext
und, um ein Amazon RDS for Oracle-Datenbankschema in ein Amazon RDS for Postgre SQL - oder Aurora SQL Postgre-kompatibles Datenbankschema zu konvertieren. Anschließend wird der Code manuell in den systemeigenen integrierten Code geändert, der von Postgre SQL unterstützt wird. psql
Dies liegt daran, dass die Erweiterungsrufe die Codeverarbeitung auf dem SQL Postgre-Datenbankserver beeinflussen und nicht der gesamte Erweiterungscode vollständig kompatibel oder mit SQL Postgre-Code kompatibel ist.
Dieses Muster konzentriert sich hauptsächlich auf die manuelle Migration von SQL Codes mithilfe der Erweiterungen AWS SCT und. aws_oracle_ext
orafce
Sie konvertieren die bereits verwendeten Erweiterungen in native Postgre SQL (psql
) -Built-ins. Dann entfernen Sie alle Verweise auf die Erweiterungen und konvertieren die Codes entsprechend.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS Konto
Betriebssystem (Windows oder Mac) oder EC2 Amazon-Instance (läuft)
Orace
Einschränkungen
Nicht alle Oracle-Funktionen, die unsere orafce
Erweiterungen verwendenaws_oracle_ext
, können in native SQL Postgre-Funktionen konvertiert werden. Es muss möglicherweise manuell überarbeitet werden, um es mit SQL Postgre-Bibliotheken zu kompilieren.
Ein Nachteil der Verwendung von AWS SCT Erweiterungen ist die langsame Leistung beim Ausführen und Abrufen der Ergebnisse. Die Kosten lassen sich anhand eines einfachen SQLEXPLAINPostgre-PlansSYSDATE
Oracle-Funktion zur SQL NOW()
Postgre-Funktion zwischen allen drei Codes (aws_oracle_ext
, und psql
Standard) nachvollziehenorafce
, wie im Abschnitt Leistungsvergleichsprüfung im beigefügten Dokument erklärt wird.
Produktversionen
Quelle: Amazon RDS für Oracle-Datenbank 10.2 und höher (für 10.x), 11g (11.2.0.3.v1 und höher) und bis zu 12.2, 18c und 19c (und höher) für Enterprise Edition, Standard Edition, Standard Edition 1 und Standard Edition 2
Ziel: Amazon RDS für Postgre SQL oder Aurora Postgre SQL — Kompatible Datenbank 9.4 und höher (für 9.x), 10.x, 11.x, 12.x, 13.x und 14.x (und höher)
AWSSCT: Letzte Version (dieses Muster wurde mit 1.0.632 getestet)
Oracle: Aktuelle Version (dieses Muster wurde mit 3.9.0 getestet)
Architektur
Quelltechnologie-Stack
Eine Amazon RDS for Oracle-Datenbank-Instance mit Version 12.1.0.2.v18
Zieltechnologie-Stack
Eine Amazon RDS for Postgre SQL - oder Aurora SQL Postgre-kompatible Datenbank-Instance mit Version 11.5
Architektur der Datenbankmigration
Das folgende Diagramm stellt die Datenbankmigrationsarchitektur zwischen den Oracle-Quelldatenbanken und den SQL Postgre-Zieldatenbanken dar. Die Architektur umfasst AWS Cloud, eine virtuelle private Cloud (VPC), Availability Zones, ein privates Subnetz, eine Amazon RDS for Oracle-Datenbank AWSSCT, eine Amazon RDS for Postgre SQL - oder Aurora SQL Postgre-kompatible Datenbank, Erweiterungen für Oracle (aws_oracle_ext
undorafce
) und strukturierte Abfragesprachedateien (). SQL
Starten Sie RDS die Amazon for Oracle-DB-Instance (Quell-DB).
Wird AWS SCT zusammen mit den
orafce
Erweiterungspaketenaws_oracle_ext
und den Erweiterungspaketen verwendet, um den Quellcode von Oracle nach Postre SQL zu konvertieren.Bei der Konvertierung entstehen migrierte SQL .sql-Dateien, die von Postgre unterstützt werden.
Konvertieren Sie die nicht konvertierten Oracle-Erweiterungscodes manuell in Postgre () -Codes. SQL
psql
Die manuelle Konvertierung erzeugt konvertierte .sql-Dateien, die von Postgre SQL unterstützt werden.
Führen Sie diese .sql-Dateien auf Ihrer Amazon RDS for SQL Postgre-DB-Instance (Ziel-DB) aus.
Tools
Tools
AWSDienste
AWSSCT- Das AWS Schema Conversion Tool (AWSSCT) konvertiert Ihr vorhandenes Datenbankschema von einer Datenbank-Engine in eine andere. Sie können das relationale Schema für die Online-Transaktionsverarbeitung (OLTP) oder das Data Warehouse-Schema konvertieren. Ihr konvertiertes Schema ist für eine Amazon RDS for My SQL DB-Instance, einen Amazon Aurora Aurora-DB-Cluster, eine Amazon RDS for SQL Postgre-DB-Instance oder einen Amazon Redshift Redshift-Cluster geeignet. Das konvertierte Schema kann auch mit einer Datenbank auf einer EC2 Amazon-Instance verwendet oder als Daten in einem Amazon S3-Bucket gespeichert werden.
AWSSCTbietet eine projektbasierte Benutzeroberfläche, um das Datenbankschema Ihrer Quelldatenbank automatisch in ein Format zu konvertieren, das mit Ihrer RDS Amazon-Zielinstanz kompatibel ist.
Sie können AWS SCT damit die Migration von einer Oracle-Quelldatenbank zu einem der oben aufgeführten Ziele durchführen. Mithilfe von AWS SCT können Sie die Objektdefinitionen der Quelldatenbank wie Schema, Ansichten, gespeicherte Prozeduren und Funktionen exportieren.
Sie können AWS SCT es verwenden, um Daten von Oracle nach Amazon RDS for Postgre SQL oder Amazon Aurora Postgre SQL -Compatible Edition zu konvertieren.
In diesem Muster konvertieren und migrieren Sie Oracle-Code SQL mithilfe der Erweiterungen und AWS SCT nach Postgre
aws_oracle_ext
undorafce
migrieren die Erweiterungscodes manuell inpsql
Standard- oder systemeigenen integrierten Code.Das AWSSCTErweiterungspaket ist ein Zusatzmodul, das in der Quelldatenbank vorhandene Funktionen emuliert, die für die Konvertierung von Objekten in die Zieldatenbank erforderlich sind. Bevor Sie das AWS SCT Erweiterungspaket installieren können, müssen Sie Ihr Datenbankschema konvertieren.
Wenn Sie Ihr Datenbank- oder Data Warehouse-Schema konvertieren, AWS SCT fügt es Ihrer Zieldatenbank ein zusätzliches Schema hinzu. Dieses Schema implementiert SQL Systemfunktionen der Quelldatenbank, die beim Schreiben Ihres konvertierten Schemas in Ihre Zieldatenbank erforderlich sind. Dieses Zusätzliche Schema wird als Erweiterungspaketschema bezeichnet.
Das Erweiterungspaket-Schema für OLTP Datenbanken ist nach der Quelldatenbank benannt. Für Oracle-Datenbanken lautet das Erweiterungspaket-Schema
AWS_ORACLE_EXT
.
Andere Tools
Oracle — Oracle
ist ein Modul, das Oracle-kompatible Funktionen, Datentypen und Pakete implementiert. Es ist ein Open-Source-Tool mit einer Berkeley Source Distribution (BSD) -Lizenz, sodass jeder es verwenden kann. Das orafce
Modul ist nützlich für die Migration von Oracle zu Postgre, SQL da viele Oracle-Funktionen in Postgre implementiert sind. SQL
Code
Eine Liste aller häufig verwendeten und von Oracle nach Postgre migrierten Codes, um die Verwendung von AWS SCT Erweiterungscode SQL zu vermeiden, finden Sie im angehängten Dokument.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Oracle-Datenbankinstanz. | Erstellen Sie eine Amazon RDS for Oracle- oder Aurora SQL Postgre-kompatible Datenbank-Instance von der RDS Amazon-Konsole aus. | Allgemein, AWS DBA |
Konfigurieren Sie die Sicherheitsgruppen. | Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr. | Allgemein AWS |
Erstellen Sie die Datenbank. | Erstellen Sie die Oracle-Datenbank mit den benötigten Benutzern und Schemas. | AllgemeinAWS, DBA |
Erstellen Sie die Objekte. | Erstellen Sie Objekte und fügen Sie Daten in das Schema ein. | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die SQL Postgre-Datenbankinstanz. | Erstellen Sie eine Amazon RDS for Postgre SQL - oder Amazon Aurora SQL Postgre-Datenbank-Instance von der RDS Amazon-Konsole aus. | Allgemein, AWS DBA |
Konfigurieren Sie die Sicherheitsgruppen. | Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr. | Allgemein AWS |
Erstellen Sie die Datenbank. | Erstellen Sie die SQL Postgre-Datenbank mit den benötigten Benutzern und Schemas. | Allgemein, AWS DBA |
Validieren Sie die Erweiterungen. | Stellen Sie sicher, dass | DBA |
Stellen Sie sicher, dass die SQL Postgre-Datenbank verfügbar ist. | Stellen Sie sicher, dass die SQL Postgre-Datenbank betriebsbereit ist. | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren AWSSCT. | Installieren Sie die neueste Version von AWSSCT. | DBA |
Konfigurieren AWSSCT. | Konfigurieren Sie AWS SCT mit den Treibern Java Database Connectivity (JDBC) für Oracle ( | DBA |
Aktivieren Sie das AWS SCT Erweiterungspaket oder die Vorlage. | Aktivieren Sie unter AWS SCT Projekteinstellungen die Implementierung integrierter Funktionen mit den | DBA |
Konvertiert das Schema. | Wählen Sie AWS SCT unter Schema konvertieren, um das Schema von Oracle nach Postgre zu konvertieren SQL und die SQL-Dateien zu generieren. | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Den Code manuell konvertieren. | Konvertieren Sie jede Codezeile, die von Erweiterungen unterstützt wird, manuell in den integrierten | DBA |
Bestätigen Sie den Code | (Optional) Validieren Sie jede Codezeile, indem Sie sie vorübergehend in der SQL Postgre-Datenbank ausführen. | DBA |
Erstellen Sie Objekte in der Postgre-Datenbank. SQL | Um Objekte in der SQL Postgre-Datenbank zu erstellen, führen Sie die SQL-Dateien aus, die von den beiden vorherigen Schritten generiert AWS SCT und in diesen geändert wurden. | DBA |
Zugehörige Ressourcen
Datenbank
AWS SCT
Erweiterungen für AWS SCT
Zusätzliche Informationen
Weitere Informationen finden Sie in den ausführlichen Befehlen mit Syntax und Beispielen für die manuelle Konvertierung von Code im angehängten Dokument.