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.
Verwenden einer Oracle-Datenbank als Quelle für AWS DMS
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 unterQuellen für AWS DMS.
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.
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.
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:
-
Erstellen Sie einen Oracle-Benutzer mit den entsprechenden Berechtigungen für den AWS DMS Zugriff auf Ihre Oracle-Quelldatenbank.
-
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.
-
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.
Weitere Informationen zur Arbeit mit Oracle-Quelldatenbanken und AWS DMS finden Sie in den folgenden Abschnitten.
Themen
- Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC
- Workflows für die Konfiguration einer selbstverwalteten oder AWS-verwalteten Oracle-Quelldatenbank für AWS DMSKonfigurieren einer Oracle-Quelldatenbank
- Arbeiten mit einer selbstverwalteten Oracle-Datenbank als Quelle für AWS DMS
- Arbeiten mit einer AWS-verwalteten Oracle-Datenbank als Quelle für AWS DMS
- Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS
- SSL-Unterstützung für einen Oracle-Endpunkt
- Unterstützte Verschlüsselungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS
- Unterstützte Komprimierungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS
- Replizieren verschachtelter Tabellen unter Verwendung von Oracle als Quelle für AWS DMS
- REDO wird auf Oracle ASM gespeichert, wenn Oracle als Quelle für verwendet wird AWS DMS
- Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS
- Quelldatentypen für Oracle
Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC
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.
Funktion | LogMiner | Binary Reader |
---|---|---|
Einfache Konfiguration | Ja | Nein |
Geringere Auswirkungen auf E/A und CPU des Quellsystems | 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 Bei Verwendung von Oracle LogMiner wird die TDE-Verschlüsselung auf Spaltenebene für Amazon RDS for Oracle AWS DMS nicht unterstützt. |
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 Nicht empfohlen |
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.
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 Optionen für die Verschlüsselung.
-
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 einige I/O- oder CPU-Auswirkungen auf den Computer haben, der die Oracle-Quelldatenbank hostet. Bei Binary Reader ist die Wahrscheinlichkeit geringer, dass E/A- oder CPU-Auswirkungen auftreten, 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 für LOBs in Oracle Version 12c. LogMinertut es 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
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, die Sie für den Zugriff auf die Redo-Logs verwenden: 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.
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.
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.
Weitere Informationen zum Konfigurieren von CDC für eine selbstverwaltete Oracle-Datenbank als Quelle finden Sie unter Kontoberechtigungen sind erforderlich, wenn Sie Oracle für den Zugriff LogMiner auf die Redo-Logs verwenden, Kontoberechtigungen sind erforderlich, wenn AWS DMS Binary Reader für den Zugriff auf die Redo-Logs verwendet wird und Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM.
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 und. Verwenden von Amazon RDS Oracle Standby (Lesereplikat) als Quelle mit Binary Reader für CDC in AWS DMS
Workflows für die Konfiguration einer selbstverwalteten oder AWS-verwalteten Oracle-Quelldatenbank für AWS DMS
Konfigurieren einer Oracle-Quelldatenbank
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. | Siehe Erforderliche Benutzerkontenberechtigungen für eine selbstverwaltete Oracle-Quelle für AWS DMS. |
Bereiten Sie die Quelldatenbank für die Replikation mit CDC vor. | Siehe Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS. | Siehe Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS. |
Gewähren Sie zusätzliche Oracle-Benutzerberechtigungen, die für CDC erforderlich sind. | Siehe Kontoberechtigungen sind erforderlich, wenn Sie Oracle für den Zugriff LogMiner auf die Redo-Logs verwenden. | Siehe Kontoberechtigungen sind erforderlich, wenn AWS DMS Binary Reader für den Zugriff auf die Redo-Logs verwendet wird. |
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. |
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. | Siehe Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC. |
Konfigurieren Sie Oracle Standby als Quelle für CDC. | AWS DMS unterstützt Oracle Standby nicht als Quelle. | Siehe Verwenden von selbstverwaltetem Oracle Standby als Quelle mit Binary Reader für CDC in AWS DMS. |
Verwenden Sie die folgenden Workflow-Schritte, um eine von AWS-verwaltete Oracle-Quelldatenbank-Instance zu konfigurieren.
Für diesen Workflow-Schritt | Wenn Sie CDC verwenden LogMiner, gehen Sie wie folgt vor | 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. | Weitere Informationen finden Sie unter Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS. |
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. | Weitere Informationen finden Sie unter Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS. |
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. |
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. | Weitere Informationen finden Sie unter Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für 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 von Amazon RDS Oracle Standby (Lesereplikat) als Quelle mit Binary Reader für CDC in AWS DMS. |
Arbeiten mit einer selbstverwalteten Oracle-Datenbank als Quelle für AWS DMS
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
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
db_user
; GRANT SELECT ANY TRANSACTION TOdb_user
; GRANT SELECT ON V_$ARCHIVED_LOG TOdb_user
; GRANT SELECT ON V_$LOG TOdb_user
; GRANT SELECT ON V_$LOGFILE TOdb_user
; GRANT SELECT ON V_$LOGMNR_LOGS TOdb_user
; GRANT SELECT ON V_$LOGMNR_CONTENTS TOdb_user
; GRANT SELECT ON V_$DATABASE TOdb_user
; GRANT SELECT ON V_$THREAD TOdb_user
; GRANT SELECT ON V_$PARAMETER TOdb_user
; GRANT SELECT ON V_$NLS_PARAMETERS TOdb_user
; GRANT SELECT ON V_$TIMEZONE_NAMES TOdb_user
; GRANT SELECT ON V_$TRANSACTION TOdb_user
; GRANT SELECT ON V_$CONTAINERS TOdb_user
; GRANT SELECT ON ALL_INDEXES TOdb_user
; GRANT SELECT ON ALL_OBJECTS TOdb_user
; GRANT SELECT ON ALL_TABLES TOdb_user
; GRANT SELECT ON ALL_USERS TOdb_user
; GRANT SELECT ON ALL_CATALOG TOdb_user
; GRANT SELECT ON ALL_CONSTRAINTS TOdb_user
; GRANT SELECT ON ALL_CONS_COLUMNS TOdb_user
; GRANT SELECT ON ALL_TAB_COLS TOdb_user
; GRANT SELECT ON ALL_IND_COLUMNS TOdb_user
; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TOdb_user
; GRANT SELECT ON ALL_LOG_GROUPS TOdb_user
; GRANT SELECT ON ALL_TAB_PARTITIONS TOdb_user
; GRANT SELECT ON SYS.DBA_REGISTRY TOdb_user
; GRANT SELECT ON SYS.OBJ$ TOdb_user
; GRANT SELECT ON DBA_TABLESPACES TOdb_user
; GRANT SELECT ON DBA_OBJECTS TOdb_user
; -– Required if the Oracle version is earlier than 11.2.0.3. GRANT SELECT ON SYS.ENC$ TOdb_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 TOdb_user
; -– Required if the source database is Oracle RAC in AWS DMS versions 3.4.6 and higher. GRANT SELECT ON V_$DATAGUARD_STATS TOdb_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.
Erteilen Sie für jede replizierte Tabelle die folgende zusätzliche Berechtigung, wenn Sie eine spezifische Tabellenliste verwenden.
GRANT SELECT on
any-replicated-table
todb_user
;
Erteilen Sie die folgende zusätzliche Berechtigung, um LOB-Spalten mit dem Validierungs-Feature zu validieren.
GRANT EXECUTE ON SYS.DBMS_CRYPTO TO
db_user
;
Erteilen Sie die folgenden zusätzlichen Rechte, wenn Sie stattdessen Binary Reader verwenden LogMiner.
GRANT SELECT ON SYS.DBA_DIRECTORIES TO
db_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
db_user
;
Weitere Informationen zu Serverless-Replikationen finden Sie unter Arbeiten mit AWS DMS Serverless.
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 todms_user
; GRANT SELECT on v_$version todms_user
; GRANT SELECT on gv_$ASM_DISKGROUP todms_user
; GRANT SELECT on gv_$database todms_user
; GRANT SELECT on dba_db_links todms_user
; GRANT SELECT on gv_$log_History todms_user
; GRANT SELECT on gv_$log todms_user
; GRANT SELECT ON DBA_TYPES TOdb_user
; GRANT SELECT ON DBA_USERS to dms_user; GRANT SELECT ON DBA_DIRECTORIES to dms_user;
Informationen zu Oracle-spezifischen Bewertungen vor der Migration finden Sie unter Bewertungen von Oracle.
Voraussetzungen für die Verarbeitung offener Transaktionen für Oracle Standby
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.
-
Erstellen Sie einen Datenbank-Link mit dem Namen
AWSDMS_DBLINK
in der Primärdatenbank.
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.DMS_USER
CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO
DMS_USER
IDENTIFIED BYDMS_USER_PASSWORD
USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP
)(PORT=PORT
)) (CONNECT_DATA=(SERVICE_NAME=SID
)) )'; -
Stellen Sie sicher, dass die Verbindung mit dem Datenbank-Link über
hergestellt ist, wie im folgenden Beispiel dargestellt.DMS_USER
select 1 from dual@AWSDMS_DBLINK
Vorbereiten einer selbstverwalteten Oracle-Quelldatenbank für CDC mit AWS DMS
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
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
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
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 standardmäßige PRIMARY KEY
zusätzliche Protokollierung 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.
Stellen Sie sicher, dass Sie die zusätzliche Protokollierung aktivieren, wenn Ihre Replikationsaufgabe eine Tabelle mithilfe einer WHERE
-Klausel aktualisiert, die nicht auf eine Primärschlüsselspalte verweist.
So richten Sie die zusätzliche Protokollierung manuell ein
-
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
oderIMPLICIT
, 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;
-
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 GROUPLogGroupName
(UniqueIndexColumn1
[,UniqueIndexColumn2
] ...) ALWAYS;Die Verwendung von
SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS
fügt die Spalten des eindeutigen Index dem Protokoll nicht hinzu. -
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.
Die Verwendung von
SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS
fügt die Spalten des eindeutigen Index dem Protokoll nicht hinzu. -
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
undB
, hinzu. Fügen Sie jedoch für eine Transformationsubstring(A,10)
jedoch keine zusätzliche Protokollierung für SpalteA
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üsselID
und einem Filter nach der SpalteNAME
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 für den Zugriff LogMiner auf die Redo-Logs verwenden
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 db_user; GRANT SELECT on V_$LOGMNR_LOGS to db_user; GRANT SELECT on V_$LOGMNR_CONTENTS to db_user; GRANT LOGMINING to db_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
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 db_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 db_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 doesn't have file-level access to the redo logs and the redo logs are on non-ASM storage. GRANT EXECUTE on DBMS_FILE_TRANSFER to db_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 db_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 sind nicht auf Dateisystemebene repräsentiert. 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.
Wenn sich der Oracle-Quellendpunkt im Active Dataguard Standby (ADG) befindet, finden Sie weitere Informationen im Beitrag How to use Binary Reader with ADG
Anmerkung
AWS DMS CDC unterstützt Active Dataguard Standby nicht, das nicht für die Verwendung des automatischen Redo-Transport-Service 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 Replizierungsaufgabe starten. AWS DMS Wenn AWS DMS
nicht das erwartete vorangestellte Verzeichnis findet, wird die Aufgabe beendet. Weiterhin löscht AWS DMS nicht die Einträge, die es in der ALL_DIRECTORIES
-Ansicht erstellt hat, löschen Sie diese daher manuell.
Erforderliche zusätzliche Kontoberechtigungen bei Verwendung von Binary Reader mit Oracle ASM
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 von selbstverwaltetem Oracle Standby als Quelle mit Binary Reader für CDC in AWS DMS
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. Beispielsweise:
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
-
Erteilen Sie zusätzliche Berechtigungen, die für den Zugriff auf Standby-Protokolldateien erforderlich sind.
GRANT SELECT ON v_$standby_log TO
db_user
; -
Erstellen Sie mithilfe der AWS Management Console 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.
-
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_MM_TT erstellt. Beispielsweise:
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:
-
Ä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
’; -
Erstellen Sie ein zusätzliches Archivprotokollziel und ein Oracle-Verzeichnisobjekt, das auf dieses Ziel verweist. Beispielsweise:
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
-
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 DIRECTORYdms_archived_log_20210302
AS ‘DB_RECOVERY_FILE_DEST>/SID>/archivelog/2021_03_02
’; ... -
Erstellen Sie einen Oracle-Scheduler-Auftrag, der täglich ausgeführt wird und das erforderliche Verzeichnis erstellt.
-
Verwenden einer benutzerverwalteten Datenbank in Oracle Cloud Infrastructure (OCI) als Quelle für CDC in AWS DMS
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
-
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.
-
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.
-
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.
-
Richten Sie die zusätzliche Protokollierung ein. Weitere Informationen finden Sie unter Einrichten der zusätzlichen Protokollierung.
-
Richten Sie die TDE-Verschlüsselung ein. Weitere Informationen finden Sie unter Verschlüsselungsmethoden bei Verwendung einer Oracle-Datenbank als Quellendpunkt.
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 LogMiner auf die Redo-Logs nicht.
-
DMS unterstützt Autonomous DB nicht.
Arbeiten mit einer AWS-verwalteten Oracle-Datenbank als Quelle für AWS DMS
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
Erteilen Sie dem in der Oracle-Quellendpunktdefinition angegebenen Oracle-Benutzerkonto die folgenden Berechtigungen.
Wichtig
Für alle Parameterwerte wie
und db_user
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 any-replicated-table
-Wert ohne Anführungszeichen erstellen, wie in db_user
CREATE USER
oder myuser
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
db_user
; GRANT SELECT ANY TRANSACTION todb_user
; GRANT SELECT on DBA_TABLESPACES todb_user
; GRANT SELECT ONany-replicated-table
todb_user
; GRANT EXECUTE on rdsadmin.rdsadmin_util todb_user
; -- For Oracle 12c or higher: GRANT LOGMINING to db_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.
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_VIEWS', '
db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_PARTITIONS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_INDEXES', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TABLES', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_USERS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CATALOG', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONSTRAINTS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONS_COLUMNS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_IND_COLUMNS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_LOG_GROUPS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$THREAD', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$NLS_PARAMETERS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TIMEZONE_NAMES', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_ENCRYPTED_COLUMNS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS', 'db_user
', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','db_user
','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR', 'db_user
', 'EXECUTE'); -- (as of Oracle versions 12.1 and higher) exec rdsadmin.rdsadmin_util.grant_sys_object('REGISTRY$SQLPATCH', 'db_user
', 'SELECT'); -- (for Amazon RDS Active Dataguard Standby (ADG)) exec rdsadmin.rdsadmin_util.grant_sys_object('V_$STANDBY_LOG', 'db_user
', 'SELECT'); -- (for transparent data encryption (TDE)) exec rdsadmin.rdsadmin_util.grant_sys_object('ENC$', 'db_user
', 'SELECT'); -- (for validation with LOB columns) exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'db_user
', 'EXECUTE'); -- (for binary reader) exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DIRECTORIES','db_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', 'db_user
', 'SELECT');
Weitere Informationen zur Verwendung von Amazon RDS Active Dataguard Standby (ADG) mit AWS DMS finden Sie unter Verwenden von Amazon RDS Oracle Standby (Lesereplikat) als Quelle mit Binary Reader für CDC in AWS DMS.
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
Voraussetzungen für die Verarbeitung offener Transaktionen für Oracle Standby
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.
-
Erstellen Sie einen Datenbank-Link mit dem Namen
AWSDMS_DBLINK
in der Primärdatenbank.
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.DMS_USER
CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO
DMS_USER
IDENTIFIED BYDMS_USER_PASSWORD
USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP
)(PORT=PORT
)) (CONNECT_DATA=(SERVICE_NAME=SID
)) )'; -
Stellen Sie sicher, dass die Verbindung mit dem Datenbank-Link über
hergestellt ist, wie im folgenden Beispiel dargestellt.DMS_USER
select 1 from dual@AWSDMS_DBLINK
Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS
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 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:
-
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.
-
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:
-
Führen Sie den folgenden Befehl aus, um die zusätzliche Protokollierung auf Datenbankebene zu aktivieren.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
-
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');
-
(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
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.
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:
-
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;
-
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
db_user
; GRANT READ ON DIRECTORY ARCHIVELOG_DIR TOdb_user
; -
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.
Verwenden von Amazon RDS Oracle Standby (Lesereplikat) als Quelle mit Binary Reader für CDC in AWS DMS
Ü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
-
Melden Sie sich als Hauptbenutzer bei der primären RDS-für-Oracle-Instance an.
-
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;
-
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.
-
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
db_user
; GRANT READ ON DIRECTORY ARCHIVELOG_DIR_B TOdb_user
; GRANT READ ON DIRECTORY ONLINELOG_DIR_A TOdb_user
; GRANT READ ON DIRECTORY ONLINELOG_DIR_B TOdb_user
; -
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. -
Führen Sie die Abfrage
ALL_DIRECTORIES
für Oracle Standby aus, um zu bestätigen, dass die Änderungen übernommen wurden. -
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
-
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
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.
-
Informationen zu einer von AWS-verwalteten Oracle-Quelldatenbank finden Sie unter. Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS
-
-
AWS DMS unterstützt die Mehrmandanten-Container-Root-Datenbank (CDB$ROOT) nicht. Es unterstützt eine PDB, die den Binary Reader verwendet.
-
AWS DMS unterstützt keine verzögerten Einschränkungen.
-
Sichere LOBs werden im vollständigen LOB-Modus nur unterstützt, wenn ein LOB-Lookup durchgeführt wird.
-
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
Anstattcolumn
data_type
DEFAULTdefault_value
auf das Ziel zu replizieren, wird die neue Spalte aufdefault_value
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. Beachten Sie außerdem, dass DMS bei FULL+CDC-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
undTRUNCATE
) ergeben. 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
- undTRUNCATE
-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 dasOBJECT_ID
Feld. -
AWS DMS ordnet leere BLOB- und CLOB-Spalten
NULL
dem Ziel zu. -
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ützterUPDATE
-Befehl.UPDATE TEST_TABLE SET KEY=KEY+1;
Hier ist
TEST_TABLE
der Tabellenname undKEY
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.
-
Repliziert AWS DMS nicht für alle Oracle-Versionen das Ergebnis von
UPDATE
Operationen anXMLTYPE
und 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 :
-
Es unterstützt keine Tabellencluster.
-
Es werden nur
SHRINK SPACE
-Operationen auf Tabellenebene unterstützt. Diese Ebene umfasst die vollständige Tabelle, Partitionen und Unterpartitionen. -
Es unterstützt keine Änderungen an indexorganisierten Tabellen mit Schlüsselkomprimierung.
-
Die Implementierung von Online-Redo-Protokollen auf Raw-Devices wird nicht unterstützt.
-
Binary Reader unterstützt TDE nur für selbstverwaltete Oracle-Datenbanken, da RDS für 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$
oderDR$
. -
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.
-
Das Verfahren
INSERT
zum direkten Laden mit der Option zur parallelen Ausführung wird in 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.
SSL-Unterstützung für einen Oracle-Endpunkt
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.
Themen
Verwenden eines vorhandenen Zertifikats für Oracle SSL
Um eine vorhandene Oracle-Client-Installation zum Erstellen der Oracle Wallet-Datei aus der Zertifikatdatei der Zertifizierungsstelle zu erstellen, gehen Sie wie folgt vor.
So verwenden Sie eine vorhandene Oracle-Client-Installation für Oracle-SSL mit AWS DMS
-
Legen Sie die
ORACLE_HOME
-Systemvariable auf den Speicherort Ihresdbhome_1
-Verzeichnisses fest, indem Sie den folgenden Befehl ausführen.prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1
-
$ORACLE_HOME/lib
an dieLD_LIBRARY_PATH
-Systemvariable anhängen.prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
-
Erstellen Sie ein Oracle Wallet unter
$ORACLE_HOME/ssl_wallet
.prompt>mkdir $ORACLE_HOME/ssl_wallet
-
Legen Sie die CA-Zertifikatdatei
.pem
im Verzeichnisssl_wallet
ab. Wenn Sie Amazon RDS verwenden, können Sie die von Amazon RDS gehostete CA-Stammzertifikatdateirds-ca-2015-root.pem
verwenden. Weitere Informationen zum Herunterladen dieser Datei finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance im Benutzerhandbuch für Amazon RDS. -
Führen Sie die folgenden Befehle zur Oracle Wallet-Erstellung aus.
prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert $ORACLE_HOME/ssl_wallet/ca-cert.pem -auto_login_only
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
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
-
Erstellen Sie ein Verzeichnis für die Arbeit mit dem selbstsignierten Zertifikat.
mkdir -p /u01/app/oracle/self_signed_cert
-
Wechseln Sie in das Verzeichnis, das Sie im vorherigen Schritt erstellt haben.
cd /u01/app/oracle/self_signed_cert
-
Erstellen Sie einen Stammschlüssel.
openssl genrsa -out self-rootCA.key 2048
-
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
-
-
Erstellen Sie ein Oracle Wallet-Verzeichnis für die Oracle-Datenbank.
mkdir -p /u01/app/oracle/wallet
-
Erstellen Sie ein neues Oracle Wallet.
orapki wallet create -wallet "/u01/app/oracle/wallet" -pwd oracle123 -auto_login_local
-
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
-
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
-
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
-
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
-
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
-
-
Rufen Sie die Zertifikatsignatur ab.
openssl req -noout -text -in certdms.csr | grep -i signature
Der Signaturschlüssel für diesen Beitrag lautet
sha256WithRSAEncryption
. -
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
-
Fügen Sie das Zertifikat dem Wallet hinzu.
orapki wallet add -wallet /u01/app/oracle/wallet -pwd oracle123 -user_cert -cert certdms.crt
-
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
-
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)
-
Beenden Sie den Oracle Listener.
lsnrctl stop
-
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)) ) ) -
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>) ) )
-
Starten Sie den Oracle Listener neu.
lsnrctl start
-
Zeigen Sie den Status des Oracle Listener an.
lsnrctl status
-
Testen Sie die SSL-Verbindung zu der Datenbank von "localhost" mithilfe von sqlplus und dem SSL-Eintrag "tnsnames".
sqlplus -L
ORACLE_USER
@SID
_ssl -
Ü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
-
Wechseln Sie zu dem Verzeichnis mit dem selbstsignierten Zertifikat.
cd /u01/app/oracle/self_signed_cert
-
Erstellen Sie ein neues Client-Oracle-Wallet AWS DMS , das Sie verwenden können.
orapki wallet create -wallet ./ -auto_login_only
-
Fügen Sie das selbstsignierte Stammzertifikat dem Oracle Wallet hinzu.
orapki wallet add -wallet ./ -trusted_cert -cert self-rootCA.pem -auto_login_only
-
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
-
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
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
-
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. -
Rufen Sie die Masterschlüssel-ID mit einer der folgenden Verschlüsselungsoptionen ab, je nachdem, welche diesen Wert zurückgibt.
-
Führen Sie für die Verschlüsselung auf Tabellen- oder Spaltenebene die folgenden Abfragen aus.
SQL> SELECT OBJECT_ID FROM ALL_OBJECTS WHERE OWNER='DMS_USER' AND OBJECT_NAME='TEST_TDE_COLUMN' AND OBJECT_TYPE='TABLE'; OBJECT_ID --------------- 81046 SQL> SELECT MKEYID FROM SYS.ENC$ WHERE OBJ#=81046; MKEYID ------------ AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Hier ist
AWGDC9glSk8Xv+3bVveiVSg
die Masterschlüssel-ID (MKEYID
). Wenn Sie einen Wert fürMKEYID
erhalten, können Sie mit Schritt 3 fortfahren. Fahren Sie andernfalls mit Schritt 2.2 fort.Anmerkung
Die angehängten Zeichen
'A'
in der Zeichenkette (AAA...
) sind nicht Teil des Werts. -
Führen Sie für die Verschlüsselung auf Tablespace-Ebene die folgenden Abfragen aus.
SQL> SELECT TABLESPACE_NAME, ENCRYPTED FROM dba_tablespaces; TABLESPACE_NAME ENC ------------------------------ --- SYSTEM NO SYSAUX NO UNDOTBS1 NO TEMP NO USERS NO TEST_ENCRYT YES SQL> SELECT name,utl_raw.cast_to_varchar2( utl_encode.base64_encode('01'||substr(mkeyid,1,4))) || utl_raw.cast_to_varchar2( utl_encode.base64_encode(substr(mkeyid,5,length(mkeyid)))) masterkeyid_base64 FROM (SELECT t.name, RAWTOHEX(x.mkid) mkeyid FROM v$tablespace t, x$kcbtek x WHERE t.ts#=x.ts#) WHERE name = 'TEST_ENCRYT'; NAME MASTERKEYID_BASE64 ------------------------------ ---------------------------------- TEST_ENCRYT AWGDC9glSk8Xv+3bVveiVSg=
Hier ist
AWGDC9glSk8Xv+3bVveiVSg
die Masterschlüssel-ID (TEST_ENCRYT
). Wenn die Schritte 2.1 und 2.2 beide einen Wert zurückgeben, sind diese immer identisch.Das angehängte Zeichen
'='
ist nicht Teil des Werts.
-
-
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. -
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. -
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
-
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 in der Zieldatenbank und wendet sie auch nicht 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 bywallet password
; -
Führen Sie den ASM-Keystore mit dem lokalen Keystore zusammen.
ADMINISTER KEY MANAGEMENT merge keystore
ASM wallet location
identified bywallet password
into existing keystorefile system wallet location
identified bywallet 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
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 | N/A | N/A | 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 unter Verwendung von Oracle als Quelle für AWS DMS
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.
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
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
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
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 verschachtelte Oracle-Tabellen als Quelle repliziert
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 seinerNESTED_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
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:
-
Erstellen Sie die
Type
-Tabelle.CREATE OR REPLACE TYPE NESTED_TEST_T AS TABLE OF VARCHAR(50);
-
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;
-
Glätten Sie die Tabelle
NESTED_PARENT_TEST
mit einem Join mit der untergeordneten TabelleNAME_KEY
, wobeiCHILD.NESTED_TABLE_ID
mitPARENT.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
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
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
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, mit der --oracle-settings '{"
JSON-Syntax erstellen.EndpointSetting"
:
"value"
, ...
}'
Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Oracle als Quelle verwenden können.
Name | Beschreibung |
---|---|
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. Standardwert: aktiviert Zulässige Werte: true/false Beispiel: |
|
Legen Sie dieses Attribut mit AWS DMS Unterstützt zwar die Verwendung der Zulässige Werte: Archivierungsziel-IDs Beispiel: |
|
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:
Standardwert: false Zulässige Werte: true/false Beispiel: AnmerkungWenn Sie diese Option verwenden, müssen Sie dennoch die zusätzliche Protokollierung auf Datenbankebene wie zuvor erläutert aktivieren. |
|
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 unter Verwendung von Oracle als Quelle für AWS DMS. Standardwert: false Zulässige Werte: true/false Beispiel: |
|
Gibt die ID für die archivierten Redo-Protokolle an. Dieser Wert sollte mit einer Zahl in der Spalte dest_id der Ansicht „v$archived_log“ identisch sein. Wenn Sie mit einem zusätzlichen Redo-Protokollziel arbeiten, empfehlen wir, das Attribut Standardwert: 1 Zulässige Werte: Zahl Beispiel: |
|
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 Zulässige Werte: Y/N Beispiel: |
|
Verwenden Sie dieses zusätzliche Verbindungsattribut (ECA), wenn Sie Quelländerungen mit BinaryReader erfassen. 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 Standardwert: false Zulässige Werte: true/false ECA-Beispiel: |
|
Legen Sie dieses Attribut auf Standardwert: false Zulässige Werte: true/false Beispiel: |
|
Legen Sie dieses Attribut auf 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: |
|
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: |
|
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. Standardwert: Null Gültige Werte: alle Zeichen außer Platzhalterzeichen Beispiel: AnmerkungSie können nur |
|
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: |
|
Gibt die IDs eines weiteren Ziels für ein oder mehrere archivierte Redo-Protokolle an. Diese IDs sind die Werte der Spalte dest_id in der Ansicht v$archived_log. Verwenden Sie diese Einstellung zusammen mit dem ArchivedLogDestId zusätzlichen Verbindungsattribut in einem primary-to-single Setup oder einem primary-to-multiple-standby Setup. 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: |
|
Mit der Einstellung Wenn die Aufgabe auf den eingeschränkten LOB-Modus festgelegt ist und diese Option auf Standardwert: false Zulässige Werte: Boolesch Beispiel: |
|
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: |
|
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: AnmerkungWä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). |
|
Gibt den Zeitrahmen in Minuten an, in dem nach offenen Transaktionen für reine CDC-Aufgaben gesucht wird. Standardwert: 0 Gültige Werte: eine Ganzzahl von 0 bis 240 Beispiel: |
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. Standardwert: keiner Zulässiger Wert: /rdsdbdata/db/ORCL_A/ Beispiel: |
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 Standardwert: 2 Gültige Werte: Eine Ganzzahl von 2 bis 8 Beispiel: |
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 1 000 (Standard) und 200 000 (maximal) angeben. Verwenden Sie dieses Attribut zusammen mit dem Standardwert: 1000 Gültige Werte: Eine Ganzzahl von 1000 bis 200 000 Beispiel: |
|
Bei der Einstellung Standardwert: false Zulässige Werte: Boolesch Beispiel: |
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.Standardwert: false Zulässige Werte: true/false Beispiel: |
|
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: |
|
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. Standardwert: "" Zulässige Werte: String Beispiel: |
|
Verwenden Sie für die Migration von Oracle-Version 12.1 oder früheren Quellen zu PostgreSQL-Zielen dieses Attribut, um SDO_GEOMETRY zum GEOJSON-Format zu konvertieren. AWS DMS Ruft standardmäßig die Standardwert: SDO2GEOJSON Zulässige Werte: String Beispiel: |
|
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: 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 |
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. Standardwert: false Zulässige Werte: true/false Beispiel: |
UseBfile |
Legen Sie für dieses Attribut "Y" fest, um Änderungen mit dem Dienstprogramm Binary Reader zu erfassen. Legen Sie 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 Standardwert: N Gültige Werte: Y/N (wenn dieser Wert als ECA festgelegt wird); true/false (wenn dieser Wert als Endpunkteinstellung festgelegt wird). Beispiel: |
|
Setzen Sie dieses Attribut auf Y, um Änderungsdaten mit dem LogMiner Hilfsprogramm zu erfassen (Standard). 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. 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 Standardwert: Y Gültige Werte: Y/N (wenn dieser Wert als ECA festgelegt wird); true/false (wenn dieser Wert als Endpunkteinstellung festgelegt wird). Beispiel: |
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. Standardwert: keiner Zulässiger Wert: /rdsdbdata/log/ Beispiel: |
Quelldatentypen für Oracle
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 unterDatentypen für den AWS Database Migration Service.
Oracle-Datentyp |
AWS DMS Datentyp |
---|---|
BINARY_FLOAT |
REAL4 |
BINARY_DOUBLE |
REAL8 |
BINARY |
BYTES |
FLOAT (P) |
Wenn die Präzision kleiner oder gleich 24 ist, verwenden Sie REAL4. Wenn die Präzision 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:
Verwenden Sie bei einer Skalierung kleiner als 0 REAL8. |
DATUM |
DATETIME |
INTERVAL_YEAR TO MONTH |
STRING (mit Angabe von "interval year_to_month") |
INTERVAL_DAY TO SECOND |
STRING (mit Angabe von "interval day_to_second") |
TIMESTAMP (ZEITSTEMPEL) |
DATETIME |
TIMESTAMP WITH TIME ZONE |
STRING (mit Angabe von "timestamp_with_timezone") |
TIMESTAMP WITH LOCAL TIME ZONE |
STRING (mit Angabe von "timestamp_with_local_ timezone") |
CHAR |
STRING |
VARCHAR2 |
STRING |
NCHAR |
WSTRING |
NVARCHAR2 |
WSTRING |
RAW |
BYTES |
REAL |
REAL8 |
BLOB |
BLOB Um diesen Datentyp mit verwenden zu können 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 DMSEinstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS |
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 eingeschränkten LOB-Modus werden alle Daten, die Sie AWS DMS auf LONG RAW-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 DMSEinstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS |
XMLTYPE |
CLOB |
SDO_GEOMETRY |
BLOB (bei einer Migration von Oracle zu Oracle) CLOB (bei einer Migration von Oracle zu PostgreSQL) |
Oracle-Tabellen, die als Quelle mit Spalten der folgenden Datentypen verwendet werden, 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
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_GEOMETRY 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_GEOMETRY 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_SDO_GEOM_METADATA-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 derSDO2GEOJSON
-Funktion oder des zusätzlichen VerbindungsattributsspatialSdo2GeoJsonFunctionName
in dasGEOJSON
-Format. Weitere Informationen finden Sie unter Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS. -
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.
Da AWS DMS nur der vollständige LOB-Modus für die Migration von Oracle Spatial-Spalten unterstützt wird, benötigt die Tabelle der Spalten einen Primärschlüssel und einen eindeutigen Schlüssel. Wenn die Tabelle keinen Primärschlüssel und keinen eindeutigen Schlüssel aufweist, wird die Tabelle bei der Migration übersprungen.