AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
¿Cómo utilizo AWS DMS para migrar datos entre Amazon RDS para Oracle y diferentes bases de datos?
Quiero usar AWS Database Migration Service (AWS DMS) para migrar datos entre Amazon Relational Database Service (Amazon RDS) para Oracle y diferentes bases de datos.
Descripción corta
Para una transferencia masiva de datos única, utiliza Oracle Data Pump con la integración de Amazon Simple Storage Service (Amazon S3).
Para una replicación continua con un tiempo de inactividad mínimo, utiliza los carga completa y la captura de datos de cambios (CDC) de AWS DMS.
Para migraciones de bases de datos heterogéneas, utiliza AWS DMS con la Herramienta de conversión de esquemas de AWS (SCT).
Resolución
Configuración de Amazon RDS para Oracle como origen
La carga completa de AWS DMS genera automáticamente enunciados SELECT para migrar los datos directamente desde las tablas de origen. Sin embargo, para una replicación continua, AWS DMS debe acceder a los registros de rehacer de Oracle para capturar y replicar los cambios en tiempo real. Para especificar el acceso de AWS DMS a los registros de rehacer de Oracle, configura Oracle LogMiner o AWS DMS Binary Reader.
Requisito previo: Elige LogMiner o Binary Reader para CDC. Si no especificas un atributo de conexión relacionado con los CDC, AWS DMS utiliza LogMiner automáticamente para leer los registros de rehacer.
Para configurar Binary Reader para CDC, añade atributos de conexión (ECA) adicionales a tu punto de enlace de origen de AWS DMS.
Para entornos Oracle estándar, utiliza el siguiente ECA:
useLogMinerReader=N;useBfile=Y;
Para los entornos de Oracle Real Application Clusters (Oracle RAC) con Oracle Automatic Storage Management (Oracle ASM), utiliza el siguiente ECA:
useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_server=RAC_server_ip_address:port_number/+ASM;parallelASMReadThreads=6;readAheadBlocks=150000;
Nota: Para el parámetro Password del punto de enlace de origen, introduce la contraseña de usuario de Oracle y la contraseña de Oracle ASM, separadas por comas.
Para añadir las ECA, completa los pasos siguientes:
- Abre la consola de AWS DMS.
- En el panel de navegación, selecciona Migrate or replicate (Migrar o replicar).
- Selecciona Endpoints (Puntos de enlace) y, a continuación, selecciona el punto de enlace de origen.
- Selecciona Modify (Modificar).
- Selecciona Endpoint settings (Configuración de punto de enlace).
- En Extra connection attributes (Atributos de conexión adicionales), especifica los parámetros.
- Selecciona Save changes (Guardar cambios).
Para obtener más información, consulta ¿Cómo puedo añadir o modificar la configuración de los puntos de enlace de AWS DMS?
Configuración de los permisos de la cuenta para LogMiner
Para utilizar LogMiner para acceder a los registros de rehacer, ejecuta los siguientes comandos para conceder permisos al usuario de Oracle que especificaste en la configuración de conexión de puntos de enlace de Oracle:
GRANT EXECUTE on DBMS_LOGMNR to dms_user; GRANT SELECT on V_$LOGMNR_LOGS to dms_user; GRANT SELECT on V_$LOGMNR_CONTENTS to dms_user; GRANT LOGMINING to dms_user;
Activación del registro complementario
El registro complementario captura datos de columnas adicionales en los registros de rehacer que son necesarios para los CDC. Sin un registro adicional, es posible que los registros de rehacer no contengan suficiente información para que AWS DMS identifique y replique los cambios. Para usar LogMiner para los CDC, primero debes activar el registro complementario.
Para activar el registro complementario, ejecuta los siguientes comandos:
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');
Uso de Binary Reader para configurar los CDC
Inicia sesión en la base de datos origen de Amazon RDS para Oracle como usuario principal y ejecuta los siguientes procedimientos almacenados para crear los directorios a nivel de servidor:
exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
Ejecuta los siguientes comandos para conceder permisos a la cuenta de usuario de Oracle que utilizas para acceder al punto de enlace de origen de Oracle:
GRANT READ ON DIRECTORY ONLINELOG_DIR TO dms_user;
GRANT READ ON DIRECTORY ARCHIVELOG_DIR TO dms_user;
Configuración de las ECA en el punto de enlace de origen
Para las versiones 12.1 y anteriores de Amazon RDS para Oracle, utiliza la siguiente ECA:
useLogminerReader=N;useBfile=Y;accessAlternateDirectly=false;useAlternateFolderForOnline=true; oraclePathPrefix=/rdsdbdata/db/{$DATABASE_NAME}_A/;usePathPrefix=/rdsdbdata/log/;replacePathPrefix=true;
Para las versiones 12.2 y posteriores de Amazon RDS para Oracle, utiliza la siguiente ECA:
useLogminerReader=N;useBfile=Y;
Configuración de los permisos de la cuenta para Binary Reader
Para utilizar Binary Reader para acceder a los registros de rehacer, ejecuta los siguientes comandos para conceder permisos al usuario de Oracle que especificaste en la configuración de conexión de puntos de enlace de Oracle.
Si has almacenado los registros de rehacer en Oracle Automatic Storage Management (ASM) y AWS DMS accede a ellos desde ASM, ejecuta el siguiente comando:
GRANT SELECT on v_$transportable_platform to dms_user;
Para permitir que AWS DMS utilice el acceso a archivos de lectura BFILE de Oracle, ejecuta el siguiente comando:
GRANT CREATE ANY DIRECTORY to dms_user;
Nota: La instancia de replicación requiere acceso a Oracle BFILE cuando la instancia no tiene acceso a nivel de archivo a los registros de rehacer y estos no están en el almacenamiento de ASM.
Para usar CopyToTempFolder y permitir que los archivos de registros de rehacer se copien en una carpeta temporal, ejecuta el siguiente comando:
GRANT EXECUTE on DBMS_FILE_TRANSFER to dms_user;
Para permitir que AWS DMS administre Oracle BFILE, ejecuta el siguiente comando:
GRANT EXECUTE on DBMS_FILE_GROUP to dms_user;
Configuración de la retención de registros de archivos
Los CDC requieren registros archivados. Para establecer el periodo de retención de registros, ejecuta el siguiente comando:
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',retention_in_hours);commit;
Nota: Sustituye retention_in_hours por la cantidad de horas que deseas retener los registros de archivo.
Configuración de Amazon RDS para Oracle como destino
Crea esquemas y objetos de base de datos relacionados de forma manual o utiliza AWS SCT.
Para otorgar permisos al usuario de AWS DMS, ejecuta los siguientes comandos:
GRANT CREATE SESSION, SELECT ANY TRANSACTION TO dms_user; GRANT DROP ANY TABLE, SELECT ANY TABLE, INSERT ANY TABLE TO dms_user; GRANT UPDATE ANY TABLE, DELETE ANY TABLE TO dms_user; GRANT UNLIMITED TABLESPACE, LOCK ANY TABLE, CREATE ANY INDEX TO dms_user;
Nota: Sustituye dms_user por el nombre de la cuenta de usuario de la base de datos que AWS DMS utiliza para conectarse a la base de datos de Oracle de destino.
Información relacionada
Uso de una base de datos Oracle como origen para AWS DMS
Uso de una base de datos de Oracle como objetivo para AWS Database Migration Services
- Etiquetas
- AWS Database Migration Service
- Idioma
- Español

Contenido relevante
preguntada hace un año
preguntada hace 2 años
preguntada hace un año
preguntada hace un año
preguntada hace 2 años