Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Migrieren Sie native Oracle-Funktionen mithilfe von Erweiterungen zu PostgreSQL

Fokusmodus
Migrieren Sie native Oracle-Funktionen mithilfe von Erweiterungen zu PostgreSQL - 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.

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.

Erstellt von Pinesh Singal (AWS)

Übersicht

Dieses Migrationsmuster bietet step-by-step Anleitungen für die Migration einer Amazon Relational Database Service (Amazon RDS) for Oracle-Datenbank-Instance zu einer Amazon RDS for PostgreSQL- oder Amazon Aurora PostgreSQL-Compatible Edition-Datenbank durch Änderung des systemeigenen integrierten Codes aws_oracle_ext und der orafce Erweiterungen von PostgreSQL (). 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 (AWS SCT) mit den orafce Erweiterungen aws_oracle_ext und, um ein Amazon RDS for Oracle Oracle-Datenbankschema in ein Amazon RDS for PostgreSQL- oder Aurora PostgreSQL-kompatibles Datenbankschema zu konvertieren. Dann wird der Code manuell in den von PostgreSQL unterstützten systemeigenen psql integrierten Code geändert. Dies liegt daran, dass die Erweiterungsaufrufen die Codeverarbeitung auf dem PostgreSQL-Datenbankserver beeinflussen und nicht der gesamte Erweiterungscode vollständig kompatibel oder kompatibel mit PostgreSQL-Code ist.

Dieses Muster konzentriert sich hauptsächlich auf die manuelle Migration von SQL-Codes mithilfe von AWS SCT und den Erweiterungen aws_oracle_ext und. orafce Sie konvertieren die bereits verwendeten Erweiterungen in native PostgreSQL (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 aws_oracle_ext unsere orafce Erweiterungen verwenden, können in native PostgreSQL-Funktionen konvertiert werden. Möglicherweise muss es manuell überarbeitet werden, um es mit PostgreSQL-Bibliotheken zu kompilieren.

Ein Nachteil der Verwendung von AWS SCT-Erweiterungen ist die langsame Leistung beim Ausführen und Abrufen der Ergebnisse. Die Kosten können anhand des einfachen PostgreSQL EXPLAIN-Plans (Ausführungsplan einer Anweisung) für die Migration der SYSDATE Oracle-Funktion zur NOW() PostgreSQL-Funktion zwischen allen drei Codes (aws_oracle_ext, und psql Standard) nachvollzogen werdenorafce, wie im Abschnitt Leistungsvergleichsprüfung im angehängten Dokument erläutert.

Produktversionen

  • Quelle: Amazon RDS for Oracle 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 for PostgreSQL oder Aurora PostgreSQL-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)

  • AWS SCT: Aktuelle 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 Oracle-Datenbank-Instance mit Version 12.1.0.2.v18

Zieltechnologie-Stack

  • Eine Amazon RDS for PostgreSQL- oder Aurora PostgreSQL-kompatible Datenbank-Instance mit Version 11.5

Architektur für die Datenbankmigration

Das folgende Diagramm stellt die Datenbankmigrationsarchitektur zwischen den Oracle-Quelldatenbanken und den PostgreSQL-Zieldatenbanken dar. Die Architektur umfasst AWS Cloud, eine Virtual Private Cloud (VPC), Availability Zones, ein privates Subnetz, eine Amazon RDS for Oracle Oracle-Datenbank, AWS SCT, eine Amazon RDS for PostgreSQL- oder Aurora PostgreSQL-kompatible Datenbank, Erweiterungen für Oracle (aws_oracle_extundorafce) und strukturierte Abfragesprache-Dateien (SQL).

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

  2. Verwenden Sie AWS SCT mit den Erweiterungspaketen aws_oracle_ext und orafce Erweiterungspaketen, um den Quellcode von Oracle nach PostreSQL zu konvertieren.

  3. Die Konvertierung erzeugt PostgreSQL-unterstützte migrierte .sql-Dateien.

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

  5. Die manuelle Konvertierung erzeugt konvertierte .sql-Dateien, die PostgreSQL unterstützen.

  6. Führen Sie diese .sql-Dateien auf Ihrer Amazon RDS for PostgreSQL PostgreSQL-DB-Instance (Ziel-DB) aus.

Tools

Tools

AWS-Services

  • AWS SCT — Das AWS Schema Conversion Tool (AWS SCT) konvertiert Ihr vorhandenes Datenbankschema von einer Datenbank-Engine in eine andere. Sie können das relationale OLTP-Schema (Online Transactional Processing) oder das Data Warehouse-Schema konvertieren. Ihr konvertiertes Schema ist für eine Amazon RDS for MySQL MySQL-DB-Instance, einen Amazon Aurora Aurora-DB-Cluster, eine Amazon RDS for PostgreSQL PostgreSQL-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.

    AWS SCT bietet eine projektbasierte Benutzeroberfläche, mit der Sie das Datenbankschema Ihrer Quelldatenbank automatisch in ein Format konvertieren können, das mit Ihrer Amazon RDS-Zielinstanz kompatibel ist. 

    Sie können AWS SCT verwenden, um eine Migration von einer Oracle-Quelldatenbank zu einem der oben aufgeführten Ziele durchzuführen. Mit AWS SCT können Sie die Objektdefinitionen der Quelldatenbank wie Schema, Ansichten, gespeicherte Prozeduren und Funktionen exportieren. 

    Sie können AWS SCT verwenden, um Daten von Oracle in Amazon RDS for PostgreSQL oder Amazon Aurora PostgreSQL-Compatible Edition zu konvertieren. 

    In diesem Muster verwenden Sie AWS SCT, um Oracle-Code mithilfe der Erweiterungen und in PostgreSQL zu konvertieren und zu migrieren aws_oracle_ext und orafce die Erweiterungscodes manuell in psql Standard- oder systemeigenen integrierten Code zu migrieren.

  • Das AWS SCT-Erweiterungspaket 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, fügt AWS SCT Ihrer Zieldatenbank ein zusätzliches Schema hinzu. Über dieses Schema werden SQL-Systemfunktionen der Quelldatenbank implementiert, die zum Schreiben des konvertierten Schemas in die Zieldatenbank benötigt werden. Dieses Zusätzliche Schema wird als Erweiterungspaketschema bezeichnet.

    Das Erweiterungspaket-Schema für OLTP-Datenbanken ist entsprechend der Quelldatenbank benannt. Für Oracle-Datenbanken lautet AWS_ORACLE_EXT das Erweiterungspaket-Schema.

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 PostgreSQL, da viele Oracle-Funktionen in PostgreSQL implementiert sind.

Code

Eine Liste aller häufig verwendeten und migrierten Codes von Oracle nach PostgreSQL, um die Verwendung von AWS SCT-Erweiterungscodes 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 PostgreSQL-kompatible Datenbank-Instance von der Amazon RDS-Konsole aus.

Allgemein AWS, DBA

Konfigurieren Sie die Sicherheitsgruppen.

Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr.

Allgemeines AWS

Erstellen Sie die Datenbank.

Erstellen Sie die Oracle-Datenbank mit den benötigten Benutzern und Schemas.

Allgemein AWS, DBA

Erstellen Sie die Objekte.

Objekte erstellen und Daten in das Schema einfügen.

DBA

Konfiguration der Amazon RDS for Oracle Oracle-Quelldatenbank

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die Oracle-Datenbankinstanz.

Erstellen Sie eine Amazon RDS for Oracle- oder Aurora PostgreSQL-kompatible Datenbank-Instance von der Amazon RDS-Konsole aus.

Allgemein AWS, DBA

Konfigurieren Sie die Sicherheitsgruppen.

Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr.

Allgemeines AWS

Erstellen Sie die Datenbank.

Erstellen Sie die Oracle-Datenbank mit den benötigten Benutzern und Schemas.

Allgemein AWS, DBA

Erstellen Sie die Objekte.

Objekte erstellen und Daten in das Schema einfügen.

DBA
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die PostgreSQL-Datenbankinstanz.

Erstellen Sie eine Amazon RDS for PostgreSQL- oder Amazon Aurora PostgreSQL-Datenbank-Instance von der Amazon RDS-Konsole aus.

Allgemein AWS, DBA

Konfigurieren Sie die Sicherheitsgruppen.

Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr.

Allgemeines AWS

Erstellen Sie die Datenbank.

Erstellen Sie die PostgreSQL-Datenbank mit den benötigten Benutzern und Schemas.

Allgemein AWS, DBA

Validieren Sie die Erweiterungen.

Stellen Sie sicher, dass aws_oracle_ext und korrekt in der PostgreSQL-Datenbank installiert und konfiguriert orafce sind.

DBA

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

Stellen Sie sicher, dass die PostgreSQL-Datenbank betriebsbereit ist.

DBA

Konfiguration der Amazon RDS for PostgreSQL PostgreSQL-Zieldatenbank

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die PostgreSQL-Datenbankinstanz.

Erstellen Sie eine Amazon RDS for PostgreSQL- oder Amazon Aurora PostgreSQL-Datenbank-Instance von der Amazon RDS-Konsole aus.

Allgemein AWS, DBA

Konfigurieren Sie die Sicherheitsgruppen.

Konfigurieren Sie Sicherheitsgruppen für eingehenden und ausgehenden Datenverkehr.

Allgemeines AWS

Erstellen Sie die Datenbank.

Erstellen Sie die PostgreSQL-Datenbank mit den benötigten Benutzern und Schemas.

Allgemein AWS, DBA

Validieren Sie die Erweiterungen.

Stellen Sie sicher, dass aws_oracle_ext und korrekt in der PostgreSQL-Datenbank installiert und konfiguriert orafce sind.

DBA

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

Stellen Sie sicher, dass die PostgreSQL-Datenbank betriebsbereit ist.

DBA
AufgabeBeschreibungErforderliche Fähigkeiten

Installieren Sie AWS SCT.

Installieren Sie die neueste Version von AWS SCT.

DBA

Konfigurieren Sie AWS SCT.

Konfigurieren Sie AWS SCT mit Java Database Connectivity (JDBC) -Treibern für Oracle () und ojdbc8.jar PostgreSQL (). postgresql-42.2.5.jar

DBA

Aktivieren Sie das AWS SCT-Erweiterungspaket oder die Vorlage.

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

DBA

Konvertiert das Schema.

Wählen Sie in AWS SCT „Schema konvertieren“, um das Schema von Oracle nach PostgreSQL zu konvertieren und die SQL-Dateien zu generieren.

DBA

Migrieren Sie das Oracle-Schema mithilfe von AWS SCT und den Erweiterungen nach PostgreSQL

AufgabeBeschreibungErforderliche Fähigkeiten

Installieren Sie AWS SCT.

Installieren Sie die neueste Version von AWS SCT.

DBA

Konfigurieren Sie AWS SCT.

Konfigurieren Sie AWS SCT mit Java Database Connectivity (JDBC) -Treibern für Oracle () und ojdbc8.jar PostgreSQL (). postgresql-42.2.5.jar

DBA

Aktivieren Sie das AWS SCT-Erweiterungspaket oder die Vorlage.

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

DBA

Konvertiert das Schema.

Wählen Sie in AWS SCT „Schema konvertieren“, um das Schema von Oracle nach PostgreSQL zu konvertieren 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) Überprüfen Sie jede Codezeile, indem Sie sie vorübergehend in der PostgreSQL-Datenbank ausführen.

DBA

Erstellen Sie Objekte in der PostgreSQL-Datenbank.

Um Objekte in der PostgreSQL-Datenbank zu erstellen, führen Sie die .sql-Dateien aus, die von AWS SCT generiert und in den beiden vorherigen Schritten geändert wurden.

DBA

AWS SCT-Erweiterungscode in PSQL-Code konvertieren

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) Überprüfen Sie jede Codezeile, indem Sie sie vorübergehend in der PostgreSQL-Datenbank ausführen.

DBA

Erstellen Sie Objekte in der PostgreSQL-Datenbank.

Um Objekte in der PostgreSQL-Datenbank zu erstellen, führen Sie die .sql-Dateien aus, die von AWS SCT generiert und in den beiden vorherigen Schritten 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

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.