¿Cuáles son los permisos necesarios para AWS DMS cuando se utiliza Oracle como punto de conexión de origen?

6 minutos de lectura
0

Tengo una tarea de AWS Database Migration Service (AWS DMS) que utiliza Oracle como punto de conexión de origen. Quiero saber cuáles son los permisos mínimos necesarios para AWS DMS.

Breve descripción

AWS DMS requiere permisos para leer los datos de la base de datos de origen a fin de poder migrarlos al destino. En función de la configuración de tareas de AWS DMS y del tipo de migración que esté realizando, los permisos necesarios varían.

Resolución

Bases de datos de origen de Oracle que administra AWS

Para ver las bases de datos Oracle que administra Amazon, consulte Working with an AWS managed Oracle database as a source for AWS DMS. Esto incluye bases de datos de Oracle, como Amazon Relational Database Service (Amazon RDS).

Bases de datos de origen Oracle autogestionadas

Para las bases de datos de Oracle autoadministradas, se requieren los siguientes permisos:

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

Para mostrar las vistas, se requieren los siguientes permisos:

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

Nota: Para exponer las vistas, también debe añadir estos atributos de conexión adicionales al punto de conexión de origen:

exposeViews=true

Puede utilizar un patrón que coincida con los nombres de las tablas de la tarea de replicación. También puede permitir que el usuario de la base de datos de origen lea tablas de un esquema diferente. Para realizar cualquiera de las tareas, agregue estos permisos:

GRANT SELECT ANY TABLE to <dms\_user>;

Para especificar una lista de tablas en la tarea de replicación, se requieren los siguientes permisos:

GRANT SELECT on <schema>.<table > ;

Nota: Añada estos permisos para todas las tablas de la lista de tablas. Para migrar desde Oracle RAC, debe conceder los permisos SELECT en las vistas materializadas que tengan los prefijos gv_$ y v_$.

Para activar la validación de AWS DMS para objetos grandes (LOB), se requieren los siguientes permisos:

GRANT execute on sys.dbms_crypto to <dms_user>;

Si utiliza el atributo de conexión adicional addSupplementalLogging, se requieren los siguientes permisos:

GRANT ALTER ANY TABLE to <dms\_user>

Bases de datos de origen de Oracle con tareas de replicación continuas

Oracle ofrece dos métodos para leer los registros de rehacer durante la replicación continua: Oracle LogMiner y Oracle Binary Reader. Según el método que utilice, debe conceder al usuario de origen permisos adicionales después de conceder los permisos necesarios mencionados anteriormente.

Para utilizar LogMiner, se requieren los siguientes permisos:

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

Para Oracle 12c y versiones posteriores, se requieren estos permisos:

GRANT LOGMINING TO <dms\_user>;

Binary Reader utiliza los directorios de Oracle para leer rehacer y archivar registros. Debe conceder acceso a AWS DMS para crear los directorios de Oracle en la base de datos de origen:

GRANT CREATE ANY DIRECTORY to <dms\_user>;

Para utilizar AWS DMS para crear los directorios de Oracle, debe conceder el privilegio CREATE ANY DIRECTORY. AWS DMS crea los nombres de los directorios con el prefijo DMS_. Si no concede el privilegio CREATE ANY DIRECTORY, debe crear los directorios manualmente. Cuando crea manualmente los directorios de Oracle, el usuario de Oracle que especifica en el punto de conexión no siempre es el usuario que creó los directorios. En estos casos, debe conceder el privilegio READ on DIRECTORY.

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

Para confirmar que se han creado los directorios, consulte la tabla ALL_DIRECTORIES. Para utilizar Binary Reader para acceder a los registros de rehacer de Automatic Storage Management (ASM), conceda los siguientes permisos al usuario de Oracle en el punto de conexión:

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 admite Oracle Active Data Guard Standby como origen. En el modo Active Data Guard, puede abrir bases de datos en espera en modo de solo lectura. Después de conceder los permisos mencionados anteriormente en la instancia principal, realice varios cambios de registro para replicar los permisos en la base de datos en espera. Para obtener más información, consulte Forcing log switches en el sitio web de Oracle.

Información relacionada

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

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses