Saltar al contenido

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

6 minutos de lectura
0

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

Resolución

Los permisos necesarios varían según los distintos tipos de configuración de tareas de DMS y los distintos tipos de migración.

Bases de datos de origen de Oracle que administra AWS

Para obtener información sobre los permisos para las bases de datos de Oracle que administra AWS, consulta User account privileges required on a self-managed Oracle source for AWS DMS (Privilegios de cuenta de usuario requeridos en un origen de Oracle autoadministrado para AWS DMS).

Bases de datos de origen de Oracle autoadministradas

Para las bases de datos de Oracle autoadministradas, debes conceder los siguientes permisos al usuario de DMS:

GRANT CREATE SESSION TO dms_user;
GRANT SELECT ANY TRANSACTION TO dms_user;
GRANT SELECT ON V_$ARCHIVED_LOG TO dms_user;
GRANT SELECT ON V_$LOG TO dms_user;
GRANT SELECT ON V_$LOGFILE TO dms_user;
GRANT SELECT ON V_$LOGMNR_LOGS TO dms_user;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO dms_user;
GRANT SELECT ON V_$DATABASE TO dms_user;
GRANT SELECT ON V_$THREAD TO dms_user;
GRANT SELECT ON V_$PARAMETER TO dms_user;
GRANT SELECT ON V_$NLS_PARAMETERS TO dms_user;
GRANT SELECT ON V_$TIMEZONE_NAMES TO dms_user;
GRANT SELECT ON V_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$CONTAINERS TO dms_user;                   
GRANT SELECT ON ALL_INDEXES TO dms_user;
GRANT SELECT ON ALL_OBJECTS TO dms_user;
GRANT SELECT ON ALL_TABLES TO dms_user;
GRANT SELECT ON ALL_USERS TO dms_user;
GRANT SELECT ON ALL_CATALOG TO dms_user;
GRANT SELECT ON ALL_CONSTRAINTS TO dms_user;
GRANT SELECT ON ALL_CONS_COLUMNS TO dms_user;
GRANT SELECT ON ALL_TAB_COLS TO dms_user;
GRANT SELECT ON ALL_IND_COLUMNS TO dms_user;
GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO dms_user;
GRANT SELECT ON ALL_LOG_GROUPS TO dms_user;
GRANT SELECT ON ALL_TAB_PARTITIONS TO dms_user;
GRANT SELECT ON SYS.DBA_REGISTRY TO dms_user;
GRANT SELECT ON SYS.OBJ$ TO dms_user;
GRANT SELECT ON DBA_TABLESPACES TO dms_user;
GRANT SELECT ON DBA_OBJECTS TO dms_user;
GRANT SELECT ON SYS.ENC$ TO dms_user;
GRANT SELECT ON GV_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$DATAGUARD_STATS TO dms_user;
GRANT SELECT ON V_$DATABASE_INCARNATION TO dms_user;

Nota:

  • Concede SELECT ON DBA_OBJECTS solo cuando la versión de Oracle sea anterior a la 11.2.0.3.
  • Si has activado el cifrado de datos transparente (TDE), concede SELECT ON SYS.ENC$.
  • Concede SELECT ON GV_$TRANSACTION solo cuando la base de datos de origen sea Oracle RAC en la versión 3.4.6 o superior de AWS DMS./li>
  • Concede SELECT ON V_$DTATGUARD_STATS solo cuando utilices una base de datos en espera de Oracle Active Data Guard como base de datos de origen en el último lanzamiento de la versión 3.4.6, 3.4.7 o superior de DMS.

Nota: DMS admite las bases de datos en espera de Oracle Data Guard como origen. Al activar Data Guard, puedes abrir bases de datos en espera en modo de solo lectura. Después de conceder los permisos, realiza varios cambios de registro para replicar los permisos en la base de datos en espera. Para obtener más información, consulta Forcing log switches (Forzar los cambios de registro) en el sitio web de Oracle.

Para mostrar las vistas, concede el siguiente permiso:

GRANT SELECT on ALL\_VIEWS to dms_user;

Para exponer las vistas, también debes añadir el atributo de conexión exposeViews=true al punto de enlace del origen.

Puedes utilizar un patrón que coincida con los nombres de las tablas de la tarea de replicación. También puedes permitir que el usuario de la base de datos de origen lea tablas de un esquema diferente. Para cualquiera de las tareas, añade el siguiente permiso:

GRANT SELECT ANY TABLE to dms_user;

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

GRANT SELECT on schema.table;

Para migrar desde Oracle Real Application Clusters (RAC), debes conceder el permiso SELECT en las vistas materializadas con los prefijos gv_$ y v_$.

Para activar la validación de DMS para objetos binarios de gran tamaño (LOB), concede el siguiente permiso:

GRANT execute on sys.dbms_crypto to dms_user;

Si usas el atributo de conexión addSupplementalLogging, concede el siguiente permiso:

GRANT ALTER ANY TABLE to dms_user

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

Para leer los registros de rehacer durante la replicación, Oracle ofrece Oracle LogMiner y Oracle Binary Reader.

Para usar LogMiner, concede el siguiente permiso:

GRANT EXECUTE ON dbms_logmnr TO dms_user;

Para Oracle Database 12c y versiones posteriores, concede el siguiente permiso:

GRANT LOGMINING TO dms_user;

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

GRANT CREATE ANY DIRECTORY to dms_user;

Para utilizar DMS para crear los directorios de Oracle, debes conceder el permiso CREATE ANY DIRECTORY. DMS crea los nombres de los directorios con el prefijo DMS_. Si no concedes el permiso CREATE ANY DIRECTORY, debes crear los directorios manualmente. Cuando creas manualmente los directorios de Oracle, el usuario de Oracle que especifica en el punto de enlace no siempre es el usuario que creó los directorios. En este caso, debes conceder los siguientes permisos 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 has creado los directorios, consulta la tabla ALL_DIRECTORIES.

Para utilizar Binary Reader para acceder a los registros de rehacer de Automatic Storage Management (ASM), concede uno de los siguientes permisos al usuario del punto de enlace de Oracle.

Si almacenas los registros de rehacer en ASM y AWS DMS accede a los registros desde ASM, concede el siguiente permiso:

GRANT SELECT ON v_$transportable_platform  to dms_user;

Para acceder a la cuenta de ASM con el segundo lanzamiento de la versión 11.2.0.2 o superior de Oracle 11g, concede el permiso SYSASM:

GRANT SYSASM to ASM_USER;

Nota: En el caso de las versiones anteriores compatibles de Oracle, puedes conceder el permiso SYSDBA.

Cuando el origen de Oracle usa ASM, puedes usar opciones de alto rendimiento en Binary Reader para procesar transacciones a escala. Las opciones incluyen atributos de conexión adicionales para especificar el número de subprocesos paralelos (parallelASMReadThreads) y el número de búferes de lectura anticipada (readAheadBlocks). Combina los atributos para mejorar el rendimiento de la tarea de CDC.

Para asumir el usuario de ASM, modifica el punto de enlace de origen de Oracle para incluir el usuario de DMS y el usuario de ASM y sepáralos con comas.

Ejemplo de formato de punto de enlace de origen:

Nombre de usuario: oracle_user,asm_user
Contraseña: oracle_user_password,asm_user_password

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 AWSActualizada hace 3 meses