Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Welche Berechtigungen sind für AWS DMS erforderlich, wenn Oracle als Quellendpunkt verwendet wird?

Lesedauer: 5 Minute
0

Ich habe eine AWS Database Migration Service (AWS DMS)-Aufgabe, die Oracle als Quellendpunkt verwendet. Ich möchte wissen, welche Mindestberechtigungen für AWS DMS erforderlich sind.

Kurzbeschreibung

AWS DMS benötigt Berechtigungen zum Lesen von Daten aus der Quelldatenbank, damit es die Daten zur Zieldatenbank migrieren kann. Die erforderlichen Berechtigungen variieren je nach Ihren AWS-DMS-Aufgabeneinstellungen und der Art der Migration, die Sie durchführen.

Lösung

Oracle-Quelldatenbanken, die AWS verwaltet

Informationen zu Oracle-Datenbanken, die Amazon verwaltet, finden Sie unter Working with an AWS managed Oracle database as a source for AWS DMS. Dazu gehören Oracle-Datenbanken wie Amazon Relational Database Service (Amazon RDS).

Selbstverwaltete Oracle-Quelldatenbanken

Für selbstverwaltete Oracle-Datenbanken sind die folgenden Berechtigungen erforderlich:

GRANT SELECT on V_$DATABASE to <dms_user>;
GRANT SELECT on V_$THREAD to <dms_user>;
GRANT SELECT on V_$PARAMETER to <dms_user>;
GRANT SELECT on V_$NLS_PARAMETERS to <dms_user>;
GRANT SELECT on V_$TIMEZONE_NAMES to <dms_user>;
GRANT SELECT on ALL_INDEXES to <dms_user>;
GRANT SELECT on ALL_OBJECTS to <dms_user>;
GRANT SELECT on ALL_TABLES to <dms_user>;
GRANT SELECT on ALL_USERS to <dms_user>;
GRANT SELECT on ALL_CATALOG to <dms_user>;
GRANT SELECT on ALL_CONSTRAINTS to <dms_user>;
GRANT SELECT on ALL_CONS_COLUMNS to <dms_user>;
GRANT SELECT on ALL_TAB_COLS to <dms_user>;
GRANT SELECT on ALL_IND_COLUMNS to <dms_user>;
GRANT SELECT on ALL_LOG_GROUPS to <dms_user>;
GRANT SELECT on SYS.DBA_REGISTRY to <dms_user>;
GRANT SELECT on SYS.OBJ$ to <dms_user>;
GRANT SELECT on DBA_TABLESPACES to <dms_user>;
GRANT SELECT on ALL_TAB_PARTITIONS to <dms_user>;
GRANT SELECT on ALL_ENCRYPTED_COLUMNS to <dms_user>;
GRANT SELECT ANY TRANSACTION to <dms_user>;
GRANT SELECT on V_$LOGMNR_LOGS to <dms_user>;
GRANT SELECT on V_$LOGMNR_CONTENTS to <dms_user>;
GRANT SELECT on V_$LOG to <dms_user>;
GRANT SELECT on V_$ARCHIVED_LOG to <dms_user>;
GRANT SELECT on V_$LOGFILE to <dms_user>;
GRANT SELECT on V_$TRANSACTION to <dms_user>;

Um Ansichten anzuzeigen, sind die folgenden Berechtigungen erforderlich:

GRANT SELECT on ALL_VIEWS to <dms_user>;

**Hinweis:**Um Ansichten verfügbar zu machen, müssen Sie dem Quellendpunkt auch diese zusätzlichen Verbindungsattribute hinzufügen:

exposeViews=true

Sie können ein Muster verwenden, das den Tabellennamen in Ihrer Replikationsaufgabe entspricht. Sie können dem Benutzer der Quelldatenbank auch erlauben, Tabellen aus einem anderen Schema zu lesen. Um eine dieser beiden Aufgaben auszuführen, fügen Sie die folgenden Berechtigungen hinzu:

GRANT SELECT ANY TABLE to <dms_user>;

Um in Ihrer Replikationsaufgabe eine Tabellenliste anzugeben, sind die folgenden Berechtigungen erforderlich:

GRANT SELECT on <schema>.<table > ;

**Hinweis:**Fügen Sie diese Berechtigungen für alle Tabellen in der Tabellenliste hinzu. Um von Oracle RAC zu migrieren, müssen Sie SELECT-Berechtigungen für materialisierte Ansichten gewähren, die die Präfixe gv_$ und v_$ haben.

Um die AWS-DMS-Validierung für große Objekte (LOBs) zu aktivieren, sind die folgenden Berechtigungen erforderlich:

GRANT execute on sys.dbms_crypto to <dms_user>;

Wenn Sie das zusätzliche Verbindungsattribut addSupplementalLogging verwenden, sind die folgenden Berechtigungen erforderlich:

GRANT ALTER ANY TABLE to <dms_user>

Oracle-Quelldatenbanken mit laufenden Replikationsaufgaben

Oracle bietet zwei Methoden, um während der laufenden Replikation die Redo-Protokolle zu lesen: Oracle LogMiner und Oracle Binary Reader. Je nachdem, welche Methode Sie verwenden, müssen Sie dem Quellbenutzer zusätzliche Berechtigungen gewähren, nachdem Sie die zuvor genannten erforderlichen Berechtigungen erteilt haben.

Um LogMiner verwenden zu können, sind diese Berechtigungen erforderlich:

GRANT EXECUTE ON dbms_logmnr TO <dms_user>;

Für Oracle 12c und neuere Versionen sind diese Berechtigungen erforderlich:

GRANT LOGMINING TO <dms_user>;

Binary Reader verwendet Oracle-Verzeichnisse, um Redo- und Archivierungsprotokolle zu lesen. Sie müssen AWS DMS Zugriff gewähren, um die Oracle-Verzeichnisse in der Quelldatenbank zu erstellen:

GRANT CREATE ANY DIRECTORY to <dms_user>;

Um AWS DMS zur Erstellung der Oracle-Verzeichnisse zu verwenden, müssen Sie die Berechtigung CREATE ANY DIRECTORY gewähren. AWS DMS erstellt die Verzeichnisnamen mit dem Präfix DMS_. Wenn Sie die Berechtigung CREATE ANY DIRECTORY nicht gewähren, müssen Sie die Verzeichnisse manuell erstellen. Wenn Sie die Oracle-Verzeichnisse manuell erstellen, ist der Oracle-Benutzer, den Sie auf dem Endpunkt angeben, nicht immer der Benutzer, der die Verzeichnisse erstellt hat. In diesen Fällen müssen Sie die Berechtigung READ on DIRECTORY gewähren.

GRANT READ ON DIRECTORY <RedoLog_directory_name> to <dms_user>;
GRANT READ ON DIRECTORY <ArchiveLog_directory_name> to <dms_user>;

Um zu überprüfen, ob die Verzeichnisse erstellt wurden, fragen Sie die Tabelle ALL_DIRECTORIES ab. Um Binary Reader für den Zugriff auf die Redo-Protokolle in Automatic Storage Management (ASM) zu verwenden, gewähren Sie dem Oracle-Benutzer auf dem Endpunkt die folgenden Berechtigungen:

GRANT SELECT ON v_$transportable_platform  to <dms_user>; - Grant this privilege if the redo logs are stored in Oracle Automatic Storage Management (ASM) and AWS DMS accesses them from ASM.
GRANT SYSASM to <ASM_USER>; - 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.

Where the Oracle source uses ASM, you can work with high-performance options in Binary Reader for transaction processing at scale. These options include extra connection attributes to specify the number of parallel threads (parallelASMReadThreads) and the number of read-ahead buffers (readAheadBlocks). Setting these attributes together can significantly improve the performance of the CDC task. The following settings provide good results for most ASM configurations.

**Hinweis:**AWS DMS unterstützt Oracle Active Data Guard Standby als Quelle. Im Active-Data-Guard-Modus können Sie Standby-Datenbanken im schreibgeschützten Modus öffnen. Nachdem Sie die zuvor genannten Berechtigungen für die primäre Instance erteilt haben, führen Sie mehrere Protokoll-Switches durch, um die Berechtigungen auf die Standby-Datenbank zu replizieren. Weitere Informationen finden Sie unter Forcing Log Switches auf der Oracle-Website.

Verwandte Informationen

Using an Oracle database as a source for AWS DMS

Using a self-managed Oracle Standby as a source with Binary Reader for CDC in AWS DMS

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr