Quali sono le autorizzazioni richieste per AWS DMS quando si utilizza Oracle come endpoint di origine?

5 minuti di lettura
0

Ho un'attività AWS Database Migration Service (AWS DMS) che utilizza Oracle come endpoint di origine. Voglio sapere quali sono le autorizzazioni minime richieste per AWS DMS.

Breve descrizione

AWS DMS richiede autorizzazioni per leggere i dati dal database di origine da migrare verso la destinazione. Le autorizzazioni richieste possono variare a seconda delle impostazioni delle attività di AWS DMS e del tipo di migrazione che stai eseguendo.

Risoluzione

Database di origine di Oracle gestiti da AWS

Per i database di Oracle gestiti da Amazon, consulta la sezione Utilizzo di un database Oracle AWS gestito come fonte per AWS DMS. Ciò include database di Oracle come Amazon Relational Database Service (Amazon RDS).

Database di origine di Oracle autogestiti

Per i database di Oracle autogestiti sono necessarie le seguenti autorizzazioni:

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>;

Per mostrare le visualizzazioni sono necessarie le seguenti autorizzazioni:

GRANT SELECT on ALL\_VIEWS to <dms\_user>;

Nota: per esporre le visualizzazioni, devi aggiungere anche questi attributi di connessione aggiuntivi all'endpoint di origine:

exposeViews=true

È possibile utilizzare uno schema che corrisponda ai nomi delle tabelle nell'attività di replica. È inoltre possibile consentire all'utente del database di origine di leggere le tabelle da uno schema diverso. Per eseguire entrambe le attività, aggiungi queste autorizzazioni:

GRANT SELECT ANY TABLE to <dms\_user>;

Per specificare un elenco di tabelle nell'attività di replica sono necessarie le seguenti autorizzazioni:

GRANT SELECT on <schema>.<table > ;

Nota: aggiungi queste autorizzazioni per tutte le tabelle presenti nell'elenco delle tabelle. Per eseguire la migrazione da Oracle RAC è necessario concedere le autorizzazioni SELECT sulle viste materializzate con i prefissi gv_$ e v_$.

Per attivare la convalida AWS DMS per oggetti di grandi dimensioni (LOB) sono necessarie queste autorizzazioni:

GRANT execute on sys.dbms_crypto to <dms_user>;

Se si utilizza l'attributo di connessione aggiuntivo addSupplementalLogging, sono necessarie le seguenti autorizzazioni:

GRANT ALTER ANY TABLE to <dms\_user>

Database di origine di Oracle con attività di replica continue

Oracle offre due metodi per leggere i redo log durante la replica in corso: Oracle LogMiner e Oracle Binary Reader. A seconda del metodo utilizzato, è necessario concedere all'utente di origine autorizzazioni aggiuntive dopo aver concesso le autorizzazioni richieste precedentemente menzionate.

Per utilizzare LogMiner sono necessarie queste autorizzazioni:

GRANT EXECUTE ON dbms\_logmnr TO <dms\_user>;

Per Oracle 12c e versioni successive sono necessarie queste autorizzazioni:

GRANT LOGMINING TO <dms\_user>;

Binary Reader utilizza le directory di Oracle per leggere i redo log e i registri di archiviazione. È necessario concedere l'accesso ad AWS DMS per creare le directory di Oracle sul database di origine:

GRANT CREATE ANY DIRECTORY to <dms\_user>;

Per utilizzare AWS DMS per creare le directory di Oracle è necessario concedere il privilegio CREATE ANY DIRECTORY. AWS DMS crea i nomi delle directory con il prefisso DMS_. Se non si concede il privilegio CREATE ANY DIRECTORY, è necessario creare le directory manualmente. Quando le directory di Oracle vengono create manualmente, l'utente Oracle specificato sull'endpoint non è sempre l'utente che ha creato le directory. In questi casi è necessario concedere il privilegio READ on DIRECTORY.

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

Per confermare che le directory sono state create, interroga la tabella ALL_DIRECTORIES. Per utilizzare Binary Reader per accedere ai redo log in Automatic Storage Management (ASM), concedi queste autorizzazioni all'utente Oracle sull'endpoint:

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.

Nota: AWS DMS supporta Oracle Active Data Guard Standby come fonte. In modalità Active Data Guard è possibile aprire database in standby in sola lettura. Dopo aver concesso le suddette autorizzazioni sull'istanza primaria, esegui diversi scambi di log per replicare le autorizzazioni nel database in standby. Per ulteriori informazioni, consulta la sezione Forcing log switches sul sito web di Oracle.

Informazioni correlate

Utilizzo di un database Oracle come origine per AWS DMS

Utilizzo di un Oracle Standby autogestito come sorgente con Binary Reader per CDC in AWS DMS

AWS UFFICIALE
AWS UFFICIALEAggiornata 5 mesi fa