Puede utilizar Data Transmission Service (DTS) para migrar datos desde una base de datos Oracle autogestionada hacia un proyecto de DataHub, con el fin de realizar análisis de streaming en tiempo real y desarrollar aplicaciones.
Requisitos previos
Asegúrese de cumplir con los siguientes requisitos:
DataHub debe estar activado y debe haber creado un proyecto de DataHub para recibir los datos migrados. Para obtener más información, consulte Get started with DataHub y Manage projects.
La base de datos Oracle autogestionada debe ejecutarse en modo ARCHIVELOG, con archivos de registro archivados accesibles y un periodo de retención adecuado. Para obtener más información, consulte Managing Archived Redo Log Files.
El registro suplementario debe estar habilitado en la base de datos Oracle autogestionada, con
SUPPLEMENTAL_LOG_DATA_PKySUPPLEMENTAL_LOG_DATA_UIconfigurados en Yes. Para obtener más información, consulte Supplemental Logging.Debe comprender las capacidades y límites de DTS para la migración de datos de Oracle. Utilice Advanced Database & Application Migration (ADAM) para evaluar la viabilidad y los costos de la migración. Para obtener más información, consulte Prepare an Oracle database y Overview.
Para consultar las versiones compatibles de bases de datos Oracle y proyectos de DataHub, consulte Overview of data migration scenarios .
Límites
Límites de la base de datos de origen
Redes y conectividad
El servidor que aloja la base de datos de origen debe contar con suficiente ancho de banda de salida. Un ancho de banda insuficiente reduce la velocidad de migración.
Si la base de datos de origen es una base de datos Oracle RAC conectada mediante Express Connect, especifique una VIP al configurar la base de datos de origen.
Si la base de datos de origen es una base de datos Oracle RAC conectada mediante Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway o Cloud Enterprise Network (CEN), utilice una única VIP en lugar de una dirección IP de Single Client Access Name (SCAN). Tras especificar la VIP, no se admite la conmutación por error de nodos para la base de datos Oracle RAC.
Restricciones de tipos de datos
Si un campo VARCHAR2 en la base de datos Oracle de origen contiene una cadena vacía (evaluada como null en Oracle) y el campo correspondiente en el destino tiene una restricción NOT NULL, la tarea de migración fallará.
Requisitos de objetos
Las tablas que se van a migrar deben tener restricciones PRIMARY KEY o UNIQUE, y todos los campos deben ser únicos. De lo contrario, podrían aparecer registros de datos duplicados en la base de datos de destino.
Para Oracle 12c o versiones posteriores, los nombres de tabla no pueden exceder los 30 bytes de longitud.
Al migrar tablas con modificaciones en la base de datos de destino (como cambiar el nombre de tablas o columnas), una sola tarea admite hasta 1,000 tablas. Si necesita migrar más de 1,000 tablas, configure varias tareas para migrar en lotes o migre toda la base de datos.
Requisitos de migración incremental
Deben estar habilitados el registro redo y el registro de archivado.
-
Requisitos de retención de registros:
Solo migración incremental de datos: Almacene los registros redo y los registros de archivado durante más de 24 horas.
Migración completa e incremental de datos: Almacene los registros redo y los registros de archivado durante al menos siete días. Una vez completada la migración completa, reduzca el periodo de retención a más de 24 horas.
Si DTS no logra obtener los registros redo y de archivado, la tarea podría fallar. En casos extremos, podría producirse inconsistencia o pérdida de datos. El Acuerdo de Nivel de Servicio (SLA) de DTS no garantiza la fiabilidad ni el rendimiento del servicio si no se cumplen los requisitos de retención de registros.
Operaciones durante la migración
Durante la migración de esquemas y la migración completa de datos, no ejecute operaciones DDL que modifiquen los esquemas de la base de datos o de las tablas. De lo contrario, la tarea de migración de datos fallará.
Exclusivamente durante la migración completa de datos, no escriba datos en la base de datos de origen. De lo contrario, podría producirse inconsistencia de datos entre las bases de datos de origen y destino. Para mantener la consistencia de los datos, seleccione migración de esquemas, migración completa de datos y migración incremental de datos como tipos de migración.
Durante la migración de datos, no actualice campos LONGTEXT. De lo contrario, la tarea de migración de datos fallará.
Otros límites
Una sola cadena en el proyecto de DataHub de destino no puede exceder los 2 MB de longitud.
Solo se pueden seleccionar tablas como objetos de migración. DTS no admite la migración de desencadenadores.
Migre los datos fuera de las horas pico. Durante la migración completa de datos, DTS consume recursos de lectura y escritura tanto de la base de datos de origen como de la de destino, lo que podría aumentar la carga de los servidores.
Durante la migración completa de datos, las operaciones INSERT simultáneas causan fragmentación en las tablas del clúster de destino. Una vez completada la migración completa, el tamaño del espacio de tablas utilizado en el clúster de destino será mayor que el de la base de datos de origen.
DTS intenta reanudar las tareas de migración con errores dentro de los últimos siete días. Antes de trasladar las cargas de trabajo a la base de datos de destino, detenga o libere las tareas con errores. Alternativamente, ejecute la sentencia
REVOKEpara revocar los permisos de escritura de las cuentas que utiliza DTS para acceder a la base de datos de destino. De lo contrario, los datos de la base de datos de origen sobrescribirán los datos de la base de datos de destino cuando se reanude una tarea con errores.Podría producirse inconsistencia de datos entre las bases de datos de origen y destino si se escriben datos de otras fuentes en la base de datos de destino durante la migración.
Facturación
| Tipo de migración | Cargo por configuración de tarea | Cargo por transferencia de datos |
|---|---|---|
| Migración de esquemas | Sin cargo. | Sin cargo en este ejemplo. Nota
Se aplica un cargo solo cuando los datos se migran desde Alibaba Cloud a través de Internet. Para obtener más información, consulte Billing overview. |
| Migración incremental de datos | Con cargo. Para obtener más información, consulte Billing overview. |
Operaciones SQL compatibles para la migración incremental
|
Tipo de operación |
Sentencia SQL |
|
DML |
INSERT, UPDATE y DELETE |
|
DDL |
CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE y TRUNCATE TABLE; CREATE VIEW, ALTER VIEW y DROP VIEW; CREATE PROCEDURE, ALTER PROCEDURE y DROP PROCEDURE; CREATE FUNCTION, DROP FUNCTION, CREATE TRIGGER y DROP TRIGGER; CREATE INDEX y DROP INDEX |
Permisos necesarios para las cuentas de base de datos
|
Tipo de base de datos |
Migración de esquemas |
Migración incremental de datos |
Referencias |
|
Base de datos Oracle autogestionada |
Permisos del propietario del esquema |
Permisos detallados |
Para migrar datos incrementales desde una base de datos Oracle, habilite el registro de archivado y el registro suplementario para obtener los datos incrementales. Para obtener más información, consulte la sección Configure an Oracle database del tema "Prepare an Oracle database".
Procedimiento
Paso 1: Abrir la página de tareas de migración de datos
Inicie sesión en la consola de Data Management (DMS).
En la barra de navegación superior, haga clic en DTS.
En el panel de navegación izquierdo, elija DTS (DTS) > Data Migration.
Las operaciones pueden variar según el modo y el diseño de la consola de DMS. Para obtener más información, consulte Simple mode y Customize the layout and style of the DMS console .
También está disponible la página de Tareas de Migración de Datos de la nueva consola de DTS .
Paso 2: Seleccionar una región y crear una tarea
-
En la lista desplegable junto a Data Migration Tasks, seleccione la región donde reside la instancia de migración de datos.
En la nueva consola de DTS, seleccione la región en la esquina superior izquierda.
Haga clic en Create Task.
Paso 3: Configurar las bases de datos de origen y destino
En la página Create Task, configure las conexiones de las bases de datos de origen y destino.
Después de configurar las bases de datos de origen y destino, lea los Limits que se muestran en la parte superior de la página. De lo contrario, la tarea podría fallar o podría producirse inconsistencia de datos.
Configuración de la tarea
|
Parámetro |
Descripción |
|
Task Name |
DTS asigna automáticamente un nombre a la tarea. Especifique un nombre descriptivo para facilitar la identificación de la tarea. No es necesario que el nombre sea único. |
Configuración de la base de datos de origen
| Parámetro | Descripción |
|---|---|
| Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) | Si selecciona una instancia de base de datos de DMS existente, DTS completa automáticamente los parámetros de la base de datos. De lo contrario, configure manualmente los parámetros de la base de datos de origen. |
| Database Type | Seleccione Oracle. |
| Access Method | Seleccione un valor según la ubicación de despliegue de la base de datos de origen. En este ejemplo, se selecciona Self-managed Database on ECS. Importante
Para otros métodos de acceso, configure el entorno necesario para la base de datos Oracle autogestionada. Para obtener más información, consulte Preparation overview. |
| Instance Region | La región donde reside la base de datos Oracle de origen. Seleccione la región correcta para garantizar la conectividad. |
| ECS Instance ID | El ID de la instancia de Elastic Compute Service (ECS) donde se despliega la base de datos Oracle de origen. |
| Port Number | El número de puerto de servicio de la base de datos Oracle de origen. Valor predeterminado: 1521. |
| Oracle Type | La arquitectura de la base de datos Oracle de origen. Seleccione Non-RAC Instance y especifique el parámetro SID, o bien seleccione RAC or PDB Instance y especifique el parámetro Service Name. En este ejemplo, se selecciona RAC or PDB Instance con Service Name especificado. |
| Database Account | La cuenta de la base de datos Oracle autogestionada. Para consultar los permisos necesarios, consulte Permisos necesarios para las cuentas de base de datos. |
| Database Password | La contraseña de la cuenta de la base de datos. |
Configuración de la base de datos de destino
|
Parámetro |
Descripción |
|
Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) |
Si selecciona una instancia de base de datos de DMS existente, DTS completa automáticamente los parámetros de la base de datos. De lo contrario, configure manualmente los parámetros de la base de datos de destino. |
|
Database Type |
Seleccione DataHub. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
La región donde reside el proyecto de DataHub de destino. |
|
Project |
El nombre del Project de destino. |
Paso 4: Probar la conectividad
En la parte inferior de la página, haga clic en Test Connectivity and Proceed.
-
Si hay una lista blanca configurada para la base de datos Oracle autogestionada, agregue los bloques CIDR de los servidores de DTS a la lista blanca y luego haga clic en Test Connectivity and Proceed. DTS gestiona la configuración de la lista blanca de forma diferente según el tipo de base de datos:
Instancias de bases de datos de Alibaba Cloud (como ApsaraDB RDS for MySQL o ApsaraDB for MongoDB): DTS agrega automáticamente los bloques CIDR de los servidores de DTS a la lista blanca de direcciones IP.
Bases de datos autogestionadas en ECS: DTS agrega automáticamente los bloques CIDR a las reglas del security group de ECS. Asegúrese de que la instancia de ECS pueda acceder a la base de datos. Si hay varias instancias de ECS, agregue manualmente los bloques CIDR a cada security group.
Bases de datos autogestionadas en un centro de datos o en una nube de terceros: Agregue manualmente los bloques CIDR de los servidores de DTS a la lista blanca de direcciones IP de la base de datos. Para obtener más información, consulte la sección CIDR blocks of DTS servers del tema Add the CIDR blocks of DTS servers.
Agregar bloques CIDR públicos de servidores de DTS a una lista blanca de base de datos o a un security group de ECS introduce riesgos de seguridad. Antes de utilizar DTS, reconozca los riesgos potenciales y tome medidas preventivas, que incluyen, entre otras: fortalecer la seguridad de nombres de usuario y contraseñas, limitar los puertos expuestos, autenticar llamadas a API, revisar periódicamente las listas blancas o reglas de security group y eliminar bloques CIDR no autorizados, o conectar la base de datos a DTS mediante Express Connect, VPN Gateway o Smart Access Gateway.
Paso 5: Configurar objetos de migración y ajustes avanzados
Objetos de migración
| Parámetro | Descripción |
|---|---|
| Migration Types | Seleccione Schema Migration y Incremental Data Migration. No se puede seleccionar Full Data Migration. Nota
Si no selecciona Incremental Data Migration, no escriba datos en la base de datos de origen durante la migración para mantener la consistencia de los datos. |
| Naming Rules of Additional Columns | Cuando DTS migra datos a DataHub, agrega columnas adicionales al topic de destino. Si una columna adicional tiene el mismo nombre que una columna existente en el topic de destino, la tarea de migración fallará. Seleccione New Rule o Previous Rule según sus necesidades. Aviso
Antes de configurar este parámetro, compruebe si las columnas adicionales tienen conflictos de nombre con las columnas existentes en el topic de destino. Los conflictos de nombres pueden causar fallos en la tarea y pérdida de datos. Para obtener más información, consulte Modify the naming rules for additional columns. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: Comprueba si la base de datos de destino contiene tablas con los mismos nombres que las de la base de datos de origen. Si existen nombres de tabla idénticos, la comprobación previa devuelve un error y la tarea no puede iniciarse. Nota
Si existen nombres de tabla idénticos y las tablas de destino no se pueden eliminar ni renombrar, utilice la función de asignación de nombres de objetos para cambiar el nombre de las tablas migradas. Para obtener más información, consulte Map object names. Ignore Errors and Proceed: Omite la comprobación previa de nombres de tabla idénticos. Aviso
Seleccionar Ignore Errors and Proceed puede causar inconsistencia de datos. Si los esquemas coinciden, DTS omite los registros de datos con las mismas claves primarias. Si los esquemas difieren, solo se migran columnas específicas o la tarea falla. |
| Capitalization of Object Names in Destination Instance | El uso de mayúsculas y minúsculas en los nombres de bases de datos, tablas y columnas en la instancia de destino. De forma predeterminada, se selecciona DTS default policy. Para obtener más información, consulte Specify the capitalization of object names in the destination instance. |
| Source Objects | Seleccione uno o varios objetos en la sección Source Objects y haga clic en el icono Nota
Solo se pueden seleccionar tablas como objetos de migración. |
| Selected Objects | - Para cambiar el nombre de un solo objeto, haga clic derecho sobre él en la sección Selected Objects. Para obtener más información, consulte Map the name of a single object. - Para cambiar el nombre de varios objetos a la vez, haga clic en Batch Edit en la esquina superior derecha de la sección Selected Objects. Para obtener más información, consulte Map multiple object names at a time. Nota
No se admite la asignación de nombres de bases de datos. Cambiar el nombre de un objeto puede provocar fallos en objetos dependientes durante la migración. Los nombres de objetos incluyen nombres de tablas y columnas. - Para filtrar datos con condiciones WHERE, haga clic derecho en la tabla dentro de la sección Selected Objects y configure las condiciones de filtro en el cuadro de diálogo. Para obtener más información, consulte Set filter conditions. - Para configurar el parámetro ShardKey, haga clic derecho en la tabla dentro de la sección Selected Objects y desmarque Synchronize All Tables en el cuadro de diálogo. |
Configuración avanzada
Haga clic en Next: Advanced Settings para configurar los siguientes parámetros.
| Parámetro | Descripción |
|---|---|
| Select the dedicated cluster used to schedule the task | De forma predeterminada, DTS programa la tarea en un clúster compartido. Opcionalmente, puede adquirir un clúster dedicado para ejecutar la tarea de migración. Para obtener más información, consulte What is a DTS dedicated cluster. |
| Retry Time for Failed Connections | La duración de reintento cuando falla una conexión a la base de datos de origen o de destino. Valores válidos: de 10 a 1440 minutos. Valor predeterminado: 720. Se recomienda establecer un valor superior a 30. Si DTS se reconecta dentro de la duración especificada, reanudará la tarea. De lo contrario, la tarea fallará. Nota
Si varias tareas comparten la misma base de datos de origen o de destino, prevalecerá la duración de reintento configurada más recientemente. DTS cobra por la instancia durante los reintentos. Establezca la duración de reintento según sus necesidades y libere la instancia de DTS tan pronto como se libere la instancia de origen o de destino. |
| The wait time before a retry when other issues occur in the source and destination databases. | La duración de reintento para otros problemas, como operaciones DDL o DML fallidas. Valores válidos: de 1 a 1440 minutos. Valor predeterminado: 10. Se recomienda establecer un valor superior a 10. Si las operaciones se completan correctamente dentro de la duración especificada, DTS reanudará la tarea. De lo contrario, la tarea fallará. Importante
Este valor debe ser menor que el valor de Retry Time for Failed Connections. |
| Enable Throttling for Incremental Data Migration | Indica si se debe habilitar la limitación de ancho de banda para la migración incremental de datos. Configure los parámetros RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s) para reducir la carga en los servidores de destino. Nota
Disponible solo cuando se selecciona Incremental Data Migration en Migration Types. |
| Environment Tag | La etiqueta de entorno para identificar la instancia de DTS. Seleccione una etiqueta según sus necesidades. |
| Actual Write Code | El formato de codificación de los datos escritos en la base de datos de destino. |
| Configure ETL | Indica si se debe habilitar la función de extracción, transformación y carga (ETL). Para obtener más información, consulte What is ETL?. Yes: Habilita ETL. Introduzca las sentencias de procesamiento de datos en el editor de código. Para obtener más información, consulte Configure ETL in a data migration or data synchronization task. No: Deshabilita ETL. |
| Monitoring and Alerting | Indica si se deben configurar alertas para la tarea de migración. Si la tarea falla o la latencia de migración supera el umbral, se notificará a los contactos de alerta. No: Deshabilita las alertas. Yes: Habilita las alertas. Configure el umbral de alerta y los ajustes de notificación. Para obtener más información, consulte Configure monitoring and alerting for a new DTS task. |
Paso 6: Ejecutar la comprobación previa e iniciar la tarea
-
Guarde la configuración de la tarea y ejecute una comprobación previa. También puede previsualizar los parámetros de OpenAPI antes de iniciar la comprobación previa.
Para ver los parámetros de API de la tarea de DTS, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters.
Haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.
- DTS realiza una comprobación previa antes de iniciar la tarea de migración. La tarea solo puede iniciarse después de superar la comprobación previa. - Si la comprobación previa falla, haga clic en View Details junto a cada elemento fallido. Analice las causas y solucione los problemas, luego vuelva a ejecutar la comprobación previa. - Si se genera una alerta durante la comprobación previa: - Si el elemento de alerta no se puede ignorar, haga clic en View Details junto al elemento fallido, solucione los problemas y vuelva a ejecutar la comprobación previa. - Si el elemento de alerta se puede ignorar, haga clic en Confirm Alert Details . En el cuadro de diálogo View Details, haga clic en Ignore y luego en OK . Haga clic en Precheck Again para volver a ejecutar la comprobación previa. Ignorar elementos de alerta puede causar inconsistencia de datos y exponer su negocio a riesgos potenciales.
Espere hasta que la success rate alcance el 100% y luego haga clic en Next: Purchase Instance.
-
En la página Purchase Instance, configure los siguientes parámetros.
Parámetro
Descripción
Resource Group Settings
El resource group para la instancia de migración de datos. Valor predeterminado: default resource group. Para obtener más información, consulte What is Resource Management?.
Instance Class
La clase de instancia determina la velocidad de migración. Seleccione una clase de instancia según su escenario. Para obtener más información, consulte Specifications of data migration instances.
Marque la casilla de verificación Data Transmission Service (Pay-as-you-go) Service Terms.
Haga clic en Buy and Start para iniciar la tarea de migración de datos. Puede consultar el progreso de la tarea en la lista de tareas.