

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.

# Verwendung einer Oracle-Datenbank als Quelle für AWS DMS
<a name="CHAP_Source.Oracle"></a>

Sie können Daten aus einer oder mehreren Oracle-Datenbanken migrieren mit AWS DMS. Mit einer Oracle-Datenbank als Quelle können Sie Daten zu allen von AWS DMS unterstützten Zielen migrieren.

AWS DMS unterstützt die folgenden Oracle-Datenbankeditionen:
+ Oracle Enterprise Edition
+ Oracle Standard Edition
+ Oracle Express Edition
+ Oracle Personal Edition

Hinweise zu Versionen von Oracle-Datenbanken, die als Quelle AWS DMS unterstützt werden, finden Sie unter[Quellen für AWS DMS](CHAP_Introduction.Sources.md).

Sie können Secure Sockets Layer (SSL) verwenden, um Verbindungen zwischen Ihrem Oracle-Endpunkt und der Replikations-Instance zu verschlüsseln. Weitere Informationen zur Verwendung von SSL mit einem Oracle-Endpunkt finden Sie unter [SSL-Unterstützung für einen Oracle-Endpunkt](#CHAP_Security.SSL.Oracle).

AWS DMS unterstützt die Verwendung von Oracle Transparent Data Encryption (TDE) zur Verschlüsselung ruhender Daten in der Quelldatenbank. Weitere Informationen zur Verwendung von Oracle TDE mit einem Oracle-Quellendpunkt finden Sie unter [Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Encryption).

AWS unterstützt die Verwendung von TLS Version 1.2 und höher mit Oracle-Endpunkten (und allen anderen Endpunkttypen) und empfiehlt die Verwendung von TLS Version 1.3 oder höher.

Gehen Sie wie folgt vor, um eine Oracle-Datenbank als AWS DMS Quellendpunkt zu konfigurieren:

1. Erstellen Sie einen Oracle-Benutzer mit den entsprechenden Berechtigungen für den AWS DMS Zugriff auf Ihre Oracle-Quelldatenbank.

1. Erstellen Sie einen Oracle-Quellendpunkt, der der von Ihnen ausgewählten Oracle-Datenbankkonfiguration entspricht. Um eine full-load-only Aufgabe zu erstellen, ist keine weitere Konfiguration erforderlich.

1. Um eine Aufgabe zu erstellen, die die Erfassung von Änderungsdaten übernimmt (eine reine CDC-Aufgabe oder eine Volllast- und CDC-Aufgabe), wählen Sie Oracle LogMiner oder AWS DMS Binary Reader, um Datenänderungen zu erfassen. Die Auswahl von LogMiner oder Binary Reader bestimmt einige der späteren Berechtigungen und Konfigurationsoptionen. Einen Vergleich zwischen Binary Reader LogMiner und Binary Reader finden Sie im folgenden Abschnitt.

**Anmerkung**  
Weitere Informationen zu Volllastaufgaben, reinen CDC-Aufgaben sowie Volllast-und-CDC-Aufgaben finden Sie unter [Erstellen einer Aufgabe](CHAP_Tasks.Creating.md).

Weitere Informationen zur Arbeit mit Oracle-Quelldatenbanken und AWS DMS finden Sie in den folgenden Abschnitten. 

**Topics**
+ [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC)
+ [Workflows für die Konfiguration einer selbstverwalteten oder AWS-verwalteten Oracle-Quelldatenbank für AWS DMSKonfigurieren einer Oracle-Quelldatenbank](#CHAP_Source.Oracle.Workflows)
+ [Arbeiten mit einer selbstverwalteten Oracle-Datenbank als Quelle für AWS DMS](#CHAP_Source.Oracle.Self-Managed)
+ [Arbeiten mit einer AWS-verwalteten Oracle-Datenbank als Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed)
+ [Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Limitations)
+ [SSL-Unterstützung für einen Oracle-Endpunkt](#CHAP_Security.SSL.Oracle)
+ [Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Encryption)
+ [Unterstützte Komprimierungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Compression)
+ [Replizieren verschachtelter Tabellen mit Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.NestedTables)
+ [REDO wird auf Oracle ASM gespeichert, wenn Oracle als Quelle für verwendet wird AWS DMS](#CHAP_Source.Oracle.REDOonASM)
+ [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib)
+ [Quelldatentypen für Oracle](#CHAP_Source.Oracle.DataTypes)

## Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC
<a name="CHAP_Source.Oracle.CDC"></a>

In gibt es zwei Methoden zum Lesen der Redo-Logs AWS DMS, wenn Change Data Capture (CDC) für Oracle als Quelle ausgeführt wird: Oracle LogMiner und AWS DMS Binary Reader. LogMiner ist eine Oracle-API zum Lesen der Online-Redo-Logs und archivierten Redo-Log-Dateien. Binary Reader ist eine AWS DMS Methode, die die rohen Redo-Log-Dateien direkt liest und analysiert. Diese Methoden weisen die folgenden Merkmale auf.


| Feature | LogMiner | Binary Reader | 
| --- | --- | --- | 
| Einfache Konfiguration | Ja | Nein | 
| Geringere Auswirkungen auf das Quellsystem I/O und die CPU | Nein | Ja | 
| Bessere CDC-Leistung | Nein | Ja | 
| Unterstützung für Oracle-Tabellen-Cluster | Ja | Nein | 
| Unterstützung für alle Typen von Oracle Hybrid Columnar Compression (HCC) | Ja |  Teilweise Binary Reader unterstützt QUERY LOW nicht für Aufgaben mit CDC. Alle anderen HCC-Typen werden vollständig unterstützt.  | 
| Unterstützung für LOB-Spalten nur in Oracle 12c | Nein (LOB-Support ist LogMiner in Oracle 12c nicht verfügbar.) | Ja | 
| Unterstützung für UPDATE-Anweisungen, die sich nur auf LOB-Spalten auswirken | Nein | Ja | 
| Unterstützung für Oracle Transparent Data Encryption (TDE) |  Teilweise Unterstützt bei Verwendung von Oracle LogMiner AWS DMS keine TDE-Verschlüsselung auf Spaltenebene für Amazon RDS for Oracle.  |  Teilweise Binary Reader unterstützt TDE nur für selbstverwaltete Oracle-Datenbanken.  | 
| Unterstützung für alle Oracle-Komprimierungsmethoden | Ja | Nein | 
| Unterstützung für XA-Transaktionen | Nein | Ja | 
| RAC |  Ja Aus Performancegründen und einigen internen DMS-Einschränkungen nicht zu empfehlen.  |  Ja Dringend empfohlen  | 

**Anmerkung**  
 AWS DMS Verwendet standardmäßig Oracle LogMiner for (CDC).   
AWS DMS unterstützt Methoden zur transparenten Datenverschlüsselung (TDE) bei der Arbeit mit einer Oracle-Quelldatenbank. Wenn die von Ihnen angegebenen TDE-Anmeldeinformationen falsch sind, schlägt die AWS DMS Migrationsaufgabe nicht fehl, was sich auf die laufende Replikation verschlüsselter Tabellen auswirken kann. Weitere Informationen zum Angeben der TDE-Anmeldeinformationen finden Sie unter [Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Encryption).

Zu den Hauptvorteilen der Verwendung LogMiner von AWS DMS gehören die folgenden:
+ LogMiner unterstützt die meisten Oracle-Optionen, wie Verschlüsselungs- und Komprimierungsoptionen. Binary Reader unterstützt nicht alle Oracle-Optionen, insbesondere die Komprimierung und die meisten Verschlüsselungsoptionen.
+ LogMiner bietet eine einfachere Konfiguration, insbesondere im Vergleich zur Einrichtung mit direktem Zugriff auf Binary Reader oder wenn die Redo-Logs mit Oracle Automatic Storage Management (ASM) verwaltet werden.
+ LogMiner unterstützt Tabellencluster zur Verwendung durch. AWS DMS Bei Binary Reader ist das nicht der Fall.

Zu den Hauptvorteilen der Verwendung von Binary Reader mit AWS DMS gehören:
+ Bei Migrationen mit einer großen Anzahl von Änderungen LogMiner kann dies zu einer gewissen I/O oder CPU-Auswirkung auf den Computer führen, auf dem die Oracle-Quelldatenbank gehostet wird. Bei Binary Reader ist die Wahrscheinlichkeit I/O geringer, dass die CPU beeinträchtigt wird, da die Protokolle direkt durchsucht werden, anstatt mehrere Datenbankabfragen durchzuführen.
+ Bei Migrationen mit einem hohen Änderungsvolumen ist die CDC-Leistung bei Verwendung von Binary Reader in der Regel viel besser als bei Oracle. LogMiner
+ Binary Reader unterstützt CDC for LOBs in Oracle Version 12c. LogMiner tut nicht.

Verwenden Sie im Allgemeinen Oracle LogMiner für die Migration Ihrer Oracle-Datenbank, es sei denn, Sie haben eine der folgenden Situationen:
+ Sie müssen mehrere Migrationsaufgaben auf der Oracle-Quelldatenbank ausführen.
+ Der Umfang der Änderungen oder des Redo-Protokolls in der Oracle-Quelldatenbank ist hoch oder Sie haben Änderungen und verwenden auch Oracle ASM.

**Anmerkung**  
Wenn Sie zwischen der Verwendung von Oracle LogMiner und AWS DMS Binary Reader wechseln, stellen Sie sicher, dass Sie die CDC-Aufgabe neu starten. 

### Konfiguration für CDC für eine Oracle-Quelldatenbank
<a name="CHAP_Source.Oracle.CDC.Configuration"></a>

Damit ein Oracle-Quellendpunkt für eine Aufgabe zur Erfassung von Datenänderungen (Change Data Capture, CDC) eine Verbindung zur Datenbank herstellen kann, müssen Sie möglicherweise zusätzliche Verbindungsattribute angeben. Dies kann entweder für eine Volllast-und-CDC- oder für eine reine CDC-Aufgabe gelten. Die zusätzlichen Verbindungsattribute, die Sie angeben, hängen von der Methode ab, mit der Sie auf die Redo-Logs zugreifen: Oracle LogMiner oder AWS DMS Binary Reader. 

Sie geben die zusätzlichen Verbindungsattribute an, wenn Sie einen Quellendpunkt erstellen. Wenn Sie mehrere Verbindungsattributeinstellungen verwenden, trennen Sie diese durch Semikola und ohne zusätzliche Leerräume voneinander (z. B. `oneSetting;thenAnother`).

AWS DMS verwendet LogMiner standardmäßig. Sie müssen keine zusätzlichen Verbindungsattribute angeben, um dieses Hilfsprogramm zu verwenden. 

Um Binary Reader für den Zugriff auf die Redo-Protokolle verwenden zu können, müssen Sie die folgenden zusätzlichen Verbindungsattribute hinzufügen.

```
useLogMinerReader=N;useBfile=Y;
```

Verwenden Sie das folgende Format für die zusätzlichen Verbindungsattribute, um auf einen Server zuzugreifen, der ASm mit Binary Reader zuzugreifen.

```
useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_server=RAC_server_ip_address:port_number/+ASM;
```

Setzen Sie den `Password`-Anforderungsparameter des Quellendpunkts sowohl auf das Oracle-Benutzerpasswort als auch das ASM-Passwort (durch ein Komma getrennt) wie nachfolgend dargestellt:

```
oracle_user_password,asm_user_password
```

Wenn die Oracle-Quelle ASM verwendet, können Sie mit Hochleistungsoptionen in Binary Reader für die Transaktionsverarbeitung in großem Umfang arbeiten. Zu diesen Optionen gehören zusätzliche Verbindungsattribute, um die Anzahl der parallelen Threads (`parallelASMReadThreads`) und die Anzahl der Read-Ahead-Puffer (`readAheadBlocks`) anzugeben. Wenn diese Attribute gemeinsam festgelegt werden, kann dies die Leistung der CDC-Aufgabe erheblich verbessern. Die folgenden Einstellungen liefern gute Ergebnisse für die meisten ASM-Konfigurationen.

```
useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_server=RAC_server_ip_address:port_number/+ASM;
    parallelASMReadThreads=6;readAheadBlocks=150000;
```

Weitere Hinweise zu Werten, die zusätzliche Verbindungsattribute unterstützen, finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib).

Die Leistung einer CDC-Aufgabe mit einer Oracle-Quelle, die ASM verwendet, hängt zudem von anderen Einstellungen ab, die von Ihnen festgelegt werden. Zu diesen Einstellungen gehören Ihre zusätzlichen AWS DMS -Verbindungsattribute sowie die SQL-Einstellungen für die Konfiguration der Oracle-Quelle konfiguriert wurde. Weitere Informationen zu zusätzlichen Verbindungsattributen für eine Oracle-Quelle, die ASM verwendet, finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib).

Sie müssen außerdem einen geeigneten CDC-Startpunkt wählen. In der Regel möchten Sie dabei den Punkt der Transaktionsverarbeitung identifizieren, an dem die früheste offene Transaktion erfasst wird, von der aus CDC beginnen kann. Andernfalls kann es passieren, dass bei der CDC-Aufgabe frühere offene Transaktionen übersehen werden. Für eine Oracle-Quelldatenbank können Sie auf der Grundlage der Oracle-Systemänderungsnummer (System Change Number, SCN) einen nativen CDC-Startpunkt wählen, um diese früheste offene Transaktion zu identifizieren. Weitere Informationen finden Sie unter [Durchführen der Replikation von einem CDC-Startpunkt aus](CHAP_Task.CDC.md#CHAP_Task.CDC.StartPoint).

Weitere Informationen zum Konfigurieren von CDC für eine selbstverwaltete Oracle-Datenbank als Quelle finden Sie unter [Kontoberechtigungen sind erforderlich, wenn Sie Oracle LogMiner für den Zugriff auf die Redo-Logs verwenden](#CHAP_Source.Oracle.Self-Managed.LogMinerPrivileges), [Kontoberechtigungen sind erforderlich, wenn AWS DMS Binary Reader für den Zugriff auf die Redo-Logs verwendet wird](#CHAP_Source.Oracle.Self-Managed.BinaryReaderPrivileges) und [Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM](#CHAP_Source.Oracle.Self-Managed.ASMBinaryPrivileges).

Weitere Hinweise zur Konfiguration von CDC für eine AWS-verwaltete Oracle-Datenbank als Quelle finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC) und. [Verwenden eines Amazon RDS Oracle Standby (Read Replica) als Quelle mit Binary Reader for CDC in AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.StandBy)

## Workflows für die Konfiguration einer selbstverwalteten oder AWS-verwalteten Oracle-Quelldatenbank für AWS DMS


## Konfigurieren einer Oracle-Quelldatenbank
<a name="CHAP_Source.Oracle.Workflows"></a>

Wenden Sie zum Konfigurieren einer selbstverwalteten Quelldatenbank-Instance die folgenden Workflow-Schritte abhängig davon an, wie Sie CDC ausführen. 


| Für diesen Workflow-Schritt | Gehen Sie wie folgt vor, wenn Sie CDC verwenden LogMiner | Vorgehensweise bei Ausführung von CDC mit Binary Reader | 
| --- | --- | --- | 
| Gewähren Sie Oracle-Kontoberechtigungen. | Siehe [Erforderliche Benutzerkontenberechtigungen für eine selbstverwaltete Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Self-Managed.Privileges). | Siehe [Erforderliche Benutzerkontenberechtigungen für eine selbstverwaltete Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Self-Managed.Privileges). | 
| Bereiten Sie die Quelldatenbank für die Replikation mit CDC vor. | Siehe [Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS](#CHAP_Source.Oracle.Self-Managed.Configuration). | Siehe [Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS](#CHAP_Source.Oracle.Self-Managed.Configuration). | 
| Gewähren Sie zusätzliche Oracle-Benutzerberechtigungen, die für CDC erforderlich sind. | Siehe [Kontoberechtigungen sind erforderlich, wenn Sie Oracle LogMiner für den Zugriff auf die Redo-Logs verwenden](#CHAP_Source.Oracle.Self-Managed.LogMinerPrivileges). | Siehe [Kontoberechtigungen sind erforderlich, wenn AWS DMS Binary Reader für den Zugriff auf die Redo-Logs verwendet wird](#CHAP_Source.Oracle.Self-Managed.BinaryReaderPrivileges). | 
| Gewähren Sie einer Oracle-Instance mit ASM zusätzliche Benutzerkontenberechtigungen, die für den Zugriff auf ASM für CDC erforderlich sind. | Keine zusätzliche Aktion. AWS DMS unterstützt Oracle ASM ohne zusätzliche Kontoberechtigungen. | Siehe [Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM](#CHAP_Source.Oracle.Self-Managed.ASMBinaryPrivileges). | 
| Falls Sie dies noch nicht getan haben, konfigurieren Sie die Aufgabe so, dass sie LogMiner oder Binary Reader for CDC verwendet. | Siehe [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). | Siehe [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). | 
| Konfigurieren Sie Oracle Standby als Quelle für CDC. | AWS DMS unterstützt Oracle Standby nicht als Quelle. | Siehe [Verwenden eines selbstverwalteten Oracle Standby als Quelle mit Binary Reader for CDC in AWS DMS](#CHAP_Source.Oracle.Self-Managed.BinaryStandby). | 

Verwenden Sie die folgenden Workflow-Schritte, um eine AWS-verwaltete Oracle-Quelldatenbank-Instance zu konfigurieren.


| Für diesen Workflow-Schritt | Gehen Sie wie folgt vor LogMiner, wenn Sie CDC verwenden | Vorgehensweise bei Ausführung von CDC mit Binary Reader | 
| --- | --- | --- | 
| Gewähren Sie Oracle-Kontoberechtigungen. | Weitere Informationen finden Sie unter [Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Privileges). | Weitere Informationen finden Sie unter [Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Privileges). | 
| Bereiten Sie die Quelldatenbank für die Replikation mit CDC vor. | Weitere Informationen finden Sie unter [Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Configuration). | Weitere Informationen finden Sie unter [Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Configuration). | 
| Gewähren Sie zusätzliche Oracle-Benutzerberechtigungen, die für CDC erforderlich sind. | Es sind keine zusätzlichen Kontoberechtigungen erforderlich. | Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC). | 
| Falls Sie dies noch nicht getan haben, konfigurieren Sie die Aufgabe so, dass sie LogMiner oder Binary Reader for CDC verwendet. | Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). | Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). | 
| Konfigurieren Sie Oracle Standby als Quelle für CDC. | AWS DMS unterstützt Oracle Standby nicht als Quelle. | Weitere Informationen finden Sie unter [Verwenden eines Amazon RDS Oracle Standby (Read Replica) als Quelle mit Binary Reader for CDC in AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.StandBy). | 

## Arbeiten mit einer selbstverwalteten Oracle-Datenbank als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Self-Managed"></a>

Eine *selbstverwaltete Datenbank* ist eine Datenbank, die von Ihnen konfiguriert und kontrolliert wird. Dabei kann es sich um eine On-Premises-Datenbank-Instance oder um eine Datenbank in Amazon EC2 handeln. Im Folgenden erfahren Sie mehr über die Rechte und Konfigurationen, die Sie benötigen, wenn Sie eine selbstverwaltete Oracle-Datenbank mit verwenden. AWS DMS

### Erforderliche Benutzerkontenberechtigungen für eine selbstverwaltete Oracle-Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Self-Managed.Privileges"></a>

Um eine Oracle-Datenbank als Quelle in zu verwenden AWS DMS, gewähren Sie dem Oracle-Benutzer, der in den Verbindungseinstellungen für den Oracle-Endpunkt angegeben ist, die folgenden Rechte.

**Anmerkung**  
Wenn Sie Berechtigungen erteilen, verwenden Sie den tatsächlichen Namen der Objekte und nicht die Synonyme dafür. Verwenden Sie beispielsweise `V_$OBJECT` einschließlich des Unterstrichs, nicht `V$OBJECT` ohne Unterstrich.

```
GRANT CREATE SESSION TO dms_user;
GRANT SELECT ANY TRANSACTION TO dms_user;
GRANT SELECT ON V_$ARCHIVED_LOG TO dms_user;
GRANT SELECT ON V_$LOG TO dms_user;
GRANT SELECT ON V_$LOGFILE TO dms_user;
GRANT SELECT ON V_$LOGMNR_LOGS TO dms_user;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO dms_user;
GRANT SELECT ON V_$DATABASE TO dms_user;
GRANT SELECT ON V_$THREAD TO dms_user;
GRANT SELECT ON V_$PARAMETER TO dms_user;
GRANT SELECT ON V_$NLS_PARAMETERS TO dms_user;
GRANT SELECT ON V_$TIMEZONE_NAMES TO dms_user;
GRANT SELECT ON V_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$CONTAINERS TO dms_user;                   
GRANT SELECT ON ALL_INDEXES TO dms_user;
GRANT SELECT ON ALL_OBJECTS TO dms_user;
GRANT SELECT ON ALL_TABLES TO dms_user;
GRANT SELECT ON ALL_USERS TO dms_user;
GRANT SELECT ON ALL_CATALOG TO dms_user;
GRANT SELECT ON ALL_CONSTRAINTS TO dms_user;
GRANT SELECT ON ALL_CONS_COLUMNS TO dms_user;
GRANT SELECT ON ALL_TAB_COLS TO dms_user;
GRANT SELECT ON ALL_IND_COLUMNS TO dms_user;
GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO dms_user;
GRANT SELECT ON ALL_LOG_GROUPS TO dms_user;
GRANT SELECT ON ALL_TAB_PARTITIONS TO dms_user;
GRANT SELECT ON SYS.DBA_REGISTRY TO dms_user;
GRANT SELECT ON SYS.OBJ$ TO dms_user;
GRANT SELECT ON DBA_TABLESPACES TO dms_user;
GRANT SELECT ON DBA_OBJECTS TO dms_user; -– Required if the Oracle version is earlier than 11.2.0.3.
GRANT SELECT ON SYS.ENC$ TO dms_user; -– Required if transparent data encryption (TDE) is enabled. For more information on using Oracle TDE with AWS DMS, see Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS.
GRANT SELECT ON GV_$TRANSACTION TO dms_user; -– Required if the source database is Oracle RAC in AWS DMS versions 3.4.6 and higher.
GRANT SELECT ON V_$DATAGUARD_STATS TO dms_user; -- Required if the source database is Oracle Data Guard and Oracle Standby is used in the latest release of DMS version 3.4.6, version 3.4.7, and higher.
GRANT SELECT ON V_$DATABASE_INCARNATION TO dms_user;
```

Erteilen Sie für jede replizierte Tabelle die folgende zusätzliche Berechtigung, wenn Sie eine spezifische Tabellenliste verwenden.

```
GRANT SELECT on any-replicated-table to dms_user;
```

Erteilen Sie die folgenden zusätzlichen Rechte, um die Validierungsfunktion zu verwenden.

```
GRANT EXECUTE ON SYS.DBMS_CRYPTO TO dms_user;
```

Erteilen Sie das zusätzliche folgende Recht, wenn Sie stattdessen den Binärleser verwenden LogMiner.

```
GRANT SELECT ON SYS.DBA_DIRECTORIES TO dms_user;
```

Erteilen Sie die folgende zusätzliche Berechtigung, um Ansichten verfügbar zu machen.

```
GRANT SELECT on ALL_VIEWS to dms_user;
```

Um Ansichten verfügbar zu machen, müssen Sie Ihrem Quellendpunkt außerdem das zusätzliche Verbindungsattribut `exposeViews=true` hinzufügen.

Gewähren Sie die folgende zusätzliche Berechtigung, wenn Sie Serverless-Replikationen verwenden.

```
GRANT SELECT on dba_segments to dms_user;
GRANT SELECT on v_$tablespace to dms_user;
GRANT SELECT on dba_tab_subpartitions to dms_user;
GRANT SELECT on dba_extents to dms_user;
```

Weitere Informationen zu Serverless-Replikationen finden Sie unter [Arbeiten mit AWS DMS Serverless](CHAP_Serverless.md).

Erteilen Sie die folgenden zusätzlichen Berechtigungen, wenn Sie Oracle-spezifische Bewertungen vor der Migration verwenden.

```
GRANT SELECT on gv_$parameter  to dms_user;
GRANT SELECT on v_$instance to dms_user;
GRANT SELECT on v_$version to dms_user;
GRANT SELECT on gv_$ASM_DISKGROUP to dms_user;
GRANT SELECT on gv_$database to dms_user;
GRANT SELECT on dba_db_links to dms_user;
GRANT SELECT on gv_$log_History to dms_user;
GRANT SELECT on gv_$log to dms_user;
GRANT SELECT ON DBA_TYPES TO dms_user;
GRANT SELECT ON DBA_USERS to dms_user;
GRANT SELECT ON DBA_DIRECTORIES to dms_user;
GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```

Informationen zu Oracle-spezifischen Bewertungen vor der Migration finden Sie unter [Bewertungen von Oracle](CHAP_Tasks.AssessmentReport.Oracle.md).

#### Voraussetzungen für die Verarbeitung offener Transaktionen für Oracle Standby
<a name="CHAP_Source.Oracle.Self-Managed.Privileges.Standby"></a>

Wenn Sie AWS DMS Versionen 3.4.6 und höher verwenden, führen Sie die folgenden Schritte aus, um offene Transaktionen für Oracle Standby zu verarbeiten. 

1. Erstellen Sie einen Datenbank-Link mit dem Namen `AWSDMS_DBLINK` in der Primärdatenbank. `DMS_USER` verwendet den Datenbank-Link, um eine Verbindung mit der Primärdatenbank herzustellen. Beachten Sie, dass der Datenbank-Link von der Standby-Instance aus ausgeführt wird, um die offenen Transaktionen abzufragen, die in der Primärdatenbank ausgeführt werden. Sehen Sie sich das folgende Beispiel an. 

   ```
   CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK 
      CONNECT TO DMS_USER IDENTIFIED BY DMS_USER_PASSWORD
      USING '(DESCRIPTION=
               (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP)(PORT=PORT))
               (CONNECT_DATA=(SERVICE_NAME=SID))
             )';
   ```

1. Stellen Sie sicher, dass die Verbindung mit dem Datenbank-Link über `DMS_USER` hergestellt ist, wie im folgenden Beispiel dargestellt.

   ```
   select 1 from dual@AWSDMS_DBLINK
   ```

### Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS
<a name="CHAP_Source.Oracle.Self-Managed.Configuration"></a>

Führen Sie die folgenden Schritte aus, um Ihre selbstverwaltete Oracle-Datenbank als Quelle zum Ausführen einer CDC-Aufgabe vorzubereiten: 
+ [Es wird überprüft, ob die Version der AWS DMS Quelldatenbank unterstützt wird](#CHAP_Source.Oracle.Self-Managed.Configuration.DbVersion).
+ [Sicherstellen, dass der Modus ARCHIVELOG aktiviert ist](#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode).
+ [Einrichten der zusätzlichen Protokollierung](#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).

#### Es wird überprüft, ob die Version der AWS DMS Quelldatenbank unterstützt wird
<a name="CHAP_Source.Oracle.Self-Managed.Configuration.DbVersion"></a>

Führen Sie eine Abfrage wie die folgende aus, um zu überprüfen, ob die aktuelle Version der Oracle-Quelldatenbank von AWS DMS unterstützt wird.

```
SELECT name, value, description FROM v$parameter WHERE name = 'compatible';
```

Hier sind `name`, `value` und `description` Spalten irgendwo in der Datenbank, die auf der Grundlage des Wertes von `name` abgefragt werden. Wenn diese Abfrage ohne Fehler ausgeführt wird, wird die aktuelle Version der Datenbank AWS DMS unterstützt und Sie können mit der Migration fortfahren. Wenn die Abfrage einen Fehler AWS DMS auslöst, wird die aktuelle Version der Datenbank nicht unterstützt. Um mit der Migration fortzufahren, konvertieren Sie zunächst die Oracle-Datenbank in eine Version, die von unterstützt wird AWS DMS.

#### Sicherstellen, dass der Modus ARCHIVELOG aktiviert ist
<a name="CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode"></a>

Sie können Oracle in zwei verschiedenen Modi ausführen: dem `ARCHIVELOG`-Modus und dem `NOARCHIVELOG`-Modus. Führen Sie die Datenbank im Modus `ARCHIVELOG` aus, um eine CDC-Aufgabe auszuführen. Führen Sie die folgende Abfrage aus, um zu ermitteln, ob sich die Datenbank im Modus `ARCHIVELOG` befindet.

```
SQL> SELECT log_mode FROM v$database;
```

Wenn der Modus `NOARCHIVELOG` zurückgegeben wird, setzen Sie die Datenbank entsprechend den Oracle-Anweisungen auf `ARCHIVELOG`. 

#### Einrichten der zusätzlichen Protokollierung
<a name="CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging"></a>

Um laufende Änderungen zu erfassen, AWS DMS müssen Sie eine minimale zusätzliche Protokollierung in Ihrer Oracle-Quelldatenbank aktivieren. Darüber hinaus müssen Sie die zusätzliche Protokollierung für jede replizierte Tabelle in der Datenbank aktivieren.

 AWS DMS Fügt standardmäßig `PRIMARY KEY` zusätzliche Protokollierung für alle replizierten Tabellen hinzu. Um `PRIMARY KEY` zusätzliche Protokollierung hinzufügen AWS DMS zu können, gewähren Sie für jede replizierte Tabelle die folgende Berechtigung.

```
ALTER on any-replicated-table;
```

Sie können die hinzugefügte `PRIMARY KEY` Standardprotokollierung deaktivieren, indem Sie das zusätzliche AWS DMS Verbindungsattribut verwenden. `addSupplementalLogging` Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib).

Stellen Sie sicher, dass Sie die zusätzliche Protokollierung aktivieren, wenn Ihre Replikationstask eine Tabelle mithilfe einer `WHERE` Klausel aktualisiert, die nicht auf eine Primärschlüsselspalte verweist.

**So richten Sie die zusätzliche Protokollierung manuell ein**

1. Führen Sie die folgende Abfrage aus, um zu überprüfen, ob bereits die zusätzliche Protokollierung für die Datenbank aktiviert ist.

   ```
   SELECT supplemental_log_data_min FROM v$database;
   ```

   Ist das zurückgegebene Ergebnis `YES` oder `IMPLICIT`, ist die zusätzliche Protokollierung für die Datenbank aktiviert.

   Wenn dies nicht der Fall ist, aktivieren Sie die zusätzliche Protokollierung für die Datenbank, indem Sie den folgenden Befehl ausführen.

   ```
   ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
   ```

1. Stellen Sie sicher, dass die erforderliche zusätzliche Protokollierung für jede replizierte Tabelle hinzugefügt wird.

   Berücksichtigen Sie dabei Folgendes:
   + Wenn der Tabelle die zusätzliche Protokollierung `ALL COLUMNS` hinzugefügt wird, müssen Sie keine weitere Protokollierung hinzufügen.
   + Wenn ein Primärschlüssel vorhanden ist, fügen Sie die zusätzliche Protokollierung für den Primärschlüssel hinzu. Dazu können Sie entweder das Format zum Hinzufügen der zusätzlichen Protokollierung zum Primärschlüssel selbst verwenden oder die zusätzliche Protokollierung auf den Primärschlüsselspalten der Datenbank hinzufügen.

     ```
     ALTER TABLE Tablename ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
     ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
     ```
   + Wenn kein Primärschlüssel vorhanden ist und die Tabelle über einen einzigen eindeutigen Index verfügt, müssen alle Spalten des eindeutigen Index dem zusätzlichen Protokoll hinzugefügt werden.

     ```
     ALTER TABLE TableName ADD SUPPLEMENTAL LOG GROUP LogGroupName (UniqueIndexColumn1[, UniqueIndexColumn2] ...) ALWAYS;
     ```

     Durch `SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS` die Verwendung werden die eindeutigen Indexspalten nicht zum Protokoll hinzugefügt.
   + Wenn kein Primärschlüssel vorhanden ist und die Tabelle mehrere eindeutige Indizes hat, AWS DMS wird der erste eindeutige Index in einer alphabetisch aufsteigenden Liste ausgewählt. Sie müssen die zusätzliche Protokollierung für die Spalten des ausgewählten Index wie im vorherigen Punkt hinzufügen.

     Durch Verwenden werden die eindeutigen Indexspalten `SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS` nicht zum Protokoll hinzugefügt.
   + Wenn kein Primärschlüssel vorhanden ist und kein eindeutiger Index vorhanden ist, fügen Sie die zusätzliche Protokollierung für alle Spalten hinzu.

     ```
     ALTER TABLE TableName ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
     ```

     In einigen Fällen können der Primärschlüssel oder der eindeutige Index der Zieltabelle und der Primärschlüssel oder der eindeutige Index der Quelltabelle unterschiedlich sein. Fügen Sie in diesen Fällen die zusätzliche Protokollierung manuell für die Spalten der Quelltabelle hinzu, die den Primärschlüssel oder den eindeutigen Index der Zieltabelle darstellen.

     Wenn Sie den Primärschlüssel der Zieltabelle ändern, sollten Sie die zusätzliche Protokollierung für die Spalten des eindeutigen Zielindex hinzufügen, anstatt für die Spalten des Primärschlüssels oder des eindeutigen Index der Quelle.

Wenn für eine Tabelle ein Filter oder eine Transformation definiert ist, müssen Sie möglicherweise die zusätzliche Protokollierung aktivieren.

Berücksichtigen Sie dabei Folgendes:
+ Wenn der Tabelle die zusätzliche Protokollierung `ALL COLUMNS` hinzugefügt wird, müssen Sie keine weitere Protokollierung hinzufügen.
+ Wenn die Tabelle über einen eindeutigen Index oder einen Primärschlüssel verfügt, fügen Sie die zusätzliche Protokollierung für jede Spalte hinzu, die von einem Filter oder einer Transformation betroffen ist. Tun Sie dies jedoch nur, wenn sich diese Spalten von den Spalten unterscheiden, die den Primärschlüssel oder den eindeutigen Index darstellen.
+ Wenn eine Transformation nur eine Spalte umfasst, fügen Sie diese Spalte nicht einer zusätzlichen Protokollierungsgruppe hinzu. Fügen Sie für eine Transformation `A+B` beispielsweise die zusätzliche Protokollierung für beide Spalten, `A` und `B`, hinzu. Fügen Sie jedoch für eine Transformation `substring(A,10)` jedoch keine zusätzliche Protokollierung für Spalte `A` hinzu.
+ Sie können die zusätzliche Protokollierung `USER_LOG_GROUP` einrichten, um die zusätzliche Protokollierung für Spalten, die den Primärschlüssel oder den eindeutigen Index darstellen, und andere Spalten zu aktivieren, die gefiltert oder transformiert werden. Fügen Sie diese Protokollierung sowohl für die Spalten, die den Primärschlüssel oder den eindeutigen Index darstellen, als auch für die anderen spezifischen Spalten hinzu, die gefiltert oder transformiert werden.

  Wenn Sie beispielsweise eine Tabelle mit dem Namen `TEST.LOGGING` mit dem Primärschlüssel `ID` und einem Filter nach der Spalte `NAME` replizieren möchten, können Sie einen Befehl wie den folgenden ausführen, um die zusätzliche Protokollierung der Protokollgruppe zu erstellen.

  ```
  ALTER TABLE TEST.LOGGING ADD SUPPLEMENTAL LOG GROUP TEST_LOG_GROUP (ID, NAME) ALWAYS;
  ```

### Kontoberechtigungen sind erforderlich, wenn Sie Oracle LogMiner für den Zugriff auf die Redo-Logs verwenden
<a name="CHAP_Source.Oracle.Self-Managed.LogMinerPrivileges"></a>

Um mit Oracle auf die Redo-Logs zuzugreifen LogMiner, gewähren Sie dem Oracle-Benutzer die folgenden Rechte, die in den Verbindungseinstellungen für den Oracle-Endpunkt angegeben sind.

```
GRANT EXECUTE on DBMS_LOGMNR to dms_user;
GRANT SELECT on V_$LOGMNR_LOGS to dms_user;
GRANT SELECT on V_$LOGMNR_CONTENTS to dms_user;
GRANT LOGMINING to dms_user; -– Required only if the Oracle version is 12c or higher.
```

### Kontoberechtigungen sind erforderlich, wenn AWS DMS Binary Reader für den Zugriff auf die Redo-Logs verwendet wird
<a name="CHAP_Source.Oracle.Self-Managed.BinaryReaderPrivileges"></a>

Um mit dem AWS DMS Binary Reader auf die Redo-Logs zuzugreifen, gewähren Sie dem Oracle-Benutzer, der in den Verbindungseinstellungen für den Oracle-Endpunkt angegeben ist, die folgenden Rechte.

```
GRANT SELECT on v_$transportable_platform to dms_user;   -– Grant this privilege if the redo logs are stored in Oracle Automatic Storage Management (ASM) and AWS DMS accesses them from ASM.
GRANT CREATE ANY DIRECTORY to dms_user;                  -– Grant this privilege to allow AWS DMS to use Oracle BFILE read file access in certain cases. This access is required when the replication instance does not have file-level access to the redo logs and the redo logs are on non-ASM storage.
GRANT EXECUTE on DBMS_FILE_TRANSFER to dms_user;         -– Grant this privilege to copy the redo log files to a temporary folder using the CopyToTempFolder method.
GRANT EXECUTE on DBMS_FILE_GROUP to dms_user;
```

Binary Reader arbeitet mit Oracle-Dateimerkmalen, zu denen Oracle-Verzeichnisse gehören. Jedes Oracle-Verzeichnisobjekt enthält den Namen des Ordners, der die zu verarbeitenden Wiederholungsprotokolldateien enthält. Diese Oracle-Verzeichnisse werden auf Dateisystemebene nicht dargestellt. Stattdessen handelt es sich um logische Verzeichnisse, die auf Oracle-Datenbankebene erstellt werden. Sie können sie in der Oracle `ALL_DIRECTORIES`-Ansicht anzeigen.

Wenn Sie diese Oracle-Verzeichnisse erstellen möchten AWS DMS , gewähren Sie die oben angegebene `CREATE ANY DIRECTORY` Berechtigung. AWS DMS erstellt die Verzeichnisnamen mit dem `DMS_` Präfix. Wenn Sie die `CREATE ANY DIRECTORY`-Berechtigung nicht erteilen, erstellen Sie die entsprechenden Verzeichnisse manuell. In einigen Fällen ist bei der manuellen Erstellung der Oracle-Verzeichnisse der im Oracle-Quellendpunkt angegebene Oracle-Benutzer nicht der Benutzer, der diese Verzeichnisse erstellt hat. In diesen Fällen erteilen Sie auch die `READ on DIRECTORY`-Berechtigung.

**Anmerkung**  
AWS DMS CDC unterstützt Active Dataguard Standby nicht, das nicht für die Verwendung des automatischen Redo-Transport-Dienstes konfiguriert ist.

In einigen Fällen können Sie möglicherweise Oracle Managed Files (OMF) zum Speichern der Protokolle verwenden. Oder Ihr Quellendpunkt befindet sich in ADG, sodass Sie die Berechtigung CREATE ANY DIRECTORY nicht erteilen können. Erstellen Sie in diesen Fällen die Verzeichnisse mit allen möglichen Protokollspeicherorten manuell, bevor Sie die Replikationsaufgabe starten. AWS DMS Wenn AWS DMS kein erwartetes vorab erstelltes Verzeichnis gefunden wird, wird die Aufgabe beendet. Löscht auch AWS DMS nicht die Einträge, die es in der `ALL_DIRECTORIES` Ansicht erstellt hat. Löschen Sie sie daher manuell.

### Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM
<a name="CHAP_Source.Oracle.Self-Managed.ASMBinaryPrivileges"></a>

Wenn Sie mit Binary Reader auf die Redo-Protokolle in Automatic Storage Management (ASM) zugreifen möchten, erteilen Sie dem Oracle-Benutzer, der in den Einstellungen zur Oracle-Endpunktverbindung angegeben ist, die folgenden Berechtigungen:

```
SELECT ON v_$transportable_platform
SYSASM -– To access the ASM account with Oracle 11g Release 2 (version 11.2.0.2) and higher, grant the Oracle endpoint user the SYSASM privilege. For older supported Oracle versions, it's typically sufficient to grant the Oracle endpoint user the SYSDBA privilege.
```

Sie können den ASM-Kontozugriff validieren, indem Sie eine Eingabeaufforderung öffnen und eine der folgenden Anweisungen aufrufen, je nach Ihrer zuvor angegebenen Oracle-Version.

Wenn Sie die `SYSDBA`-Berechtigung benötigen, verwenden Sie Folgendes.

```
sqlplus asmuser/asmpassword@+asmserver as sysdba
```

Wenn Sie die `SYSASM`-Berechtigung benötigen, verwenden Sie Folgendes. 

```
sqlplus asmuser/asmpassword@+asmserver as sysasm
```

### Verwenden eines selbstverwalteten Oracle Standby als Quelle mit Binary Reader for CDC in AWS DMS
<a name="CHAP_Source.Oracle.Self-Managed.BinaryStandby"></a>

Wenn Sie eine Oracle-Standby-Instance bei Verwendung von Binary Reader für CDC als Quelle konfigurieren möchten, müssen die folgenden Voraussetzungen erfüllt sein:
+ AWS DMS unterstützt derzeit nur Oracle Active Data Guard Standby.
+ Stellen Sie sicher, dass die Konfiguration von Oracle Data Guard Folgendes verwendet:
  + Redo-Transport-Services für automatisierte Übertragungen von Redo-Daten
  + Anwendungsservices, um Redo automatisch auf die Standby-Datenbank anzuwenden

Führen Sie die folgende Abfrage aus, um zu überprüfen, ob diese Anforderungen erfüllt sind.

```
SQL> select open_mode, database_role from v$database;
```

Vergewissern Sie sich anhand der Ausgabe dieser Abfrage, dass die Standby-Datenbank im Modus READ ONLY geöffnet ist und Redo automatisch angewendet wird. Beispiel:

```
OPEN_MODE             DATABASE_ROLE
--------------------  ----------------
READ ONLY WITH APPLY  PHYSICAL STANDBY
```

**So konfigurieren Sie eine Oracle-Standby-Instance bei Verwendung von Binary Reader für CDC als Quelle**

1. Erteilen Sie zusätzliche Berechtigungen, die für den Zugriff auf Standby-Protokolldateien erforderlich sind.

   ```
   GRANT SELECT ON v_$standby_log TO dms_user;
   ```

1. Erstellen Sie mithilfe der AWS-Managementkonsole oder der AWS CLI einen Quellendpunkt für Oracle Standby. Geben Sie die folgenden zusätzlichen Verbindungsattribute an, wenn Sie den Endpunkt erstellen.

   ```
   useLogminerReader=N;useBfile=Y;
   ```
**Anmerkung**  
In können Sie zusätzliche Verbindungsattribute verwenden AWS DMS, um anzugeben, ob Sie aus den Archivprotokollen statt aus den Redo-Logs migrieren möchten. Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib).

1. Konfigurieren Sie das Ziel für archivierte Protokolle.

   Der DMS-Binary-Reader für Oracle-Quellen ohne ASM verwendet Oracle-Verzeichnisse, um auf archivierte Redo-Protokolle zuzugreifen. Wenn Ihre Datenbank so konfiguriert ist, dass Fast Recovery Area (FRA) als Ziel für Archivprotokolle verwendet wird, ist der Speicherort der Archiv-Redo-Dateien nicht konstant. An jedem Tag, an dem archivierte Redo-Protokolle generiert werden, wird in der FRA ein neues Verzeichnis mit dem Verzeichnisnamenformat JJJJ\$1MM\$1TT erstellt. Beispiel: 

   ```
   DB_RECOVERY_FILE_DEST/SID/archivelog/YYYY_MM_DD
   ```

   Wenn DMS Zugriff auf archivierte Redo-Dateien im neu erstellten FRA-Verzeichnis benötigt und die Primärdatenbank mit Lese-/Schreibzugriff als Quelle verwendet wird, erstellt DMS wie folgt ein neues Oracle-Verzeichnis oder ersetzt ein vorhandenes Oracle-Verzeichnis. 

   ```
   CREATE OR REPLACE DIRECTORY dmsrep_taskid AS ‘DB_RECOVERY_FILE_DEST/SID/archivelog/YYYY_MM_DD’;
   ```

   Wenn die Standby-Datenbank als Quelle verwendet wird, kann DMS das Oracle-Verzeichnis nicht erstellen oder ersetzen, da sich die Datenbank im schreibgeschützten Modus befindet. Sie können jedoch einen dieser zusätzlichen Schritte ausführen: 

   1. Ändern Sie `log_archive_dest_id_1` so, dass ein tatsächlicher Pfad anstelle von FRA in einer solchen Konfiguration verwendet wird, damit Oracle keine täglichen Unterverzeichnisse erstellt:

      ```
      ALTER SYSTEM SET log_archive_dest_1=’LOCATION=full directory path’
      ```

      Erstellen Sie dann ein Oracle-Verzeichnisobjekt, das von DMS verwendet werden soll:

      ```
      CREATE OR REPLACE DIRECTORY dms_archived_logs AS ‘full directory path’;
      ```

   1. Erstellen Sie ein zusätzliches Archivprotokollziel und ein Oracle-Verzeichnisobjekt, das auf dieses Ziel verweist. Beispiel:

      ```
      ALTER SYSTEM SET log_archive_dest_3=’LOCATION=full directory path’; 
      CREATE DIRECTORY dms_archived_log AS ‘full directory path’;
      ```

      Fügen Sie dann dem Quellendpunkt der Aufgabe ein zusätzliches Verbindungsattribut hinzu:

      ```
      archivedLogDestId=3
      ```

   1. Erstellen Sie vorab manuell Oracle-Verzeichnisobjekte, die von DMS verwendet werden sollen.

      ```
      CREATE DIRECTORY dms_archived_log_20210301 AS ‘DB_RECOVERY_FILE_DEST/SID/archivelog/2021_03_01’;
      CREATE DIRECTORY dms_archived_log_20210302 AS ‘DB_RECOVERY_FILE_DEST>/SID>/archivelog/2021_03_02’; 
      ...
      ```

   1. Erstellen Sie einen Oracle-Scheduler-Auftrag, der täglich ausgeführt wird und das erforderliche Verzeichnis erstellt.

1. Konfigurieren Sie das Ziel für das Online-Protokoll. 

   Erstellen Sie ein Oracle-Verzeichnis, das auf das Betriebssystemverzeichnis mit Standby-Redo-Logs verweist:

   ```
   CREATE OR REPLACE DIRECTORY STANDBY_REDO_DIR AS '<full directory path>';
   GRANT READ ON DIRECTORY STANDBY_REDO_DIR TO <dms_user>;
   ```

### Verwenden einer benutzerverwalteten Datenbank auf Oracle Cloud Infrastructure (OCI) als Quelle für CDC in AWS DMS
<a name="CHAP_Source.Oracle.Self-Managed.OCI"></a>

Eine benutzerverwaltete Datenbank ist eine Datenbank, die Sie konfigurieren und steuern, z. B. eine Oracle-Datenbank, die in einer virtuellen Maschine (VM), einer Bare-Metal-Instance oder einem Exadata-Server erstellt wurde. Es kann sich auch um Datenbanken handeln, die Sie konfigurieren und steuern und die auf einer dedizierten Infrastruktur wie Oracle Cloud Infrastructure (OCI) ausgeführt werden. Die folgenden Informationen beschreiben die Berechtigungen und Konfigurationen, die Sie benötigen, wenn Sie eine benutzerverwaltete Oracle-Datenbank in OCI als Quelle für die Erfassung von Datenänderungen (CDC) in AWS DMS verwenden.

**So konfigurieren Sie eine von OCI gehostete benutzerverwaltete Oracle-Datenbank als Quelle für die Erfassung von Datenänderungen**

1. Erteilen Sie erforderliche Benutzerkontoberechtigungen für eine benutzerverwaltete Quelldatenbank in OCI. Weitere Informationen finden Sie unter [Account privileges for a self-managed Oracle source endpoint](#CHAP_Source.Oracle.Self-Managed.Privileges).

1. Erteilen Sie Kontoberechtigungen, die bei Verwendung von Binary Reader für den Zugriff auf die Redo-Protokolle erforderlich sind. Weitere Informationen finden Sie unter [Erforderliche Kontoberechtigungen bei Verwendung von Binary Reader](#CHAP_Source.Oracle.Self-Managed.BinaryReaderPrivileges).

1. Fügen Sie Kontoberechtigungen hinzu, die bei Verwendung von Binary Reader mit Oracle Automatic Storage Management (ASM) erforderlich sind. Weitere Informationen finden Sie unter [Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM](#CHAP_Source.Oracle.Self-Managed.ASMBinaryPrivileges).

1. Richten Sie die zusätzliche Protokollierung ein. Weitere Informationen finden Sie unter [Einrichten der zusätzlichen Protokollierung](#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).

1. Richten Sie die TDE-Verschlüsselung ein. Weitere Informationen finden Sie unter [Verschlüsselungsmethoden bei Verwendung einer Oracle-Datenbank als Quellendpunkt](#CHAP_Source.Oracle.Encryption).

Die folgenden Einschränkungen gelten für die Replikation von Daten aus einer Oracle-Quelldatenbank in Oracle Cloud Infrastructure (OCI).

**Einschränkungen**
+ DMS unterstützt die Verwendung von Oracle für den Zugriff auf die LogMiner Redo-Logs nicht.
+ DMS unterstützt Autonomous DB nicht.

## Arbeiten mit einer AWS-verwalteten Oracle-Datenbank als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Amazon-Managed"></a>

Eine AWS verwaltete Datenbank ist eine Datenbank, die sich auf einem Amazon-Service wie Amazon RDS, Amazon Aurora oder Amazon S3 befindet. Im Folgenden finden Sie die Rechte und Konfigurationen, die Sie einrichten müssen, wenn Sie eine AWS-verwaltete Oracle-Datenbank mit verwenden. AWS DMS

### Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Amazon-Managed.Privileges"></a>

Erteilen Sie dem in der Oracle-Quellendpunktdefinition angegebenen Oracle-Benutzerkonto die folgenden Berechtigungen.

**Wichtig**  
Für alle Parameterwerte wie `dms_user` und `any-replicated-table` geht Oracle davon aus, dass der Wert ausschließlich in Großbuchstaben geschrieben ist, es sei denn, Sie geben den Wert mit einer Kennung an, bei der Groß- und Kleinschreibung beachtet wird. Nehmen wir beispielsweise an, dass Sie einen `dms_user`-Wert ohne Anführungszeichen erstellen, wie in `CREATE USER myuser` oder `CREATE USER MYUSER`. In diesem Fall identifiziert und speichert Oracle den Wert ausschließlich in Großbuchstaben (`MYUSER`). Wenn Sie Anführungszeichen verwenden, wie in `CREATE USER "MyUser"` oder `CREATE USER 'MyUser'`, identifiziert und speichert Oracle den angegebenen Wert unter Berücksichtigung der Groß- und Kleinschreibung (`MyUser`).

```
GRANT CREATE SESSION to dms_user;
GRANT SELECT ANY TRANSACTION to dms_user;
GRANT SELECT on DBA_TABLESPACES to dms_user;
GRANT SELECT ON any-replicated-table to dms_user;
GRANT EXECUTE on rdsadmin.rdsadmin_util to dms_user;
 -- For Oracle 12c or higher:
GRANT LOGMINING to dms_user; – Required only if the Oracle version is 12c or higher.
```

Erteilen Sie außerdem die Berechtigungen `SELECT` und `EXECUTE` für `SYS`-Objekte mithilfe des Amazon-RDS-Verfahrens `rdsadmin.rdsadmin_util.grant_sys_object`, wie in der Abbildung gezeigt. Weitere Informationen finden Sie unter [Erteilen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html#Appendix.Oracle.CommonDBATasks.TransferPrivileges).

```
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_VIEWS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_PARTITIONS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_INDEXES', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TABLES', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_USERS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CATALOG', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONSTRAINTS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONS_COLUMNS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_IND_COLUMNS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_LOG_GROUPS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$THREAD', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$NLS_PARAMETERS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TIMEZONE_NAMES', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_ENCRYPTED_COLUMNS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS', 'dms_user', 'SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','dms_user','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR', 'dms_user', 'EXECUTE');

-- (as of Oracle versions 12.1 and higher)
exec rdsadmin.rdsadmin_util.grant_sys_object('REGISTRY$SQLPATCH', 'dms_user', 'SELECT');

-- (for Amazon RDS Active Dataguard Standby (ADG))
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$STANDBY_LOG', 'dms_user', 'SELECT'); 

-- (for transparent data encryption (TDE))

exec rdsadmin.rdsadmin_util.grant_sys_object('ENC$', 'dms_user', 'SELECT'); 
               
-- (for validation with LOB columns)
exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'dms_user', 'EXECUTE');
                    
-- (for binary reader)
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DIRECTORIES','dms_user','SELECT'); 
                    
-- Required when the source database is Oracle Data guard, and Oracle Standby is used in the latest release of DMS version 3.4.6, version 3.4.7, and higher.

exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_STATS', 'dms_user', 'SELECT');
```

Weitere Informationen zur Verwendung von Amazon RDS Active Dataguard Standby (ADG) mit AWS DMS finden Sie unter [Verwenden eines Amazon RDS Oracle Standby (Read Replica) als Quelle mit Binary Reader for CDC in AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.StandBy).

Weitere Hinweise zur Verwendung von Oracle TDE mit finden Sie AWS DMS unter. [Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Encryption)

#### Voraussetzungen für die Verarbeitung offener Transaktionen für Oracle Standby
<a name="CHAP_Source.Oracle.Amazon-Managed.Privileges.Standby"></a>

Wenn Sie AWS DMS Versionen 3.4.6 und höher verwenden, führen Sie die folgenden Schritte aus, um offene Transaktionen für Oracle Standby zu verarbeiten. 

1. Erstellen Sie einen Datenbank-Link mit dem Namen `AWSDMS_DBLINK` in der Primärdatenbank. `DMS_USER` verwendet den Datenbank-Link, um eine Verbindung mit der Primärdatenbank herzustellen. Beachten Sie, dass der Datenbank-Link von der Standby-Instance aus ausgeführt wird, um die offenen Transaktionen abzufragen, die in der Primärdatenbank ausgeführt werden. Sehen Sie sich das folgende Beispiel an. 

   ```
   CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK 
      CONNECT TO DMS_USER IDENTIFIED BY DMS_USER_PASSWORD
      USING '(DESCRIPTION=
               (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP)(PORT=PORT))
               (CONNECT_DATA=(SERVICE_NAME=SID))
             )';
   ```

1. Stellen Sie sicher, dass die Verbindung mit dem Datenbank-Link über `DMS_USER` hergestellt ist, wie im folgenden Beispiel dargestellt.

   ```
   select 1 from dual@AWSDMS_DBLINK
   ```

### Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Amazon-Managed.Configuration"></a>

Bevor Sie eine AWS-verwaltete Oracle-Datenbank als Quelle für verwenden AWS DMS, führen Sie die folgenden Aufgaben für die Oracle-Datenbank aus:
+ Aktivieren Sie automatische Sicherungen. Weitere Informationen zum Aktivieren von automatischen Backups finden Sie unter [Aktivieren von automatisierten Backups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.Enabling) im *Benutzerhandbuch für Amazon RDS*.
+ Richten Sie die zusätzliche Protokollierung ein.
+ Richten Sie die Archivierung ein. Durch die Archivierung der Redo-Logs für Ihre Amazon RDS for Oracle DB-Instance können AWS DMS Sie die Protokollinformationen mit Oracle LogMiner oder Binary Reader abrufen. 

**So richten Sie die Archivierung ein:**

1. Führen Sie den `rdsadmin.rdsadmin_util.set_configuration` Befehl aus, um die Archivierung einzurichten.

   Führen Sie beispielsweise den folgenden Befehl aus, um die archivierten Redo-Protokolle 24 Stunden lang beizubehalten.

   ```
   exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);
   commit;
   ```
**Anmerkung**  
Das Commit muss durchgeführt werden, damit Änderungen wirksam werden.

1. Stellen Sie sicher, dass Ihr Speicherplatz für die archivierten Redo-Protokolle im angegebenen Zeitraum ausreicht. Wenn Ihr Speicherzeitraum beispielsweise 24 Stunden beträgt, berechnen Sie die Gesamtgröße Ihrer kumulierten archivierten Redo-Protokolle über eine typische Stunde Transaktionsverarbeitung und multiplizieren Sie diese Summe mit 24. Vergleichen Sie diese berechnete Summe für 24 Stunden mit Ihrem verfügbaren Speicherplatz und entscheiden Sie, ob Sie über genügend Speicherplatz für eine 24-Stunden-Transaktionsverarbeitung verfügen.

**So richten Sie die zusätzliche Protokollierung ein:**

1. Führen Sie den folgenden Befehl aus, um die zusätzliche Protokollierung auf Datenbankebene zu aktivieren.

   ```
   exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
   ```

1. Führen Sie den folgenden Befehl aus, um die zusätzliche Protokollierung für den Primärschlüssel zu aktivieren.

   ```
   exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');
   ```

1. (Optional) Aktivieren Sie die zusätzliche Schlüsselebenen-Protokollierung auf Tabellenebene.

   Für die Quelldatenbank entsteht ein wenig Mehraufwand, wenn die zusätzliche Schlüsselebenen-Protokollierung aktiviert ist. Wenn Sie nur eine Teilmenge Ihrer Tabellen migrieren, sollten Sie daher die zusätzliche Schlüsselebenen-Protokollierung auf Tabellenebene aktivieren. Führen Sie den folgenden Befehl aus, um die zusätzliche Schlüsselebenen-Protokollierung auf Tabellenebene zu aktivieren.

   ```
   alter table table_name add supplemental log data (PRIMARY KEY) columns;
   ```

### Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Amazon-Managed.CDC"></a>

Sie können den AWS DMS Zugriff auf die Redo-Logs der Amazon RDS for Oracle Oracle-Quellinstanz mithilfe von Binary Reader for CDC konfigurieren. 

**Anmerkung**  
Um Oracle zu verwenden LogMiner, sind die mindestens erforderlichen Benutzerkontoberechtigungen ausreichend. Weitere Informationen finden Sie unter [Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Privileges).

Um AWS DMS Binary Reader zu verwenden, geben Sie je nach AWS DMS Version zusätzliche Einstellungen und zusätzliche Verbindungsattribute für den Oracle-Quellendpunkt an.

Unterstützung für Binary Reader ist in den folgenden Versionen von Amazon RDS für Oracle verfügbar:
+ Oracle 11.2 – Versionen 11.2.0.4V11 und höher
+ Oracle 12.1 – Versionen 12.1.0.2.V7 und höher
+ Oracle 12.2 – Alle Versionen
+ Oracle 18.0 – Alle Versionen
+ Oracle 19.0 – Alle Versionen

**So konfigurieren Sie CDC mit dem Binary Reader:**

1. Melden Sie sich als Hauptbenutzer bei Ihrer Quelldatenbank in Amazon RDS für Oracle an und führen Sie die folgenden gespeicherten Prozeduren aus, um die Verzeichnisse auf Serverebene zu erstellen.

   ```
   exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
   exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
   ```

1. Erteilen Sie dem Oracle-Benutzerkonto, das für den Zugriff auf den Oracle-Quellendpunkt verwendet wird, die folgenden Berechtigungen.

   ```
   GRANT READ ON DIRECTORY ONLINELOG_DIR TO dms_user;
   GRANT READ ON DIRECTORY ARCHIVELOG_DIR TO dms_user;
   ```

1. Legen Sie die folgenden zusätzlichen Verbindungsattribute für den Oracle-Quellendpunkt in Amazon RDS fest:
   + Legen Sie für die RDS-Oracle-Versionen 11.2 und 12.1 Folgendes fest.

     ```
     useLogminerReader=N;useBfile=Y;accessAlternateDirectly=false;useAlternateFolderForOnline=true;
     oraclePathPrefix=/rdsdbdata/db/{$DATABASE_NAME}_A/;usePathPrefix=/rdsdbdata/log/;replacePathPrefix=true;
     ```
   + Legen Sie für die RDS-Oracle-Versionen 12.2, 18.0 und 19.0 Folgendes fest.

     ```
     useLogminerReader=N;useBfile=Y;
     ```

**Anmerkung**  
Stellen Sie sicher, dass auf das Semikolon (;) als Trennzeichen für mehrere Einstellungen kein Leerzeichen folgt (z. B. `oneSetting;thenAnother`).

Weitere Informationen zum Konfigurieren einer CDC-Aufgabe finden Sie unter [Konfiguration für CDC für eine Oracle-Quelldatenbank](#CHAP_Source.Oracle.CDC.Configuration).

### Verwenden eines Amazon RDS Oracle Standby (Read Replica) als Quelle mit Binary Reader for CDC in AWS DMS
<a name="CHAP_Source.Oracle.Amazon-Managed.StandBy"></a>

Überprüfen Sie die folgenden Voraussetzungen für die Verwendung von Amazon RDS für Oracle Standby als Quelle bei Verwendung von Binary Reader für CDC in AWS DMS:
+ Verwenden Sie den Oracle-Hauptbenutzer, um Binary Reader einzurichten.
+ Stellen Sie sicher, dass AWS DMS derzeit nur die Verwendung von Oracle Active Data Guard Standby unterstützt wird.

Verwenden Sie anschließend das folgende Verfahren, um RDS für Oracle Standby bei Verwendung von Binary Reader für CDC als Quelle zu verwenden.

**So konfigurieren Sie RDS für Oracle Standby bei Verwendung von Binary Reader für CDC als Quelle**

1. Melden Sie sich als Hauptbenutzer bei der primären RDS-für-Oracle-Instance an.

1. Führen Sie die folgenden gespeicherten Prozeduren wie im Benutzerhandbuch für Amazon RDS beschrieben aus, um die Verzeichnisse auf Serverebene zu erstellen.

   ```
   exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
   exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
   ```

1. Identifizieren Sie die in Schritt 2 erstellten Verzeichnisse.

   ```
   SELECT directory_name, directory_path FROM all_directories
   WHERE directory_name LIKE ( 'ARCHIVELOG_DIR_%' )
           OR directory_name LIKE ( 'ONLINELOG_DIR_%' )
   ```

   Mit dem obigen Code wird beispielsweise eine Liste von Verzeichnissen wie die folgende angezeigt.  
![\[Table showing directory names and their corresponding paths for archive and online logs.\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-rds-server-level-directories.png)

1. Erteilen Sie dem Oracle-Benutzerkonto, das für den Zugriff auf Oracle Standby verwendet wird, die Berechtigung `Read` für die oben genannten Verzeichnisse.

   ```
   GRANT READ ON DIRECTORY ARCHIVELOG_DIR_A TO dms_user;
   GRANT READ ON DIRECTORY ARCHIVELOG_DIR_B TO dms_user;
   GRANT READ ON DIRECTORY ONLINELOG_DIR_A TO dms_user;
   GRANT READ ON DIRECTORY ONLINELOG_DIR_B TO dms_user;
   ```

1. Führen Sie einen Archivprotokoll-Wechsel auf der primären Instance durch. Dadurch wird sichergestellt, dass die Änderungen an `ALL_DIRECTORIES` auch in Oracle Standby portiert werden.

1. Führen Sie die Abfrage `ALL_DIRECTORIES` für Oracle Standby aus, um zu bestätigen, dass die Änderungen übernommen wurden.

1. Erstellen Sie mithilfe der AWS DMS Management Console oder AWS Command Line Interface (AWS CLI) einen Quellendpunkt für den Oracle Standby. Geben Sie die folgenden zusätzlichen Verbindungsattribute an, während Sie den Endpunkt erstellen.

   ```
   useLogminerReader=N;useBfile=Y;archivedLogDestId=1;additionalArchivedLogDestId=2
   ```

1. Nachdem Sie den Endpunkt erstellt haben, verwenden Sie die **Option Endpunktverbindung testen** auf der Seite **Endpunkt erstellen** der Konsole oder verwenden Sie den AWS CLI `test-connection` Befehl, um zu überprüfen, ob die Konnektivität hergestellt ist.

## Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Limitations"></a>

Die folgenden Einschränkungen gelten, wenn Sie eine Oracle-Datenbank als Quelle für AWS DMS verwenden:
+ AWS DMS unterstützt Oracle Extended-Datentypen in AWS DMS Version 3.5.0 und höher.
+ AWS DMS unterstützt keine langen Objektnamen (über 30 Byte).
+ AWS DMS unterstützt keine funktionsbasierten Indizes.
+ Wenn Sie die zusätzliche Protokollierung verwalten und Transformationen für eine der Spalten durchführen, stellen Sie sicher, dass die zusätzliche Protokollierung für alle Felder und Spalten aktiviert ist. Weitere Informationen zum Einrichten der zusätzlichen Protokollierung finden Sie in den folgenden Themen:
  + Informieren Sie sich im Fall einer selbstverwalteten Oracle-Quelldatenbank unter [Einrichten der zusätzlichen Protokollierung](#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).
  + Informationen zu einer von AWS-verwalteten Oracle-Quelldatenbank finden Sie unter. [Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.Configuration)
+ AWS DMS unterstützt die Mehrmandanten-Container-Root-Datenbank (CDB\$1ROOT) nicht. Es unterstützt eine PDB, die den Binary Reader verwendet.
+ AWS DMS unterstützt keine verzögerten Einschränkungen.
+ AWS DMS Version 3.5.3 und höher unterstützt Secure vollständig. LOBs
+ AWS DMS unterstützt die `rename table table-name to new-table-name` Syntax für alle unterstützten Oracle-Versionen 11 und höher. Diese Syntax wird für Oracle-Quelldatenbanken der Version 10 nicht unterstützt.
+ AWS DMS repliziert die Ergebnisse der DDL-Anweisung nicht. `ALTER TABLE ADD column data_type DEFAULT default_value` Anstatt `default_value` auf das Ziel zu replizieren, wird die neue Spalte auf `NULL` gesetzt.
+ Wenn Sie AWS DMS Version 3.4.7 oder höher verwenden, um Änderungen zu replizieren, die sich aus Partitions- oder Unterpartitionsvorgängen ergeben, gehen Sie wie folgt vor, bevor Sie eine DMS-Aufgabe starten.
  + Erstellen Sie die partitionierte Tabellenstruktur (DDL) manuell; 
  + Stellen Sie sicher, dass die DDL in der Oracle-Quelle und im Oracle-Ziel identisch ist; 
  + Legen Sie das zusätzliche Verbindungsattribut `enableHomogenousPartitionOps=true` fest.

  Mehr über `enableHomogenousPartitionOps` erfahren Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib). Beachten Sie außerdem, dass DMS bei FULL\$1CDC-Aufgaben keine Datenänderungen repliziert, die als Teil der zwischengespeicherten Änderungen erfasst wurden. Erstellen Sie in diesem Anwendungsfall die Tabellenstruktur im Oracle-Ziel neu und laden Sie die betreffenden Tabellen erneut.

  Vor Version 3.4.7: AWS DMS 

  DMS repliziert keine Datenänderungen, die sich aus Partitions- oder Unterpartitionsoperationen (`ADD`,`DROP`, `EXCHANGE` und) ergeben. `TRUNCATE` Solche Aktualisierungen können während der Replikation folgende Fehler verursachen:
  + Bei `ADD`-Operationen können Aktualisierungen und Löschungen für die hinzugefügten Daten die Warnung „0 rows affected (0 Zeilen betroffen)“ auslösen.
  + Für `DROP`- und `TRUNCATE`-Operationen können neue Einfügungen „Duplicates (Duplikate)“-Fehler verursachen.
  + `EXCHANGE`-Operationen können sowohl eine Warnung „0 rows affected (0 Zeilen betroffen)“, als auch „Duplicates (Duplikate)“-Fehler auslösen.

  Um Änderungen zu replizieren, die sich aus Partitions- oder Unterpartitionsoperationen ergeben, laden Sie die betreffenden Tabellen neu. Nach dem Hinzufügen einer neuen leeren Partition werden Operationen für die neu hinzugefügte Partition wie gewohnt auf das Ziel repliziert.
+ AWS DMS Versionen vor 3.4 unterstützen keine Datenänderungen auf dem Ziel, die sich aus der Ausführung der `CREATE TABLE AS` Anweisung auf der Quelle ergeben. Allerdings wird die neue Tabelle in der Zieldatenbank erstellt.
+ AWS DMS erfasst keine Änderungen, die durch das `DBMS_REDEFINITION` Oracle-Paket vorgenommen wurden, z. B. die Tabellenmetadaten und das `OBJECT_ID` Feld.
+ Wenn der LOB-Modus mit begrenzter Größe aktiviert ist, werden leere BLOB/CLOB Spalten in der Oracle-Quelle als NULL-Werte repliziert. Wenn der vollständige LOB-Modus aktiviert ist, werden sie als leere Zeichenfolge ('') repliziert.
+ Beim Erfassen von Änderungen mit Oracle 11 LogMiner geht eine Aktualisierung einer CLOB-Spalte mit einer Zeichenkettenlänge von mehr als 1982 verloren, und das Ziel wird nicht aktualisiert.
+ Unterstützt während der Change Data Capture (CDC) AWS DMS keine Batch-Aktualisierungen von numerischen Spalten, die als Primärschlüssel definiert sind.
+ AWS DMS unterstützt bestimmte `UPDATE` Befehle nicht. Das folgende Beispiel ist ein nicht unterstützter `UPDATE`-Befehl.

  ```
  UPDATE TEST_TABLE SET KEY=KEY+1;
  ```

  Hier ist `TEST_TABLE` der Tabellenname und `KEY` ist eine numerische Spalte, die als Primärschlüssel definiert ist.
+ AWS DMS unterstützt nicht den vollständigen LOB-Modus zum Laden von LONG- und LONG RAW-Spalten. Stattdessen können Sie den limitierten LOB-Modus verwenden, um diese Datentypen zu einem Oracle-Ziel zu migrieren. Im eingeschränkten LOB-Modus werden alle Daten, die Sie AWS DMS auf LONG- oder LONG-RAW-Spalten mit einer Länge von mehr als 64 KB festgelegt haben, auf 64 KB gekürzt.
+ AWS DMS unterstützt den vollständigen LOB-Modus zum Laden von XMLTYPE-Spalten nicht. Stattdessen können Sie den limitierten LOB-Modus verwenden, um XMLTYPE-Spalten zu einem Oracle-Ziel zu migrieren. Im limitierten LOB-Modus kürzt DMS alle Daten, die größer als die benutzerdefinierte Variable „Maximale LOB-Größe“ sind. Der empfohlene Höchstwert für „Maximale LOB-Größe“ beträgt 100 MB.
+ AWS DMS repliziert keine Tabellen, deren Namen Apostrophe enthalten.
+ AWS DMS unterstützt CDC aus materialisierten Ansichten. DMS unterstützt CDC jedoch nicht aus anderen Ansichten.
+ AWS DMS unterstützt CDC nicht für indexorganisierte Tabellen mit einem Überlaufsegment.
+ AWS DMS unterstützt den `Drop Partition` Vorgang nicht für Tabellen, die nach Referenz partitioniert sind und auf gesetzt sind. `enableHomogenousPartitionOps` `true`
+ Wenn Sie Oracle für den LogMiner Zugriff auf die Redo-Logs verwenden, gelten AWS DMS die folgenden Einschränkungen:
  + Nur für Oracle 12, repliziert AWS DMS keine Änderungen an LOB-Spalten.
  + AWS DMS unterstützt keine XA-Transaktionen bei der Replikation bei der Verwendung von Oracle. LogMiner
  + Oracle unterstützt LogMiner keine Verbindungen zu einer Pluggable Database (PDB). Um eine Verbindung mit einer PDB herzustellen, greifen Sie mit dem Binary Reader auf die Wiederholungsprotokolle zu.
  + SHRINK SPACE-Operationen werden nicht unterstützt.
+ Wenn Sie Binary Reader verwenden, gelten folgende Einschränkungen AWS DMS :
  + Tabellencluster werden nicht unterstützt.
  + Es werden nur `SHRINK SPACE`-Operationen auf Tabellenebene unterstützt. Diese Ebene umfasst die vollständige Tabelle, Partitionen und Unterpartitionen.
  + Änderungen an indexorganisierten Tabellen mit Schlüsselkomprimierung werden nicht unterstützt.
  + Die Implementierung von Online-Redo-Logs auf Raw-Geräten wird nicht unterstützt.
  + Binary Reader unterstützt TDE nur für selbstverwaltete Oracle-Datenbanken, da RDS for Oracle das Abrufen von Wallet-Passwörtern für TDE-Verschlüsselungsschlüssel nicht unterstützt.
+ AWS DMS unterstützt keine Verbindungen zu einer Amazon RDS-Oracle-Quelle, die einen Oracle Automatic Storage Management (ASM) -Proxy verwendet.
+ AWS DMS unterstützt keine virtuellen Spalten. 
+ AWS DMS unterstützt weder den `ROWID` Datentyp noch materialisierte Ansichten, die auf einer ROWID-Spalte basieren.

  AWS DMS unterstützt teilweise Oracle Materialized Views. Bei Volllastaufgaben kann DMS eine Volllastkopie einer materialisierten Ansicht in Oracle erstellen. DMS kopiert die materialisierte Ansicht als Basistabelle in das Zielsystem und ignoriert alle ROWID-Spalten in der materialisierten Ansicht. Bei einer laufenden Replikation (CDC) versucht DMS, Änderungen an den Daten der materialisierten Ansicht zu replizieren. Jedoch sind die Ergebnisse möglicherweise nicht ideal. Insbesondere wenn die materialisierte Ansicht vollständig aktualisiert wird, repliziert DMS einzelne Löschvorgänge für alle Zeilen, gefolgt von einzelnen Einfügungen für alle Zeilen. Dieser Vorgang ist sehr ressourcenintensiv und funktioniert bei materialisierten Ansichten mit einer großen Anzahl von Zeilen möglicherweise schlecht. Bei einer laufenden Replikation, bei der die materialisierten Ansichten schnell aktualisiert werden, versucht DMS, die schnellen Datenänderungen zu verarbeiten und zu replizieren. In beiden Fällen überspringt DMS alle ROWID-Spalten in der materialisierten Ansicht.
+ AWS DMS lädt oder erfasst keine globalen temporären Tabellen.
+ Aktivieren Sie für S3-Ziele, die Replikation verwenden, die zusätzliche Protokollierung für jede Spalte, damit Quellzeilenaktualisierungen jeden Spaltenwert erfassen können. Zum Beispiel: `alter table yourtablename add supplemental log data (all) columns;`.
+ Eine Aktualisierung für eine Zeile mit einem zusammengesetzten eindeutigen Schlüssel, der `null` enthält, kann am Ziel nicht repliziert werden.
+ AWS DMS unterstützt nicht die Verwendung mehrerer Oracle TDE-Verschlüsselungsschlüssel auf demselben Quellendpunkt. Jeder Endpunkt kann nur ein Attribut für den TDE-Verschlüsselungsschlüsselnamen „`securityDbEncryptionName`“ und ein TDE-Passwort für diesen Schlüssel haben.
+ Bei der Replikation von Amazon RDS for Oracle wird TDE nur mit verschlüsseltem Tablespace und unter Verwendung von Oracle unterstützt. LogMiner
+ AWS DMS unterstützt nicht mehrere Operationen zur schnellen Umbenennung von Tabellen.
+ Bei Verwendung von Oracle 19.0 als Quelle werden die folgenden Funktionen AWS DMS nicht unterstützt:
  + Data-Guard-DML-Umleitung
  + Partitionierte hybride Tabellen
  + Schema-only-Konten in Oracle
+ AWS DMS unterstützt nicht die Migration von Tabellen oder Ansichten des Typs `BIN$` oder`DR$`.
+ Ab Oracle 18.x wird Change Data Capture (CDC) von Oracle Express Edition (Oracle Database XE) AWS DMS nicht unterstützt.
+ Bei der Migration von Daten aus einer CHAR-Spalte kürzt DMS alle nachfolgenden Leerzeichen. 
+ AWS DMS unterstützt keine Replikation aus Anwendungscontainern.
+ AWS DMS unterstützt nicht die Ausführung von Oracle Flashback Database und Restore Points, da diese Operationen die Konsistenz der Oracle Redo Log-Dateien beeinträchtigen.
+ Vor AWS DMS Version 3.5.3 wird das `INSERT` Direct-Load-Verfahren mit der Option parallel Ausführung in den folgenden Fällen nicht unterstützt:
  + Unkomprimierte Tabellen mit mehr als 255 Spalten
  + Zeilengröße von mehr als 8K
  + Exadata-HCC-Tabellen
  + Datenbank, die auf der Big Endian-Plattform läuft
+ Für eine Quelltabelle, die weder über einen Primärschlüssel noch über einen eindeutigen Schlüssel verfügt, muss die zusätzliche Protokollierung ALL COLUMN aktiviert sein. Dies führt zu mehr Redo-Protokollaktivitäten und kann die DMS-CDC-Latenz erhöhen.
+ AWS DMS migriert keine Daten aus unsichtbaren Spalten in Ihrer Quelldatenbank. Verwenden Sie die Anweisung `ALTER TABLE`, um diese Spalten sichtbar zu machen und in den Migrationsbereich aufzunehmen.
+ Repliziert AWS DMS nicht für alle Oracle-Versionen das Ergebnis von `UPDATE` Operationen an `XMLTYPE` und LOB-Spalten.
+ AWS DMS unterstützt keine Replikation aus Tabellen mit zeitlichen Gültigkeitsbeschränkungen.
+ Wenn die Oracle-Quelle während einer Aufgabe zum vollständigen Laden nicht verfügbar ist, wird die Aufgabe AWS DMS möglicherweise nach mehreren Wiederverbindungsversuchen als abgeschlossen markiert, obwohl die Datenmigration noch unvollständig ist. In diesem Szenario enthalten die Zieltabellen nur die Datensätze, die vor dem Verbindungsverlust migriert wurden, was möglicherweise zu Dateninkonsistenzen zwischen Quell- und Zielsystem führen kann. Um die Vollständigkeit der Daten sicherzustellen, müssen Sie entweder die Aufgabe zum vollständigen Laden vollständig neu starten oder die spezifischen Tabellen, die von der Verbindungsunterbrechung betroffen sind, neu laden.

## SSL-Unterstützung für einen Oracle-Endpunkt
<a name="CHAP_Security.SSL.Oracle"></a>

AWS DMS Oracle-Endgeräte unterstützen SSL V3 für die Modi `none` und `verify-ca` SSL. Um SSL mit einem Oracle-Endpunkt zu verwenden, müssen Sie das Oracle Wallet für den Endpunkt anstelle von .pem-Zertifikatdateien hochladen. 

**Topics**
+ [Verwenden eines vorhandenen Zertifikats für Oracle SSL](#CHAP_Security.SSL.Oracle.Existing)
+ [Verwenden eines selbstsignierten Zertifikats für Oracle SSL](#CHAP_Security.SSL.Oracle.SelfSigned)

### Verwenden eines vorhandenen Zertifikats für Oracle SSL
<a name="CHAP_Security.SSL.Oracle.Existing"></a>

Um eine vorhandene Oracle-Client-Installation zum Erstellen der Oracle Wallet-Datei aus der Zertifikatdatei der Zertifizierungsstelle zu erstellen, gehen Sie wie folgt vor.

**Um eine bestehende Oracle-Client-Installation für Oracle SSL zu verwenden mit AWS DMS**

1. Legen Sie die `ORACLE_HOME`-Systemvariable auf den Speicherort Ihres `dbhome_1`-Verzeichnisses fest, indem Sie den folgenden Befehl ausführen.

   ```
   prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1                        
   ```

1. `$ORACLE_HOME/lib` an die `LD_LIBRARY_PATH`-Systemvariable anhängen.

   ```
   prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib                        
   ```

1. Erstellen Sie ein Oracle Wallet unter `$ORACLE_HOME/ssl_wallet`.

   ```
   prompt>mkdir $ORACLE_HOME/ssl_wallet
   ```

1. Legen Sie die CA-Zertifikatdatei `.pem` im Verzeichnis `ssl_wallet` ab. Wenn Sie Amazon RDS verwenden, können Sie die von Amazon RDS gehostete CA-Stammzertifikatdatei `rds-ca-2015-root.pem` verwenden. Weitere Informationen zum Herunterladen dieser Datei finden Sie unter [Verwenden, SSL/TLS um eine Verbindung zu einer DB-Instance zu verschlüsseln](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) im *Amazon RDS-Benutzerhandbuch*.

1. Wenn Ihr CA-Zertifikat mehr als eine PEM-Datei enthält (wie Amazon RDS Global oder Regional Bundle), müssen Sie es in separate Dateien aufteilen und sie mithilfe des folgenden Bash-Skripts zur Oracle-Wallet hinzufügen. Dieses Skript erfordert zwei Parametereingaben: den Pfad zum CA-Zertifikat und den Pfad zum Ordner der zuvor erstellten Oracle-Wallet.

   ```
   #!/usr/bin/env bash
   
   certnum=$(grep -c BEGIN <(cat $1))
   
   cnt=0
   temp_cert=""
   while read line
   do
   if [ -n "$temp_cert" -a "$line" == "-----BEGIN CERTIFICATE-----" ]
   then
   cnt=$(expr $cnt + 1)
   printf "\rImporting certificate # $cnt of $certnum"
   orapki wallet add -wallet "$2" -trusted_cert -cert <(echo -n "${temp_cert}") -auto_login_only 1>/dev/null 2>/dev/null
   temp_cert=""
   fi
   temp_cert+="$line"$'\n'
   done < <(cat $1)
   
   cnt=$(expr $cnt + 1)
   printf "\rImporting certificate # $cnt of $certnum"
   orapki wallet add -wallet "$2" -trusted_cert -cert <(echo -n "${temp_cert}") -auto_login_only 1>/dev/null 2>/dev/null
   echo ""
   ```

Wenn Sie die vorherigen Schritte ausgeführt haben, können Sie die Wallet-Datei mit dem `ImportCertificate`-API-Aufruf importieren, indem Sie den Parameter „certificate-wallet“ angeben. Sie können das importierte Wallet-Zertifikat dann verwenden, wenn Sie `verify-ca` als SSL-Modus beim Erstellen oder Ändern Ihres Oracle-Endpunkts auswählen.

**Anmerkung**  
 Oracle-Wallets sind Binärdateien. AWS DMS akzeptiert diese Dateien unverändert. 

### Verwenden eines selbstsignierten Zertifikats für Oracle SSL
<a name="CHAP_Security.SSL.Oracle.SelfSigned"></a>

Gehen Sie wie folgt vor, um ein selbstsigniertes Zertifikat für Oracle SSL zu verwenden. Dabei wird das Passwort `oracle123` für das Oracle-Wallet vorausgesetzt.

**Um ein selbstsigniertes Zertifikat für Oracle SSL zu verwenden mit AWS DMS**

1. Erstellen Sie ein Verzeichnis für die Arbeit mit dem selbstsignierten Zertifikat.

   ```
   mkdir -p /u01/app/oracle/self_signed_cert
   ```

1. Wechseln Sie in das Verzeichnis, das Sie im vorherigen Schritt erstellt haben.

   ```
   cd /u01/app/oracle/self_signed_cert
   ```

1. Erstellen Sie einen Stammschlüssel.

   ```
   openssl genrsa -out self-rootCA.key 2048
   ```

1. Signieren Sie selbst ein Stammzertifikat mithilfe des Stammschlüssels, den Sie im vorherigen Schritt erstellt haben.

   ```
   openssl req -x509 -new -nodes -key self-rootCA.key 
           -sha256 -days 3650 -out self-rootCA.pem
   ```

   Verwenden Sie Eingabeparameter wie die folgenden:
   + `Country Name (2 letter code) [XX]`, z. B.: `AU`
   + `State or Province Name (full name) []`, z. B.: `NSW`
   + `Locality Name (e.g., city) [Default City]`, z. B.: `Sydney`
   + `Organization Name (e.g., company) [Default Company Ltd]`, z. B.: `AmazonWebService`
   + `Organizational Unit Name (e.g., section) []`, z. B.: `DBeng`
   + `Common Name (e.g., your name or your server's hostname) []`, z. B.: `aws`
   + `Email Address []`, z. B.: abcd.efgh@amazonwebservice.com

1. Erstellen Sie ein Oracle Wallet-Verzeichnis für die Oracle-Datenbank.

   ```
   mkdir -p /u01/app/oracle/wallet
   ```

1. Erstellen Sie ein neues Oracle Wallet.

   ```
   orapki wallet create -wallet "/u01/app/oracle/wallet" -pwd oracle123 -auto_login_local
   ```

1. Fügen Sie das Stammzertifikat dem Oracle Wallet hinzu.

   ```
   orapki wallet add -wallet "/u01/app/oracle/wallet" -pwd oracle123 -trusted_cert 
   -cert /u01/app/oracle/self_signed_cert/self-rootCA.pem
   ```

1. Listen Sie den Inhalt des Oracle Wallet auf. Die Liste sollte das Stammzertifikat enthalten. 

   ```
   orapki wallet display -wallet /u01/app/oracle/wallet -pwd oracle123
   ```

   Dies könnte beispielsweise wie folgt angezeigt werden.

   ```
   Requested Certificates:
   User Certificates:
   Trusted Certificates:
   Subject:        CN=aws,OU=DBeng,O= AmazonWebService,L=Sydney,ST=NSW,C=AU
   ```

1. Generieren Sie die CSR (Certificate Signing Request) mithilfe des ORAPKI-Dienstprogramms.

   ```
   orapki wallet add -wallet "/u01/app/oracle/wallet" -pwd oracle123 
   -dn "CN=aws" -keysize 2048 -sign_alg sha256
   ```

1. Führen Sie den folgenden Befehl aus.

   ```
   openssl pkcs12 -in /u01/app/oracle/wallet/ewallet.p12 -nodes -out /u01/app/oracle/wallet/nonoracle_wallet.pem
   ```

   Es wird eine Ausgabe ähnlich der folgenden erstellt.

   ```
   Enter Import Password:
   MAC verified OK
   Warning unsupported bag type: secretBag
   ```

1. Legen Sie "dms" als allgemeinen Namen fest.

   ```
   openssl req -new -key /u01/app/oracle/wallet/nonoracle_wallet.pem -out certdms.csr
   ```

   Verwenden Sie Eingabeparameter wie die folgenden:
   + `Country Name (2 letter code) [XX]`, z. B.: `AU`
   + `State or Province Name (full name) []`, z. B.: `NSW`
   + `Locality Name (e.g., city) [Default City]`, z. B.: `Sydney`
   + `Organization Name (e.g., company) [Default Company Ltd]`, z. B.: `AmazonWebService`
   + `Organizational Unit Name (e.g., section) []`, z. B.: `aws`
   + `Common Name (e.g., your name or your server's hostname) []`, z. B.: `aws`
   + `Email Address []`, z. B.: abcd.efgh@amazonwebservice.com

   Stellen Sie sicher, dass dies nicht mit Schritt 4 identisch ist. Dazu können Sie beispielsweise den Namen der Organisationseinheit in einen anderen Namen ändern, wie in der Abbildung gezeigt.

   Geben Sie die folgenden zusätzlichen Attribute ein, die zusammen mit Ihrer Zertifikatsanforderung gesendet werden sollen.
   + `A challenge password []`, z. B.: `oracle123`
   + `An optional company name []`, z. B.: `aws`

1. Rufen Sie die Zertifikatsignatur ab.

   ```
   openssl req -noout -text -in certdms.csr | grep -i signature
   ```

   Der Signaturschlüssel für diesen Beitrag lautet `sha256WithRSAEncryption`.

1. Führen Sie den folgenden Befehl aus, um die Zertifikatdatei (`.crt`) zu erstellen.

   ```
   openssl x509 -req -in certdms.csr -CA self-rootCA.pem -CAkey self-rootCA.key 
   -CAcreateserial -out certdms.crt -days 365 -sha256
   ```

   Es wird eine Ausgabe ähnlich der folgenden erstellt.

   ```
   Signature ok
   subject=/C=AU/ST=NSW/L=Sydney/O=awsweb/OU=DBeng/CN=aws
   Getting CA Private Key
   ```

1. Fügen Sie das Zertifikat dem Wallet hinzu.

   ```
   orapki wallet add -wallet /u01/app/oracle/wallet -pwd oracle123 -user_cert -cert certdms.crt
   ```

1. Sehen Sie sich das Wallet an. Es sollte zwei Einträge aufweisen. Siehe den folgenden Code.

   ```
   orapki wallet display -wallet /u01/app/oracle/wallet -pwd oracle123
   ```

1. Konfigurieren Sie die `sqlnet.ora`-Datei (`$ORACLE_HOME/network/admin/sqlnet.ora`).

   ```
   WALLET_LOCATION =
      (SOURCE =
        (METHOD = FILE)
        (METHOD_DATA =
          (DIRECTORY = /u01/app/oracle/wallet/)
        )
      ) 
   
   SQLNET.AUTHENTICATION_SERVICES = (NONE)
   SSL_VERSION = 1.0
   SSL_CLIENT_AUTHENTICATION = FALSE
   SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
   ```

1. Beenden Sie den Oracle Listener.

   ```
   lsnrctl stop
   ```

1. Fügen Sie Einträge für SSL in der `listener.ora`-Datei (`$ORACLE_HOME/network/admin/listener.ora`) hinzu.

   ```
   SSL_CLIENT_AUTHENTICATION = FALSE
   WALLET_LOCATION =
     (SOURCE =
       (METHOD = FILE)
       (METHOD_DATA =
         (DIRECTORY = /u01/app/oracle/wallet/)
       )
     )
   
   SID_LIST_LISTENER =
    (SID_LIST =
     (SID_DESC =
      (GLOBAL_DBNAME = SID)
      (ORACLE_HOME = ORACLE_HOME)
      (SID_NAME = SID)
     )
    )
   
   LISTENER =
     (DESCRIPTION_LIST =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522))
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
       )
     )
   ```

1. Konfigurieren Sie die `tnsnames.ora`-Datei (`$ORACLE_HOME/network/admin/tnsnames.ora`).

   ```
   <SID>=
   (DESCRIPTION=
           (ADDRESS_LIST = 
                   (ADDRESS=(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
           )
           (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = <SID>)
           )
   )
   
   <SID>_ssl=
   (DESCRIPTION=
           (ADDRESS_LIST = 
                   (ADDRESS=(PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522))
           )
           (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = <SID>)
           )
   )
   ```

1. Starten Sie den Oracle Listener neu.

   ```
   lsnrctl start
   ```

1. Zeigen Sie den Status des Oracle Listener an.

   ```
   lsnrctl status
   ```

1. Testen Sie die SSL-Verbindung zu der Datenbank von "localhost" mithilfe von sqlplus und dem SSL-Eintrag "tnsnames".

   ```
   sqlplus -L ORACLE_USER@SID_ssl
   ```

1. Überprüfen Sie, dass Sie sich erfolgreich mithilfe von SSL verbunden haben.

   ```
   SELECT SYS_CONTEXT('USERENV', 'network_protocol') FROM DUAL;
   
   SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')
   --------------------------------------------------------------------------------
   tcps
   ```

1. Wechseln Sie zu dem Verzeichnis mit dem selbstsignierten Zertifikat.

   ```
   cd /u01/app/oracle/self_signed_cert
   ```

1. Erstellen Sie ein neues Client-Oracle-Wallet AWS DMS , das Sie verwenden können.

   ```
   orapki wallet create -wallet ./ -auto_login_only
   ```

1. Fügen Sie das selbstsignierte Stammzertifikat dem Oracle Wallet hinzu.

   ```
   orapki wallet add -wallet ./ -trusted_cert -cert self-rootCA.pem -auto_login_only
   ```

1. Listet den Inhalt des AWS DMS zu verwendenden Oracle-Wallets auf. Die Liste sollte das selbstsignierte Stammzertifikat enthalten.

   ```
   orapki wallet display -wallet ./
   ```

   Es wird eine Ausgabe ähnlich der folgenden erstellt.

   ```
   Trusted Certificates:
   Subject:        CN=aws,OU=DBeng,O=AmazonWebService,L=Sydney,ST=NSW,C=AU
   ```

1. Laden Sie das Oracle-Wallet hoch, das Sie gerade erstellt haben AWS DMS.

## Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Encryption"></a>

In der folgenden Tabelle finden Sie die Methoden zur transparenten Datenverschlüsselung (TDE), die bei der Arbeit mit einer Oracle-Quelldatenbank AWS DMS unterstützt werden. 


| Zugriffsmethode für Wiederholungsprotokolle | TDE-Tabellenraum | TDE-Spalte | 
| --- | --- | --- | 
| Oracle LogMiner | Ja | Ja | 
| Binary Reader | Ja | Ja | 

AWS DMS unterstützt Oracle TDE, wenn Binary Reader verwendet wird, sowohl auf Spalten- als auch auf Tablespace-Ebene. Um die TDE-Verschlüsselung mit zu verwenden AWS DMS, identifizieren Sie zunächst den Oracle-Wallet-Speicherort, an dem der TDE-Verschlüsselungsschlüssel und das TDE-Passwort gespeichert sind. Identifizieren Sie dann den richtigen TDE-Verschlüsselungsschlüssel und das richtige Passwort für den Oracle-Quellendpunkt.

**So identifizieren Sie den Verschlüsselungsschlüssel und das Passwort für die TDE-Verschlüsselung und geben diese an**

1. Führen Sie die folgende Abfrage aus, um das Oracle-Verschlüsselungs-Wallet auf dem Oracle-Datenbank-Host zu ermitteln.

   ```
   SQL> SELECT WRL_PARAMETER FROM V$ENCRYPTION_WALLET;
   
   WRL_PARAMETER
   --------------------------------------------------------------------------------
   /u01/oracle/product/12.2.0/dbhome_1/data/wallet/
   ```

   Hier ist `/u01/oracle/product/12.2.0/dbhome_1/data/wallet/` der Wallet-Speicherort.

1. Rufen Sie die Masterschlüssel-ID für eine Nicht-CDB- oder eine CDB-Quelle wie folgt ab:

   1. Führen Sie für eine Nicht-CDB-Quelle die folgende Abfrage aus, um die Master-Verschlüsselungsschlüssel-ID abzurufen:

      ```
      SQL>  select rownum, key_id, activation_time from v$encryption_keys;
      
      ROWNUM KEY_ID                                                 ACTIVATION_TIME
      ------ ------------------------------------------------------ ---------------
           1 AeKask0XZU+NvysflCYBEVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   04-SEP-24 10.20.56.605200 PM +00:00
           2 AV7WU9uhoU8rv8daE/HNnSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   10-AUG-21 07.52.03.966362 PM +00:00
           3 AckpoJ/f+k8xvzJ+gSuoVH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA   14-SEP-20 09.26.29.048870 PM +00:00
      ```

      Die Aktivierungszeit ist nützlich, wenn Sie CDC zu einem früheren Zeitpunkt starten möchten. Wenn Sie die obigen Ergebnisse verwenden, können Sie CDC beispielsweise zwischen dem 10. und 21. August, 19:52.03 Uhr und dem 14.09.-20 21:26.29 Uhr mit der Master-Key-ID in ROWNUM 2 starten. Wenn die Aufgabe die am oder nach dem 14. September bis 09.26.29 Uhr generierte Redo erreicht, schlägt sie fehl. Sie müssen den Quellendpunkt ändern, die Masterschlüssel-ID in ROWNUM 3 angeben und dann die Aufgabe fortsetzen.

   1. Für die CDB-Quelle benötigt DMS den CDB\$1ROOT Master-Verschlüsselungsschlüssel. Connect zu CDB\$1ROOT her und führen Sie die folgende Abfrage aus:

      ```
      SQL> select rownum, key_id, activation_time from v$encryption_keys where con_id = 1;
      
      ROWNUM KEY_ID                                               ACTIVATION_TIME
      ------ ---------------------------------------------------- -----------------------------------
           1 Aa2E/Vwb5U+zv5hCncS5ErMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 29-AUG-24 12.51.19.699060 AM +00:00
      ```

1. Listen Sie über die Befehlszeile die Einträge des Verschlüsselungs-Wallets auf dem Oracle-Quelldatenbank-Host auf.

   ```
   $ mkstore -wrl /u01/oracle/product/12.2.0/dbhome_1/data/wallet/ -list
   Oracle Secret Store entries:
   ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ORACLE.SECURITY.DB.ENCRYPTION.AY1mRA8OXU9Qvzo3idU4OH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
   ORACLE.SECURITY.ID.ENCRYPTION.
   ORACLE.SECURITY.KB.ENCRYPTION.
   ORACLE.SECURITY.KM.ENCRYPTION.AY1mRA8OXU9Qvzo3idU4OH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ```

   Suchen Sie den Eintrag, der die Masterschlüssel-ID enthält, die Sie in Schritt 2 (`AWGDC9glSk8Xv+3bVveiVSg`) ermittelt haben. Dieser Eintrag ist der Name des TDE-Verschlüsselungsschlüssels.

1. Sehen Sie sich die Details des Eintrags an, den Sie im vorherigen Schritt ermittelt haben.

   ```
   $ mkstore -wrl /u01/oracle/product/12.2.0/dbhome_1/data/wallet/ -viewEntry ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   Oracle Secret Store Tool : Version 12.2.0.1.0
   Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
   Enter wallet password:
   ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==
   ```

   Geben Sie das Wallet-Passwort ein, um das Ergebnis anzuzeigen.

   Hier ist der Wert rechts von `'='` das TDE-Passwort.

1. Geben Sie den Namen des TDE-Verschlüsselungsschlüssels für den Oracle-Quellendpunkt an, indem Sie das zusätzliche Verbindungsattribut `securityDbEncryptionName` festlegen.

   ```
   securityDbEncryptionName=ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
   ```

1. Geben Sie das zugehörige TDE-Passwort für diesen Schlüssel in der Konsole als Teil des **Passwort**-Werts der Oracle-Quelle ein. Verwenden Sie die folgende Reihenfolge, um die durch Kommata getrennten Passwortwerte zu formatieren, endend mit dem Wert des TDE-Passworts.

   ```
   Oracle_db_password,ASM_Password,AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==
   ```

   Geben Sie die Passwortwerte in dieser Reihenfolge an, unabhängig von Ihrer Oracle-Datenbankkonfiguration. Wenn Sie beispielsweise TDE verwenden, Ihre Oracle-Datenbank jedoch nicht ASM verwendet, geben Sie die Passwortwerte in der folgenden Reihenfolge an, durch Kommata getrennt.

   ```
   Oracle_db_password,,AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==
   ```

Wenn die von Ihnen angegebenen TDE-Anmeldeinformationen falsch sind, schlägt die AWS DMS Migrationsaufgabe nicht fehl. Die Aufgabe liest jedoch auch keine laufenden Replikationsänderungen und wendet sie auch nicht auf die Zieldatenbank an. Überwachen Sie nach dem Start der Aufgabe die **Tabellenstatistik** auf der Konsolenseite zur Migrationsaufgabe, um sicherzustellen, dass die Änderungen repliziert werden.

Wenn ein DBA die TDE-Anmeldeinformationen für die Oracle-Datenbank ändert, während die Aufgabe ausgeführt wird, schlägt die Aufgabe fehl. Die Fehlermeldung enthält den Namen des neuen TDE-Verschlüsselungsschlüssels. Gehen Sie wie oben beschrieben vor, um neue Werte anzugeben und die Aufgabe neu zu starten.

**Wichtig**  
Sie können ein TDE-Wallet, das an einem Oracle Automatic Storage Management (ASM)-Speicherort erstellt wurde, nicht bearbeiten, da Befehle auf Betriebssystemebene wie `cp`, `mv`, `orapki` und `mkstore` die in einem ASM-Speicherort gespeicherten Wallet-Dateien beschädigen. Diese Einschränkung gilt nur für TDE-Wallet-Dateien, die an einem ASM-Speicherort gespeichert sind. Sie gilt nicht für TDE-Wallet-Dateien, die in einem lokalen Betriebssystemverzeichnis gespeichert sind.  
Wenn Sie ein in ASM gespeichertes TDE-Wallet mit Befehlen auf Betriebssystemebene bearbeiten möchten, erstellen Sie einen lokalen Keystore und führen Sie den ASM-Keystore wie folgt mit dem lokalen Keystore zusammen:   
Erstellen Sie einen lokalen Keystore.  

   ```
   ADMINISTER KEY MANAGEMENT create keystore file system wallet location identified by wallet password;
   ```
Führen Sie den ASM-Keystore mit dem lokalen Keystore zusammen.  

   ```
   ADMINISTER KEY MANAGEMENT merge keystore ASM wallet location identified by wallet password into existing keystore file system wallet location identified by wallet password with backup;
   ```
Führen Sie dann die Schritte 3 und 4 für den lokalen Keystore aus, um die Einträge des Verschlüsselungs-Wallets und das TDE-Passwort aufzulisten.

## Unterstützte Komprimierungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.Compression"></a>

In der folgenden Tabelle finden Sie, welche Komprimierungsmethoden bei der Arbeit mit einer Oracle-Quelldatenbank AWS DMS unterstützt werden. Wie die Tabelle zeigt, hängt die Komprimierungsunterstützung sowohl von Ihrer Oracle-Datenbankversion als auch davon ab, ob DMS so konfiguriert ist, dass Oracle für den LogMiner Zugriff auf die Redo-Logs verwendet wird.


| Version | Basic | OLTP |  HCC (von Oracle 11g R2 oder neuer)  | Weitere | 
| --- | --- | --- | --- | --- | 
| Oracle 10 | Nein | – | – | Nein | 
| Oracle 11 oder neuer — Oracle LogMiner | Ja | Ja | Ja  | Ja — Jede von Oracle unterstützte Komprimierungsmethode LogMiner. | 
| Oracle 11 oder neuer – Binary Reader | Ja | Ja | Ja – weitere Informationen finden Sie im folgenden Hinweis. | Ja | 

**Anmerkung**  
Wenn der Oracle-Quellendpunkt für die Verwendung von Binary Reader konfiguriert ist, wird die Query Low-Ebene der HCC-Komprimierungsmethode nur für Aufgaben mit Volllast unterstützt.

## Replizieren verschachtelter Tabellen mit Oracle als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.NestedTables"></a>

AWS DMS unterstützt die Replikation von Oracle-Tabellen, die Spalten enthalten, bei denen es sich um verschachtelte Tabellen oder definierte Typen handelt. Fügen Sie dem Oracle-Quellendpunkt die folgende zusätzliche Verbindungsattributeinstellung hinzu, um diese Funktion zu aktivieren.

```
allowSelectNestedTables=true;
```

AWS DMS erstellt die Zieltabellen aus verschachtelten Oracle-Tabellen als reguläre über- und untergeordnete Tabellen auf dem Ziel ohne eindeutige Einschränkung. Um auf die richtigen Daten für das Ziel zuzugreifen, verbinden Sie die übergeordneten und untergeordneten Tabellen. Erstellen Sie dazu zunächst manuell einen nicht eindeutigen Index für die `NESTED_TABLE_ID`-Spalte in der untergeordneten Zieltabelle. Sie können dann die `NESTED_TABLE_ID`-Spalte in der Join `ON`-Klausel zusammen mit der übergeordneten Spalte verwenden, die dem Namen der untergeordneten Tabelle entspricht. Darüber hinaus verbessert die Erstellung eines solchen Indexes die Leistung, wenn die Daten der untergeordneten Zieltabelle aktualisiert oder gelöscht werden AWS DMS. Ein Beispiel finden Sie unter [Beispiel-Join für übergeordnete und untergeordnete Tabellen auf dem Ziel](#CHAP_Source.Oracle.NestedTables.JoinExample).

Es wird empfohlen, die Aufgabe so zu konfigurieren, dass sie beendet wird, nachdem eine vollständige Ladung abgeschlossen ist. Erstellen Sie dann diese nicht eindeutigen Indizes für alle replizierten untergeordneten Tabellen auf dem Ziel, und setzen Sie die Aufgabe fort.

Wenn eine erfasste verschachtelte Tabelle zu einer vorhandenen übergeordneten Tabelle hinzugefügt wird (erfasst oder nicht erfasst), wird sie korrekt AWS DMS behandelt. Der nicht eindeutige Index für die entsprechende Zieltabelle wird jedoch nicht erstellt. In diesem Fall kann die Leistung beeinträchtigt werden, wenn die untergeordnete Zieltabelle extrem groß wird. In einem solchen Fall empfehlen wir, die Aufgabe anzuhalten, den Index zu erstellen und dann die Aufgabe fortzusetzen.

Nachdem die verschachtelten Tabellen auf das Ziel repliziert wurden, muss der DBA einen Join für die übergeordneten und die entsprechenden untergeordneten Tabellen ausführen, um die Daten zu glätten.

### Voraussetzungen für die Replikation von verschachtelten Oracle-Tabellen als Quelle
<a name="CHAP_Source.Oracle.NestedTables.Prerequisites"></a>

Stellen Sie sicher, dass Sie die übergeordneten Tabellen für alle replizierten verschachtelten Tabellen replizieren. Schließen Sie sowohl die übergeordneten Tabellen (die Tabellen, die die geschachtelte Tabellenspalte enthalten) als auch die untergeordneten (d. h. verschachtelten) Tabellen in die AWS DMS Tabellenzuordnungen ein.

### Unterstützte verschachtelte Oracle-Tabellentypen als Quelle
<a name="CHAP_Source.Oracle.NestedTables.Types"></a>

AWS DMS unterstützt die folgenden verschachtelten Oracle-Tabellentypen als Quelle:
+ Datentyp
+ Benutzerdefiniertes Objekt

### Einschränkungen der AWS DMS Unterstützung für verschachtelte Oracle-Tabellen als Quelle
<a name="CHAP_Source.Oracle.NestedTables.Limitations"></a>

AWS DMS hat die folgenden Einschränkungen bei der Unterstützung von verschachtelten Oracle-Tabellen als Quelle:
+ AWS DMS unterstützt nur eine Ebene der Tabellenverschachtelung.
+ AWS DMS Bei der Tabellenzuordnung wird nicht überprüft, ob sowohl die übergeordnete als auch die untergeordnete (n) Tabelle (n) für die Replikation ausgewählt wurden. Dies bedeutet, dass es möglich ist, eine übergeordnete Tabelle ohne untergeordnete Tabelle oder eine untergeordnete Tabelle ohne übergeordnete Tabelle auszuwählen.

### Wie AWS DMS repliziert verschachtelte Oracle-Tabellen als Quelle
<a name="CHAP_Source.Oracle.NestedTables.HowReplicated"></a>

AWS DMS repliziert übergeordnete und verschachtelte Tabellen wie folgt auf das Ziel:
+ AWS DMS erstellt die Elterntabelle, die mit der Quelltabelle identisch ist. Anschließend definiert es die verschachtelte Spalte im übergeordneten Element als `RAW(16)` und schließt eine Referenz zu den verschachtelten Tabellen des übergeordneten Elements in seiner `NESTED_TABLE_ID`-Spalte ein.
+ AWS DMS erstellt die untergeordnete Tabelle, die mit der verschachtelten Quelle identisch ist, jedoch mit einer zusätzlichen Spalte namens`NESTED_TABLE_ID`. Diese Spalte hat denselben Typ und denselben Wert wie die entsprechende übergeordnete verschachtelte Spalte und auch dieselbe Bedeutung.

### Beispiel-Join für übergeordnete und untergeordnete Tabellen auf dem Ziel
<a name="CHAP_Source.Oracle.NestedTables.JoinExample"></a>

Um die übergeordnete Tabelle zu glätten, führen Sie einen Join zwischen der übergeordneten und der untergeordneten Tabelle aus, wie im folgenden Beispiel gezeigt:

1. Erstellen Sie die `Type`-Tabelle.

   ```
   CREATE OR REPLACE TYPE NESTED_TEST_T AS TABLE OF VARCHAR(50);
   ```

1. Erstellen Sie die übergeordnete Tabelle mit einer Spalte des Typs `NESTED_TEST_T`, wie oben definiert.

   ```
   CREATE TABLE NESTED_PARENT_TEST (ID NUMBER(10,0) PRIMARY KEY, NAME NESTED_TEST_T) NESTED TABLE NAME STORE AS NAME_KEY;
   ```

1. Glätten Sie die Tabelle `NESTED_PARENT_TEST` mit einem Join mit der untergeordneten Tabelle `NAME_KEY`, wobei `CHILD.NESTED_TABLE_ID` mit `PARENT.NAME` übereinstimmt.

   ```
   SELECT … FROM NESTED_PARENT_TEST PARENT, NAME_KEY CHILD WHERE CHILD.NESTED_
   TABLE_ID = PARENT.NAME;
   ```

## REDO wird auf Oracle ASM gespeichert, wenn Oracle als Quelle für verwendet wird AWS DMS
<a name="CHAP_Source.Oracle.REDOonASM"></a>

Bei Oracle-Quellen mit hoher REDO-Generierung kann das Speichern von REDO in Oracle ASM die Leistung verbessern. Dies gilt insbesondere in einer RAC-Konfiguration, da Sie DMS so konfigurieren können, dass ASM-REDO-Lesevorgänge auf alle ASM-Knoten verteilt werden.

Verwenden Sie das Verbindungsattribut `asmServer`, um diese Konfiguration zu verwenden. Die folgende Verbindungszeichenfolge verteilt beispielsweise DMS-REDO-Lesevorgänge auf 3 ASM-Knoten:

```
asmServer=(DESCRIPTION=(CONNECT_TIMEOUT=8)(ENABLE=BROKEN)(LOAD_BALANCE=ON)(FAILOVER=ON)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=asm_node1_ip_address)(PORT=asm_node1_port_number))
(ADDRESS=(PROTOCOL=tcp)(HOST=asm_node2_ip_address)(PORT=asm_node2_port_number))
(ADDRESS=(PROTOCOL=tcp)(HOST=asm_node3_ip_address)(PORT=asm_node3_port_number)))
(CONNECT_DATA=(SERVICE_NAME=+ASM)))
```

Wenn Sie NFS zum Speichern von Oracle REDO verwenden, müssen Sie sicherstellen, dass die entsprechenden Client-Patches für DNFS (Direct NFS) installiert sind – insbesondere alle Patches für den Oracle-Fehler 25224242. Weitere Informationen finden Sie in der folgenden Oracle-Veröffentlichung zu Patches im Zusammenhang mit dem Client Direct NFS: [Recommended Patches for Direct NFS Client](https://support.oracle.com/knowledge/Oracle Cloud/1495104_1.html). 

Zum Verbessern der NFS-Leseleistung empfehlen wir außerdem, den Wert `rsize` und `wsize` in `fstab` für das NFS-Volume zu erhöhen, wie im folgenden Beispiel gezeigt.

```
NAS_name_here:/ora_DATA1_archive /u09/oradata/DATA1 nfs rw,bg,hard,nointr,tcp,nfsvers=3,_netdev,
timeo=600,rsize=262144,wsize=262144
```

Passen Sie den Wert `tcp-max-xfer-size` außerdem wie folgt an:

```
vserver nfs modify -vserver vserver -tcp-max-xfer-size 262144
```

## Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS
<a name="CHAP_Source.Oracle.ConnectionAttrib"></a>

Sie können Endpunkteinstellungen, ähnlich wie zusätzliche Verbindungsattribute, zum Konfigurieren Ihrer Oracle-Quelldatenbank verwenden. Sie geben die Einstellungen an, wenn Sie den Quellendpunkt mithilfe der AWS DMS Konsole oder mithilfe des `create-endpoint` Befehls in [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html), mit der `--oracle-settings '{"EndpointSetting": "value", ...}'` JSON-Syntax erstellen.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Oracle als Quelle verwenden können.


| Name | Description | 
| --- | --- | 
| AccessAlternateDirectly |  Legen Sie dieses Attribut auf false fest, um mit Binary Reader Änderungsdaten für Amazon RDS für Oracle als Quelle zu erfassen. Dies weist die DMS-Instance an, dass sie nicht über einen bestimmten Pfadpräfix-Ersatz mittels direktem Dateizugriff auf Redo-Log-Dateien zugreifen darf. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC). Standardwert: aktiviert  Zulässige Werte: true/false Beispiel: `--oracle-settings '{"AccessAlternateDirectly": false}'`  | 
|  `AdditionalArchivedLogDestId`  |  Legen Sie dieses Attribut mit `ArchivedLogDestId` in einer primären/Standby-Einrichtung fest. Diese Einstellung ist bei einer Umstellung nützlich, wenn eine Datenbank in Oracle Data Guard als Quelle verwendet wird. In diesem Fall AWS DMS muss es wissen, von welchem Ziel die Archiv-Redo-Logs abgerufen werden sollen, um Änderungen zu lesen. Dies liegt daran, dass die vorherige primäre Instance nach der Umstellung eine Standby-Instance ist.  AWS DMS Unterstützt zwar die Verwendung der `RESETLOGS` Oracle-Option zum Öffnen der Datenbank, sollte aber `RESETLOGS` nur verwendet werden, wenn dies erforderlich ist. Weitere Informationen zu `RESETLOGS` finden Sie unter [RMAN Data Repair Concepts](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) im *Benutzerhandbuch für Oracle® Database Backup and Recovery*. Zulässige Werte: Archivierungsziel-IDs Beispiel: `--oracle-settings '{"AdditionalArchivedLogDestId": 2}'`  | 
|  `AddSupplementalLogging`  |  Konfigurieren Sie dieses Attribut so, dass für die Oracle-Datenbank die zusätzliche Protokollierung auf Tabellenebene eingerichtet wird. Dieses Attribut aktiviert je nach Tabellenmetadaten eine der folgenden Optionen für alle Tabellen, die für eine Migrationsaufgabe ausgewählt wurden: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Source.Oracle.html) Standardwert: false  Gültige Werte: true/false  Beispiel: `--oracle-settings '{"AddSupplementalLogging": false}'`  Wenn Sie diese Option verwenden, müssen Sie dennoch die zusätzliche Protokollierung auf Datenbankebene wie zuvor erläutert aktivieren.    | 
|  `AllowSelectNestedTables`  |  Setzen Sie dieses Attribut auf „true“, um die Replikation von Oracle-Tabellen zu aktivieren, die Spalten enthalten, die verschachtelte Tabellen oder definierte Typen sind. Weitere Informationen finden Sie unter [Replizieren verschachtelter Tabellen mit Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.NestedTables). Standardwert: false  Zulässige Werte: true/false Beispiel: `--oracle-settings '{"AllowSelectNestedTables": true}'`  | 
|  `ArchivedLogDestId`  |  Gibt die ID für die archivierten Redo-Protokolle an. Dieser Wert sollte mit einer Zahl in der Spalte dest\$1id der Ansicht „v\$1archived\$1log“ identisch sein. Wenn Sie mit einem zusätzlichen Redo-Protokollziel arbeiten, empfehlen wir, das Attribut `AdditionalArchivedLogDestId` zum Angeben der zusätzlichen Ziel-ID zu verwenden. Dadurch verbessert sich die Performance, indem sichergestellt wird, dass von Anfang an auf die richtigen Protokolle zugegriffen wird.  Standardwert: 1 Zulässige Werte: Zahl  Beispiel: `--oracle-settings '{"ArchivedLogDestId": 1}'`  | 
|  `ArchivedLogsOnly`  |  Wenn dieses Feld auf Y gesetzt ist, wird AWS DMS nur auf die archivierten Redo-Logs zugegriffen. Wenn die archivierten Redo-Logs nur in Oracle ASM gespeichert werden, müssen dem AWS DMS Benutzerkonto ASM-Rechte gewährt werden.  Standardwert: N  Gültige Werte: Y/N  Beispiel: `--oracle-settings '{"ArchivedLogsOnly": Y}'`  | 
|  `asmUsePLSQLArray` (nur ECA)  |  Verwenden Sie dieses zusätzliche Verbindungsattribut (ECA), wenn Sie Quelländerungen mit erfassen BinaryReader. Mit dieser Einstellung kann DMS 50 Lesevorgänge auf ASM-Ebene pro einzelnem Lese-Thread puffern und gleichzeitig die Anzahl der Threads mit dem Attribut `parallelASMReadThreads` kontrollieren. Wenn Sie dieses Attribut festlegen, verwendet der AWS DMS Binärleser einen anonymen PL/SQL Block, um Redo-Daten zu erfassen und sie als großen Puffer an die Replikationsinstanz zurückzusenden. Dadurch wird die Anzahl der Round-Trips zur Quelle reduziert. Dies kann die Leistung bei der Erfassung an der Quelle erheblich verbessern, führt jedoch zu einem höheren PGA-Speicherverbrauch auf der ASM-Instance. Wenn das Speicherziel nicht ausreicht, können Stabilitätsprobleme auftreten. Sie können die folgende Formel verwenden, um den gesamten PGA-Speicherverbrauch der ASM-Instance durch eine einzelne DMS-Aufgabe zu schätzen: `number_of_redo_threads * parallelASMReadThreads * 7 MB` Standardwert: false Zulässige Werte: true/false ECA-Beispiel: `asmUsePLSQLArray=true;`  | 
|  `ConvertTimestampWithZoneToUTC`  |  Legen Sie dieses Attribut auf `true` fest, um den Zeitstempelwert der Spalten „TIMESTAMP WITH TIME ZONE“ und „TIMESTAMP WITH LOCAL TIME ZONE“ in UTC zu konvertieren. Standardmäßig ist der Wert dieses Attributs „false“ und die Daten werden unter Verwendung der Zeitzone der Quelldatenbank repliziert. Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"ConvertTimestampWithZoneToUTC": true}'`  | 
|  `EnableHomogenousPartitionOps`  |  Legen Sie dieses Attribut auf `true` fest, um die Replikation von Oracle-Partition- und -SubPartition-DDL-Operationen für die *homogene* Oracle-Migration zu aktivieren. Beachten Sie, dass diese Funktion und Erweiterung in AWS DMS Version 3.4.7 eingeführt wurden. Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"EnableHomogenousPartitionOps": true}'`  | 
|  `EnableHomogenousTablespace`  |  Setzen Sie dieses Attribut, um die homogene Tablespace-Replikation zu aktivieren und vorhandene Tabellen oder Indizes unter demselben Tablespace auf dem Ziel zu erstellen. Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"EnableHomogenousTablespace": true}'`  | 
|  `EscapeCharacter`  |  Legen Sie dieses Attribut auf ein Escape-Zeichen fest. Mit diesem Escape-Zeichen können Sie festlegen, dass sich ein einzelnes Platzhalterzeichen in Tabellenzuordnungsausdrücken wie ein normales Zeichen verhält. Weitere Informationen finden Sie unter [Platzhalter bei der Tabellenzuordnung](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Wildcards.md). Standardwert: Null  Gültige Werte: alle Zeichen außer Platzhalterzeichen Beispiel: `--oracle-settings '{"EscapeCharacter": "#"}'` Sie können nur `escapeCharacter` für Tabellennamen verwenden. Es werden keine Zeichen aus Schemanamen oder Spaltennamen maskiert.  | 
|  `ExposeViews`  |  Verwenden Sie dieses Attribut, um Daten einmal aus einer Ansicht abrufen; Sie können sie nicht für die laufende Replikation verwenden. Wenn Sie Daten aus einer Ansicht extrahieren, wird die Ansicht im Zielschema als Tabelle angezeigt. Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"ExposeViews": true}'`  | 
|  `ExtraArchivedLogDestIds`  |  Gibt ein oder mehrere Ziele für ein oder mehrere archivierte Redo-Logs an. IDs Dies IDs sind die Werte der Spalte dest\$1id in der Ansicht v\$1archived\$1log. Verwenden Sie diese Einstellung mit dem ArchivedLogDestId zusätzlichen Verbindungsattribut in einem Setup oder einem Setup. primary-to-single primary-to-multiple-standby Diese Einstellung ist bei einem Switchover nützlich, wenn Sie eine Oracle-Data-Guard-Datenbank als Quelle verwenden. Benötigt in diesem Fall Informationen darüber, AWS DMS von welchem Ziel Archiv-Redo-Logs abgerufen werden sollen, um Änderungen zu lesen. AWS DMS benötigt dies, da die vorherige Primärinstanz nach dem Switchover eine Standby-Instanz ist. Zulässige Werte: Archivierungsziel-IDs Beispiel: `--oracle-settings '{"ExtraArchivedLogDestIds": 1}'`  | 
|  `FailTasksOnLobTruncation`  |  Mit der Einstellung `true` schlägt eine Aufgabe durch dieses Attribut fehl, wenn die tatsächliche Größe einer LOB-Spalte größer als der angegebene `LobMaxSize`-Wert ist. Wenn die Aufgabe auf den eingeschränkten LOB-Modus festgelegt ist und diese Option auf `true` festgelegt wurde, schlägt die Aufgabe fehl, anstatt LOB-Daten zu kürzen. Standardwert: false  Zulässige Werte: Boolesch  Beispiel: `--oracle-settings '{"FailTasksOnLobTruncation": true}'`  | 
|  `filterTransactionsOfUser` (nur ECA)  |  Verwenden Sie dieses zusätzliche Verbindungsattribut (ECA), damit DMS Transaktionen eines bestimmten Benutzers ignorieren kann, wenn Daten aus Oracle repliziert werden, wenn Sie LogMiner Sie können durch Kommata getrennte Benutzernamenwerte übergeben, diese müssen jedoch ausschließlich in GROSSBUCHSTABEN geschrieben sein. ECA-Beispiel: `filterTransactionsOfUser=USERNAME;`  | 
|  `NumberDataTypeScale`  |  Gibt den Skalierwert an. Sie können eine Skalierung von bis zu 38, -1 für FLOAT oder -2 für VARCHAR auswählen. Standardmäßig wird der Datentyp NUMBER in Präzision = 38 und Skalierung = 10 konvertiert. Standardwert: 10  Zulässige Werte: -2 bis 38 (-2 für VARCHAR, -1 für FLOAT) Beispiel: `--oracle-settings '{"NumberDataTypeScale": 12}'`  Wählen Sie eine Kombination aus Präzision und Skalierung, -1 (FLOAT) oder -2 (VARCHAR) aus. DMS unterstützt jede von Oracle unterstützte Kombination aus Präzision und Skalierung. Wählen Sie bei einer Präzision von 39 oder höher -2 (VARCHAR) aus. Die NumberDataTypeScale Einstellung für die Oracle-Datenbank wird nur für den NUMBER-Datentyp verwendet (ohne die explizite Präzisions- und Skalendefinition). Sie müssen beachten, dass es zu Genauigkeitsverlusten kommen kann, wenn diese Einstellung falsch konfiguriert ist.   | 
|  `OpenTransactionWindow`  |   Gibt den Zeitrahmen in Minuten an, in dem nach offenen Transaktionen für reine CDC-Aufgaben gesucht wird. Wenn Sie den Wert `OpenTransactionWindow` auf 1 oder höher einstellen, `SCN_TO_TIMESTAMP` konvertiert DMS SCN-Werte in Zeitstempelwerte. Aufgrund der Einschränkungen von Oracle Database schlägt SCN\$1TO\$1TIMESTAMP mit einem Fehler fehl, wenn Sie eine SCN angeben, die zu alt ist, als CDC-Startpunkt, und Sie können keine reinen CDC-Aufgaben starten. `ORA-08181` Standardwert: 0  Gültige Werte: eine Ganzzahl von 0 bis 240 Beispiel: `openTransactionWindow=15;`  | 
| OraclePathPrefix | Legen Sie dieses Zeichenfolge-Attribut auf den erforderlichen Wert fest, um mit dem Binary Reader Änderungsdaten für ein Amazon RDS für Oracle als Quelle zu erfassen. Dieser Wert gibt das Standard-Oracle-Root an, das für den Zugriff auf die Redo-Log-Dateien verwendet wird. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC).Standardwert: keiner rdsdbdata/db/ORCLGültiger Wert:/\$1A/ Beispiel: `--oracle-settings '{"OraclePathPrefix": "/rdsdbdata/db/ORCL_A/"}'`  | 
| ParallelASMReadThreads |  Legen Sie dieses Attribut fest, um die Anzahl der Threads zu ändern, die DMS konfiguriert, um CDC mit Oracle Automatic Storage Management (ASM) durchzuführen. Sie können einen Ganzzahlwert zwischen 2 (Standard) und 8 (maximal) angeben. Verwenden Sie dieses Attribut zusammen mit dem `ReadAheadBlocks`-Attribut. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC). Standardwert: 2  Gültige Werte: Eine Ganzzahl von 2 bis 8 Beispiel: `--oracle-settings '{"ParallelASMReadThreads": 6;}'`  | 
| ReadAheadBlocks |  Legen Sie dieses Attribut fest, um die Anzahl der Read-Ahead-Blöcke zu ändern, die DMS konfiguriert, um CDC mit Oracle Automatic Storage Management (ASM) und NAS-Speicher ohne ASM durchzuführen. Sie können einen Ganzzahlwert zwischen 1000 (Standard) und 2.000.000 (Maximum) angeben. Verwenden Sie dieses Attribut zusammen mit dem `ParallelASMReadThreads`-Attribut. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC). Standardwert: 1000  Gültige Werte: Eine Ganzzahl zwischen 1000 und 2.000.000 Beispiel: `--oracle-settings '{"ReadAheadBlocks": 150000}'`  | 
|  `ReadTableSpaceName`  |  Bei der Einstellung `true` unterstützt dieses Attribut eine Replikation der Tabellenräume. Standardwert: false  Zulässige Werte: Boolesch  Beispiel: `--oracle-settings '{"ReadTableSpaceName": true}'`  | 
| ReplacePathPrefix | Legen Sie dieses Attribut auf True fest, um mit dem Binary Reader Änderungsdaten für ein Amazon RDS für Oracle als Quelle zu erfassen. Diese Einstellung weist die DMS-Instance an, das Standard Oracle-Root durch die angegebene UsePathPrefix-Einstellung zu ersetzen, um auf die Redo-Log-Dateien zuzugreifen. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC).Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"ReplacePathPrefix": true}'`  | 
|  `RetryInterval`  |  Gibt die Anzahl der Sekunden an, die das System wartet, bevor eine Abfrage erneut gesendet wird.  Standardwert: 5  Zulässige Werte: Zahl ab 1  Beispiel: `--oracle-settings '{"RetryInterval": 6}'`  | 
|  `SecurityDbEncryptionName`  |  Gibt den Namen eines Schlüssels an, der für die transparente Datenverschlüsselung (TDE) der Spalten und des Tablespace in der Oracle-Quelldatenbank verwendet wird. Weitere Hinweise zum Einstellen dieses Attributs und des zugehörigen Passworts auf dem Oracle-Quellendpunkt finden Sie unter [Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.Encryption). Standardwert: ""  Zulässige Werte: String  Beispiel: `--oracle-settings '{"SecurityDbEncryptionName": "ORACLE.SECURITY.DB.ENCRYPTION.Adg8m2dhkU/0v/m5QUaaNJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}'`  | 
|  `SpatialSdo2GeoJsonFunctionName`  |  Verwenden Sie für die Migration von Oracle-Version 12.1 oder früheren Quellen zu PostgreSQL-Zielen dieses Attribut, um SDO\$1GEOMETRY zum GEOJSON-Format zu konvertieren.  AWS DMS Ruft standardmäßig die `SDO2GEOJSON` benutzerdefinierte Funktion auf, die vorhanden und für den AWS DMS Benutzer zugänglich sein muss. Order Sie können eine eigene benutzerdefinierte Funktion erstellen, die die Funktionsweise von `SDOGEOJSON` nachahmt, und stattdessen `SpatialSdo2GeoJsonFunctionName` zum Aufruf einrichten.  Standardwert: SDO2 GEOJSON Zulässige Werte: String  Beispiel: `--oracle-settings '{"SpatialSdo2GeoJsonFunctionName": "myCustomSDO2GEOJSONFunction"}'`  | 
|  `StandbyDelayTime`  |  Mit diesem Attribut wird eine Zeit in Minuten für die Verzögerung bei der Standby-Synchronisierung festgelegt. Wenn die Quelle eine Standby-Datenbank von Active Data Guard ist, verwenden Sie dieses Attribut, um die Zeitverzögerung zwischen Primär- und Standby-Datenbanken anzugeben. In AWS DMS können Sie eine Oracle CDC-Aufgabe erstellen, die eine Active Data Guard-Standby-Instanz als Quelle für die Replikation laufender Änderungen verwendet. Somit ist es nicht mehr notwendig, eine Verbindung mit einer aktiven Datenbank herzustellen, die sich möglicherweise in der Produktion befindet. Standardwert: 0  Zulässige Werte: Zahl  Beispiel: `--oracle-settings '{"StandbyDelayTime": 1}'` **Hinweis: **Bei Verwendung von DMS 3.4.6, 3.4.7 und höher ist die Verwendung dieser Verbindungseinstellung optional. In der neuesten Version von DMS 3.4.6 und Version 3.4.7 sollte `dms_user` über die Berechtigung `select` für `V_$DATAGUARD_STATS` verfügen, damit DMS die Standby-Verzögerungszeit berechnen kann.  | 
| UseAlternateFolderForOnline | Legen Sie dieses Attribut auf True fest, um mit dem Binary Reader Änderungsdaten für ein Amazon RDS für Oracle als Quelle zu erfassen. Dies weist die DMS-Instance an, einen angegebenen Präfix-Ersatz zu verwenden, um auf alle Online-Redo-Log-Dateien zuzugreifen. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC).Standardwert: false Zulässige Werte: true/false Beispiel: `--oracle-settings '{"UseAlternateFolderForOnline": true}'`  | 
| UseBfile |  Legen Sie für dieses Attribut "Y" fest, um Änderungen mit dem Dienstprogramm Binary Reader zu erfassen. Legen Sie `UseLogminerReader` auf N fest, um dieses Attribut auf Y festzulegen. Sie müssen zusätzliche Attribute festlegen, um Binary Reader mit Amazon RDS für Oracle als Quelle verwenden zu können. Weitere Informationen zu dieser Einstellung und der Verwendung von Oracle Automatic Storage Management (ASM) finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). Hinweis: Wenn Sie diesen Wert als zusätzliches Verbindungsattribut (ECA) festlegen, lauten die gültigen Werte „Y“ und „N“. Wenn Sie diesen Wert als Endpunkteinstellung festlegen, lauten die gültigen Werte `true` und `false`. Standardwert: N  Gültige Werte: Y/N (wenn dieser Wert als ECA festgelegt wird); true/false (wenn dieser Wert als Endpunkteinstellung festgelegt wird). Beispiel: `--oracle-settings '{"UseBfile": Y}'`  | 
|  `UseLogminerReader`  |  Setzen Sie dieses Attribut auf Y, um Änderungsdaten mit dem LogMiner Hilfsprogramm zu erfassen (Standardeinstellung). Legen Sie für diese Option „N“ fest, wenn Sie möchten, dass AWS DMS auf die Wiederholungsprotokolle als Binärdatei zugreift. Wenn Sie diese Option auf N festlegen, fügen Sie auch die Einstellung useBfile=Y hinzu. Weitere Informationen zu dieser Einstellung und zur Verwendung von Oracle Automatic Storage Management (ASM) finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](#CHAP_Source.Oracle.CDC). Hinweis: Wenn Sie diesen Wert als zusätzliches Verbindungsattribut (ECA) festlegen, lauten die gültigen Werte „Y“ und „N“. Wenn Sie diesen Wert als Endpunkteinstellung festlegen, lauten die gültigen Werte `true` und `false`. Standardwert: Y  Gültige Werte: Y/N (wenn dieser Wert als ECA festgelegt wird); true/false (wenn dieser Wert als Endpunkteinstellung festgelegt wird). Beispiel: `--oracle-settings '{"UseLogminerReader": Y}'`  | 
| UsePathPrefix | Legen Sie dieses Zeichenfolge-Attribut auf den erforderlichen Wert fest, um mit dem Binary Reader Änderungsdaten für ein Amazon RDS für Oracle als Quelle zu erfassen. Dieser Wert gibt das Pfadpräfix an, das verwendet wird, um das Standard-Oracle-Root für den Zugriff auf die Redo-Log-Dateien zu ersetzen. Weitere Informationen finden Sie unter [Konfiguration einer CDC-Aufgabe für die Verwendung von Binary Reader mit einer RDS for Oracle-Quelle für AWS DMS](#CHAP_Source.Oracle.Amazon-Managed.CDC).Standardwert: keiner Zulässiger Wert: /rdsdbdata/log/ Beispiel: `--oracle-settings '{"UsePathPrefix": "/rdsdbdata/log/"}'`  | 

## Quelldatentypen für Oracle
<a name="CHAP_Source.Oracle.DataTypes"></a>

Der Oracle-Endpunkt für AWS DMS unterstützt die meisten Oracle-Datentypen. Die folgende Tabelle zeigt die Oracle-Quelldatentypen, die bei der Verwendung unterstützt werden, AWS DMS und die Standardzuordnungen zu AWS DMS Datentypen.

**Anmerkung**  
Mit Ausnahme der Datentypen LONG und LONG RAW sind bei der Replikation von einer Oracle-Quelle auf ein Oracle-Ziel (*homogene Replikation*) alle Quell- und Zieldatentypen identisch. Der Datentyp LONG wird jedoch CLOB zugeordnet, der Datentyp LONG RAW wird BLOB zugeordnet. 

Weitere Informationen zum Anzeigen des Datentyps, der im Ziel zugewiesen ist, finden Sie im Abschnitt für den Zielendpunkt, den Sie verwenden.

Weitere Informationen zu AWS DMS Datentypen finden Sie unter[Datentypen für den AWS Database Migration Service](CHAP_Reference.DataTypes.md).


|  Oracle-Datentyp  |  AWS DMS Datentyp  | 
| --- | --- | 
|  BINARY\$1FLOAT  |  REAL4  | 
|  BINARY\$1DOUBLE  |  REAL8  | 
|  BINARY  |  BYTES  | 
|  FLOAT (P)  |  Wenn die Genauigkeit kleiner oder gleich 24 ist, verwenden Sie REAL4. Wenn die Genauigkeit größer als 24 ist, verwenden Sie REAL8.  | 
|  NUMBER (P,S)  |  Verwenden Sie bei einer Skalierung größer als 0 NUMERIC. Bei einer Skalierung von 0: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Source.Oracle.html) Wenn die Skalierung kleiner als 0 ist, verwenden Sie REAL8. | 
|  DATE  |  DATETIME  | 
|  INTERVAL\$1YEAR TO MONTH  |  STRING (mit Angabe von "interval year\$1to\$1month")  | 
|  INTERVAL\$1DAY TO SECOND  |  STRING (mit Angabe von "interval day\$1to\$1second")  | 
|  TIMESTAMP (ZEITSTEMPEL)  |  DATETIME  | 
|  TIMESTAMP WITH TIME ZONE  |  STRING (mit Angabe von "timestamp\$1with\$1timezone")  | 
|  TIMESTAMP WITH LOCAL TIME ZONE  |  STRING (mit Angabe von "timestamp\$1with\$1local\$1 timezone")  | 
|  CHAR  |  STRING  | 
|  VARCHAR2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Source.Oracle.html)  | 
|  NCHAR  |  WSTRING  | 
|  NVARCHAR2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Source.Oracle.html)  | 
|  RAW  |  BYTES  | 
|  REAL  |  REAL8  | 
|  BLOB  |  BLOB Um diesen Datentyp mit zu verwenden AWS DMS, müssen Sie die Verwendung von BLOB-Datentypen für eine bestimmte Aufgabe aktivieren. AWS DMS unterstützt BLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.  | 
|  CLOB  |  CLOB Um diesen Datentyp mit zu verwenden AWS DMS, müssen Sie die Verwendung von CLOB-Datentypen für eine bestimmte Aufgabe aktivieren. AWS DMS Unterstützt während CDC CLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.  | 
|  NCLOB  |  NCLOB Um diesen Datentyp mit zu verwenden AWS DMS, müssen Sie die Verwendung von NCLOB-Datentypen für eine bestimmte Aufgabe aktivieren. AWS DMS Unterstützt während CDC NCLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.  | 
|  LONG  |  CLOB Der LONG-Datentyp wird im stapeloptimierten Anwendungsmodus (CDC-Modus) nicht unterstützt. TurboStream  Um diesen Datentyp mit zu verwenden AWS DMS, aktivieren Sie die Verwendung von LOBs für eine bestimmte Aufgabe.  AWS DMS Unterstützt LOB-Datentypen bei CDC oder Volllast nur in Tabellen, die über einen Primärschlüssel verfügen. Unterstützt auch AWS DMS nicht den vollständigen LOB-Modus zum Laden von LONG-Spalten. Stattdessen können Sie den limitierten LOB-Modus verwenden, um LONG-Spalten zu einem Oracle-Ziel zu migrieren. Im eingeschränkten LOB-Modus werden alle Daten, die Sie AWS DMS auf LONG-Spalten mit einer Länge von mehr als 64 KB festgelegt haben, auf 64 KB gekürzt. Weitere Informationen zur LOB-Unterstützung finden Sie unter AWS DMS[Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS](CHAP_Tasks.LOBSupport.md)  | 
|  LONG RAW  |  BLOB Der LONG RAW-Datentyp wird im stapeloptimierten Anwendungsmodus (TurboStream CDC-Modus) nicht unterstützt. Um diesen Datentyp mit zu verwenden AWS DMS, aktivieren Sie die Verwendung von LOBs für eine bestimmte Aufgabe.  AWS DMS Unterstützt LOB-Datentypen bei CDC oder Volllast nur in Tabellen, die über einen Primärschlüssel verfügen. Unterstützt auch AWS DMS nicht den vollständigen LOB-Modus zum Laden von LONG RAW-Spalten. Stattdessen können Sie den limitierten LOB-Modus verwenden, um LONG RAW-Spalten zu einem Oracle-Ziel zu migrieren. Im limitierten LOB-Modus kürzt AWS DMS alle Daten auf 64 KB, die Sie auf LONG RAW-Spalten mit einer Länge von mehr als 64 KB setzen. Weitere Informationen zur LOB-Unterstützung finden Sie unter AWS DMS[Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS](CHAP_Tasks.LOBSupport.md)  | 
|  XMLTYPE  |  CLOB  | 
| SDO\$1GEOMETRY | BLOB (bei einer Migration von Oracle zu Oracle)CLOB (bei einer Migration von Oracle zu PostgreSQL) | 

Als Quelle verwendete Oracle-Tabellen mit Spalten der folgenden Datentypen werden nicht unterstützt und können nicht repliziert werden. Das Replizieren von Spalten mit diesen Datentypen führt zu einer Null-Spalte.
+ BFILE
+ ROWID
+ REF
+ UROWID
+ Benutzerdefinierte Datentypen
+ ANYDATA
+ VARRAY

**Anmerkung**  
Virtuelle Spalten werden nicht unterstützt.

### Migrieren räumlicher Oracle-Datentypen
<a name="CHAP_Source.Oracle.DataTypes.Spatial"></a>

*Räumliche Daten* identifizieren die Geometrieinformationen für ein Objekt oder eine Position im Raum. In einer Oracle-Datenbank wird die geometrische Beschreibung eines räumlichen Objekts in einem Objekt des Typs SDO\$1GEOMETRY gespeichert. Innerhalb dieses Objekts wird die geometrische Beschreibung in einer einzelnen Zeile in einer einzelnen Spalte einer benutzerdefinierten Tabelle gespeichert. 

AWS DMS unterstützt die Migration des Oracle-Typs SDO\$1GEOMETRY von einer Oracle-Quelle zu einem Oracle- oder PostgreSQL-Ziel.

Beachten Sie bei der Migration von Oracle-Geodatentypen mit folgenden Überlegungen AWS DMS:
+ Stellen Sie bei der Migration zu einem Oracle-Ziel sicher, dass USER\$1SDO\$1GEOM\$1METADATA-Einträge, die Typinformationen enthalten, manuell übertragen werden. 
+  AWS DMS Erstellt bei der Migration von einem Oracle-Quellendpunkt zu einem PostgreSQL-Zielendpunkt Zielspalten. Diese Spalten verfügen über Standardgeometrie- und Geographie-Typinformationen mit einer 2D-Dimension und einer Raumbezugskennung (SRID) gleich Null (0). Ein Beispiel ist `GEOMETRY, 2, 0`.
+ Konvertieren Sie bei Oracle-Version 12.1 oder früheren zu PostgreSQL-Zielen migrierten Quellen `SDO_GEOMETRY`-Objekte mithilfe der `SDO2GEOJSON`-Funktion oder des zusätzlichen Verbindungsattributs `spatialSdo2GeoJsonFunctionName` in das `GEOJSON`-Format. Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](#CHAP_Source.Oracle.ConnectionAttrib).
+ AWS DMS unterstützt Oracle Spatial-Spaltenmigrationen nur für den vollständigen LOB-Modus. AWS DMS unterstützt die Modi Limited LOB oder Inline LOB nicht. Weitere Informationen zum LOB-Modus finden Sie unter [Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS](CHAP_Tasks.LOBSupport.md).
+ Da AWS DMS nur der Full-LOB-Modus für die Migration von Oracle Spatial-Spalten unterstützt wird, benötigt die Spaltentabelle einen Primärschlüssel und einen eindeutigen Schlüssel. Wenn die Tabelle keinen Primärschlüssel und keinen eindeutigen Schlüssel hat, wird die Tabelle bei der Migration übersprungen.