Migrieren Sie native Oracle-Funktionen SQL mithilfe von Erweiterungen zu Postgre - AWS Prescriptive Guidance

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-Plans (Ausführungsplan einer Anweisung) für die Migration der SYSDATE 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_extundorafce) und strukturierte Abfragesprachedateien (). SQL

Der Prozess wird in der folgenden Liste erklärt.
  1. Starten Sie RDS die Amazon for Oracle-DB-Instance (Quell-DB).

  2. Wird AWS SCT zusammen mit den orafce Erweiterungspaketen aws_oracle_ext und den Erweiterungspaketen verwendet, um den Quellcode von Oracle nach Postre SQL zu konvertieren.

  3. Bei der Konvertierung entstehen migrierte SQL .sql-Dateien, die von Postgre unterstützt werden.

  4. Konvertieren Sie die nicht konvertierten Oracle-Erweiterungscodes manuell in Postgre () -Codes. SQL psql

  5. Die manuelle Konvertierung erzeugt konvertierte .sql-Dateien, die von Postgre SQL unterstützt werden.

  6. 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 und orafce migrieren die Erweiterungscodes manuell in psql 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-SchemaAWS_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

AufgabeBeschreibungErforderliche 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
AufgabeBeschreibungErforderliche 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 aws_oracle_ext und in der SQL Postgre-Datenbank korrekt installiert und konfiguriert orafce sind.

DBA

Stellen Sie sicher, dass die SQL Postgre-Datenbank verfügbar ist.

Stellen Sie sicher, dass die SQL Postgre-Datenbank betriebsbereit ist.

DBA
AufgabeBeschreibungErforderliche 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 (ojdbc8.jar) und Postgre SQL (postgresql-42.2.5.jar).

DBA

Aktivieren Sie das AWS SCT Erweiterungspaket oder die Vorlage.

Aktivieren Sie unter AWS SCT Projekteinstellungen die Implementierung integrierter Funktionen mit den orafce Erweiterungen aws_oracle_ext und für das Oracle-Datenbankschema.

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
AufgabeBeschreibungErforderliche Fähigkeiten

Den Code manuell konvertieren.

Konvertieren Sie jede Codezeile, die von Erweiterungen unterstützt wird, manuell in den integrierten psql Standardcode, wie im angehängten Dokument beschrieben. Zum Beispiel ändern AWS_ORACLE_EXT.SYSDATE() oder ORACLE.SYSDATE() zu. NOW()

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

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.

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip