

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 Oracle-Datenbank-Fehlercodes in eine Amazon Aurora PostgreSQL-kompatible Datenbank
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database"></a>

*Sai Parthasaradhi und Veeranjaneyulu Grandhi, Amazon Web Services*

## Zusammenfassung
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-summary"></a>

Dieses Muster zeigt, wie Oracle Database-Fehlercodes mithilfe einer vordefinierten Metadatentabelle in eine [Amazon Aurora PostgreSQL-kompatible Edition-Datenbank](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) migriert werden.

Oracle-Datenbankfehlercodes haben nicht immer einen entsprechenden PostgreSQL-Fehlercode. Dieser Unterschied in den Fehlercodes kann es schwierig machen, die Verarbeitungslogik der Prozeduren oder Funktionen in der PostgreSQL-Zielarchitektur zu konfigurieren.

Sie können den Vorgang vereinfachen, indem Sie die Fehlercodes der Quell- und Zieldatenbank, die für Ihr PL/pgSQL Programm von Bedeutung sind, in einer Metadatentabelle speichern. Konfigurieren Sie dann die Tabelle so, dass gültige Oracle Database-Fehlercodes gekennzeichnet und sie ihren PostgreSQL-Entsprechungen zugeordnet werden, bevor Sie mit der verbleibenden Prozesslogik fortfahren. Wenn der Oracle-Datenbank-Fehlercode nicht in der Metadatentabelle enthalten ist, wird der Prozess mit der Ausnahme beendet. Anschließend können Sie die Fehlerdetails manuell überprüfen und den neuen Fehlercode zur Tabelle hinzufügen, falls Ihr Programm dies erfordert.

Mit dieser Konfiguration kann Ihre Amazon Aurora PostgreSQL-kompatible Datenbank Fehler genauso behandeln wie Ihre Oracle-Quelldatenbank.

**Anmerkung**  
Die Konfiguration einer PostgreSQL-Datenbank für die korrekte Verarbeitung von Oracle-Datenbank-Fehlercodes erfordert normalerweise Änderungen an der Datenbank und dem Anwendungscode.

## Voraussetzungen und Einschränkungen
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine Oracle-Quelldatenbank mit laufenden Instance- und Listener-Services
+ Ein Amazon Aurora PostgreSQL-kompatibler Cluster, der betriebsbereit ist
+ Vertrautheit mit Oracle Database
+ Vertrautheit mit PostgreSQL-Datenbanken

## Architektur
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-architecture"></a>

Das folgende Diagramm zeigt ein Beispiel für einen Amazon Aurora PostgreSQL-kompatiblen Datenbank-Workflow für die Validierung und Behandlung von Datenfehlercodes:

![\[Validierung und Behandlung von Datenfehlercodes für eine Aurora PostgreSQL-kompatible Datenbank.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/82751f40-2fd9-4ce7-ab61-0874552d857b/images/b7ab627e-8f34-4635-8660-93c5c80ce38d.png)


Das Diagramm zeigt den folgenden Workflow:

1. Eine Tabelle enthält die Fehlercodes und Klassifizierungen von Oracle Database sowie die entsprechenden PostgreSQL-Fehlercodes und Klassifizierungen. Die Tabelle enthält eine **valid\$1error-Spalte, in der klassifiziert wird, ob bestimmte, vordefinierte Fehlercodes** gültig sind oder nicht.

1. **Wenn eine PL/pgSQL Funktion (**func\$1processdata**) eine Ausnahme auslöst, ruft sie eine zweite Funktion auf (error\$1validation). PL/pgSQL **

1. Die Funktion **error\$1validation** akzeptiert den Fehlercode der Oracle-Datenbank als Eingabeargument. Anschließend überprüft die Funktion den eingehenden Fehlercode anhand der Tabelle, um festzustellen, ob der Fehler in der Tabelle enthalten ist.

1. Wenn der Oracle Database-Fehlercode in der Tabelle enthalten ist, gibt die Funktion **error\$1validation** den Wert **TRUE** zurück und die Prozesslogik wird fortgesetzt. Wenn der Fehlercode nicht in der Tabelle enthalten ist, gibt die Funktion einen **FALSE-Wert** zurück und die Prozesslogik wird mit einer Ausnahme beendet.

1. Wenn die Funktion einen **FALSE-Wert** zurückgibt, werden die Fehlerdetails manuell vom Funktionsleiter der Anwendung überprüft, um festzustellen, ob sie gültig sind.

1. Der neue Fehlercode wird dann entweder manuell zur Tabelle hinzugefügt oder nicht. Wenn der Fehlercode gültig ist und der Tabelle hinzugefügt wurde, gibt die Funktion **error\$1validation** beim nächsten Auftreten der Ausnahme den Wert **TRUE** zurück. Wenn der Fehlercode nicht gültig ist und der Prozess beim Auftreten der Ausnahme fehlschlagen muss, wird der Fehlercode nicht zur Tabelle hinzugefügt.

**Technologie-Stack**
+ Amazon Aurora PostgreSQL
+ pgAdmin
+ Oracle SQL Developer

## Tools
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-tools"></a>
+ [Amazon Aurora PostgreSQL-Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) ist eine vollständig verwaltete, ACID-konforme relationale Datenbank-Engine, die Sie bei der Einrichtung, dem Betrieb und der Skalierung von PostgreSQL-Bereitstellungen unterstützt.
+ [pgAdmin](https://www.pgadmin.org/) ist ein Open-Source-Verwaltungs- und Entwicklungstool für PostgreSQL. Es bietet eine grafische Oberfläche, die die Erstellung, Wartung und Verwendung von Datenbankobjekten vereinfacht.
+ [Oracle SQL Developer](https://www.oracle.com/in/database/technologies/appdev/sqldeveloper-landing.html) ist eine kostenlose, integrierte Entwicklungsumgebung, die die Entwicklung und Verwaltung von Oracle Database sowohl in herkömmlichen als auch in Cloud-Umgebungen vereinfacht.

## Epen
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-epics"></a>

### Migrieren Sie Oracle-Datenbank-Fehlercodes in Ihre Amazon Aurora PostgreSQL-kompatible Datenbank
<a name="migrate-oracle-database-error-codes-to-your-amazon-aurora-postgresql-compatible-database"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Tabelle in der Amazon Aurora PostgreSQL-kompatiblen Datenbank. | Führen Sie den folgenden PostgreSQL-Befehl [CREATE TABLE aus](https://www.postgresql.org/docs/current/sql-createtable.html):<pre>(<br /><br />    source_error_code numeric NOT NULL,<br /><br />    target_error_code character varying NOT NULL,<br /><br />    valid_error character varying(1) NOT NULL<br /><br />); </pre> | PostgreSQL-Entwickler, Oracle, RDS/Aurora für PostgreSQL | 
| Fügen Sie der Tabelle PostgreSQL-Fehlercodes und die entsprechenden Oracle-Datenbank-Fehlercodes hinzu. | Führen Sie den PostgreSQL-Befehl [INSERT](https://www.postgresql.org/docs/current/sql-insert.html) aus, um die erforderlichen Fehlercodewerte zur Tabelle **error\$1codes** hinzuzufügen.Die PostgreSQL-Fehlercodes müssen den zeichenvariablen Datentyp (**SQLSTATE-Wert**) verwenden. Die Oracle-Fehlercodes müssen den numerischen Datentyp (**SQLCODE-Wert**) verwenden.**Beispiel für Insert-Anweisungen:**<pre>insert into error_codes values (-1817,'22007','Y');<br />insert into error_codes values (-1816,'22007','Y');<br />insert into error_codes values (-3114,'08006','N');</pre>Wenn Sie Oracle-spezifische Java Database Connectivity (JDBC) -Ausnahmen abfangen, müssen Sie diese Ausnahmen entweder durch generische datenbankübergreifende Ausnahmen ersetzen oder zu PostgreSQL-spezifischen Ausnahmen wechseln. | PostgreSQL-Entwickler, Oracle, RDS/Aurora für PostgreSQL | 
| Erstellen Sie eine PL/pgSQL Funktion zur Validierung von Fehlercodes. | Erstellen Sie eine PL/pgSQL Funktion, indem Sie den PostgreSQL-Befehl [CREATE FUNCTION](https://www.postgresql.org/docs/current/sql-createfunction.html) ausführen. Stellen Sie sicher, dass die Funktion Folgendes tut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.html) | PostgreSQL-Entwickler, Oracle, RDS/Aurora für PostgreSQL | 
| Überprüfen Sie manuell neue Fehlercodes, während sie von der Funktion aufgezeichnet werden. PL/pgSQL  | Überprüfen Sie die neuen Fehlercodes manuell.**Wenn ein neuer Fehlercode für Ihren Anwendungsfall gültig ist, fügen Sie ihn der Tabelle **error\$1codes** hinzu, indem Sie den PostgreSQL INSERT-Befehl ausführen.**–oder–Wenn ein neuer Fehlercode für Ihren Anwendungsfall nicht gültig ist, fügen Sie ihn nicht der Tabelle hinzu. Die Prozesslogik schlägt weiterhin fehl und wird mit einer Ausnahme beendet, wenn der Fehler auftritt. | PostgreSQL-Entwickler, Oracle, RDS/Aurora für PostgreSQL | 

## Zugehörige Ressourcen
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-resources"></a>

[Anhang A. PostgreSQL-Fehlercodes](https://www.postgresql.org/docs/11/errcodes-appendix.html) (PostgreSQL-Dokumentation)

[Datenbank-Fehlermeldungen](https://docs.oracle.com/cd/E11882_01/server.112/e17766/toc.htm) (Oracle Database-Dokumentation)