Este tema describe cómo utilizar Data Transmission Service (DTS) para migrar datos desde una base de datos Db2 for LUW autogestionada hacia una instancia de AnalyticDB for PostgreSQL. DTS admite la migración de esquemas, la migración completa de datos y la migración incremental de datos para esta ruta de migración.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de AnalyticDB for PostgreSQL con espacio de almacenamiento disponible superior al tamaño total de los datos en la base de datos Db2 for LUW de origen. Para crear una instancia, consulte Create an instance
Una base de datos creada en la instancia de destino de AnalyticDB for PostgreSQL para recibir los datos migrados. Para más detalles, consulte Import vector data
Una cuenta de base de datos con los permisos necesarios (consulte Permisos necesarios)
Solo para migración incremental de datos:
El registro de archivado habilitado en la base de datos Db2 for LUW de origen, configurado mediante
logarchmeth1ologarchmeth2. Para obtener detalles sobre la configuración, consulte logarchmeth1 y logarchmeth2
Después de modificar las configuraciones de logarchmeth, realice una copia de seguridad de la base de datos de origen para que el cambio surta efecto. De lo contrario, DTS devolverá un error durante la comprobación previa.
Para consultar las versiones de base de datos compatibles, véase Overview of data migration scenarios.
Facturación
|
Tipo de migración |
Tarifa de configuración de instancia |
Tarifa de tráfico por Internet |
|
Migración de esquema y migración completa de datos |
Gratuita |
Gratuita |
|
Migración incremental de datos |
Con cargo. Consulte Billing overview. |
— |
Permisos necesarios
|
Base de datos |
Migración de esquema |
Migración completa de datos |
Migración incremental de datos |
|
Db2 for LUW |
CONNECT y SELECT |
CONNECT y SELECT |
Autoridad DBADM |
|
AnalyticDB for PostgreSQL |
— |
Permisos de lectura y escritura en la base de datos de destino |
— |
Para obtener instrucciones sobre cómo crear cuentas y otorgar permisos:
Db2 for LUW: Creación de ID de grupo y usuario para una instalación de base de datos Db2 y Descripción general de autoridades
AnalyticDB for PostgreSQL: Create a database account y Manage users and permissions
Limitaciones
Durante la migración de esquemas, DTS migra las claves foráneas de la base de datos de origen a la base de datos de destino.
Durante la migración completa de datos y la migración incremental de datos, DTS deshabilita temporalmente las comprobaciones de restricciones de clave foránea y las operaciones en cascada a nivel de sesión. Realizar operaciones en cascada o de eliminación en la base de datos de origen durante la migración puede provocar inconsistencia en los datos.
Limitaciones de la base de datos de origen
El servidor de origen debe tener suficiente ancho de banda de salida; de lo contrario, la velocidad de migración disminuirá.
Las tablas deben tener una restricción PRIMARY KEY o UNIQUE con todos los campos únicos. Sin esto, la base de datos de destino podría contener registros duplicados.
Si utiliza la asignación de nombres de objetos para cambiarles el nombre y desea migrar más de 1,000 tablas, divida la migración en varias tareas o migre toda la base de datos en su lugar. Las tareas dirigidas a más de 1,000 tablas seleccionadas individualmente con cambio de nombre fallarán con un error de solicitud.
-
Para la migración incremental de datos:
El registro de datos debe estar habilitado en la base de datos de origen. DTS fallará la comprobación previa si el registro está deshabilitado.
Solo migración incremental: los registros de datos deben conservarse durante más de 24 horas.
Migración completa de datos + migración incremental de datos: los registros de datos deben conservarse durante al menos 7 días. Una vez completada la migración completa, puede reducir el período de retención a más de 24 horas.
Si el período de retención es insuficiente, DTS podría no leer los registros de datos, lo que causaría un fallo en la tarea o, en casos excepcionales, inconsistencia o pérdida de datos. Este escenario queda fuera del alcance del Acuerdo de Nivel de Servicio (SLA) de DTS.
Durante la migración completa de datos, no realice operaciones DDL en la base de datos de origen. Los cambios de esquema durante esta fase provocan el fallo de la tarea.
Si ejecuta solo la migración completa de datos (sin migración incremental), evite escribir en la base de datos de origen durante la migración. Para garantizar la consistencia de los datos, ejecute conjuntamente la migración de esquemas, la migración completa de datos y la migración incremental de datos.
Otras limitaciones
La migración incremental de datos utiliza la tecnología de replicación de captura de datos modificados (CDC) de Db2 for LUW. CDC tiene sus propias restricciones de tipos de datos. Consulte Restricciones generales de datos para SQL Replication.
Solo se pueden seleccionar tablas como objetos de migración. Las tablas optimizadas para anexión (AO) no son compatibles como tipo de tabla de destino.
Durante la migración de esquemas y la migración incremental de datos, las claves foráneas no se migran a la base de datos de destino.
Las operaciones INSERT simultáneas durante la migración completa de datos provocan fragmentación del tablespace. El tablespace de destino será más grande que el de origen una vez finalizada la migración completa.
Si herramientas distintas a DTS escriben en la base de datos de destino durante la migración, puede producirse inconsistencia en los datos. Una vez finalizada la migración, utilice Data Management (DMS) para realizar operaciones DDL en línea. Consulte Perform lock-free DDL operations.
Si se utiliza la asignación de columnas para una migración que no sea de tabla completa, o si los esquemas de origen y destino difieren, se perderán los datos de las columnas de origen que no existan en el destino.
Ejecute las migraciones en horarios de baja actividad siempre que sea posible. La migración completa de datos utiliza recursos de lectura y escritura en ambas bases de datos, lo que incrementa la carga del servidor.
Limitaciones específicas de Db2 for LUW autogestionado
Si ocurre un failover primario/secundario en la base de datos de origen mientras se ejecuta la tarea de migración, la tarea fallará.
DTS calcula la latencia de migración como la diferencia entre la marca de tiempo del último registro migrado en la base de datos de destino y la marca de tiempo actual en la base de datos de origen. Si no se realizan operaciones DML en el origen durante un período prolongado, la latencia mostrada puede ser inexacta. Para actualizar la lectura de latencia, realice una operación DML en el origen. Si selecciona una base de datos completa como objeto de migración, cree una tabla de latidos que se actualice cada segundo.
Operaciones SQL admitidas para migración incremental
|
Tipo de operación |
Sentencias SQL |
|
DML |
INSERT, UPDATE, DELETE |
Crear una tarea de migración
Los siguientes pasos le guiarán para configurar e iniciar una tarea de migración de DTS desde una base de datos Db2 for LUW autogestionada hacia una instancia de AnalyticDB for PostgreSQL.
Paso 1: Ir a la página Data Migration Tasks
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.
Los pasos anteriores pueden variar según el modo y el diseño de la consola DMS. Para más detalles, consulte Modo simple y Personalizar el diseño y estilo de la consola DMS . Alternativamente, vaya directamente a la página Data Migration Tasks .
Paso 2: Configurar las bases de datos de origen y destino
-
En la lista desplegable junto a Data Migration Tasks, seleccione la región donde reside la instancia de migración.
En la nueva consola DTS, seleccione la región en la esquina superior izquierda.
Haga clic en Create Task. En el asistente Create Task, configure los siguientes parámetros.
Base de datos de origen
|
Parámetro |
Descripción |
|
Select an existing DMS database instance (opcional) |
Seleccione una instancia registrada existente para completar automáticamente sus parámetros, u omita este paso y configure los parámetros manualmente. |
|
Database Type |
Seleccione DB2 for LUW. |
|
Access Method |
Seleccione el método de acceso según dónde esté implementada la base de datos de origen. Este ejemplo utiliza Self-managed Database on ECS. Para otros métodos de acceso, consulte Preparation overview. |
|
Instance Region |
La región donde reside la base de datos Db2 for LUW de origen. |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No si el origen y el destino están bajo la misma cuenta de Alibaba Cloud (como en este ejemplo). |
|
ECS Instance ID |
El ID de la instancia de Elastic Compute Service (ECS) que aloja la base de datos Db2 for LUW de origen. |
|
Port Number |
El puerto de servicio de la base de datos Db2 for LUW de origen. |
|
Database Name |
El nombre de la base de datos de origen que contiene los objetos a migrar. |
|
Database Account |
La cuenta para la base de datos de origen. Para conocer los permisos necesarios, consulte Permisos necesarios. |
|
Database Password |
La contraseña de la cuenta de la base de datos. |
Base de datos de destino
|
Parámetro |
Descripción |
|
Select an existing DMS database instance (opcional) |
Seleccione una instancia registrada existente para completar automáticamente sus parámetros, u omita este paso y configure los parámetros manualmente. |
|
Database Type |
Seleccione AnalyticDB for PostgreSQL. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
La región donde reside la instancia de AnalyticDB for PostgreSQL de destino. |
|
Instance ID |
El ID de la instancia de AnalyticDB for PostgreSQL de destino. |
|
Database Name |
El nombre de la base de datos en la instancia de destino que recibirá los datos migrados. |
|
Database Account |
La cuenta para la base de datos de destino. Para conocer los permisos necesarios, consulte Permisos necesarios. |
|
Database Password |
La contraseña de la cuenta de la base de datos. |
Paso 3: Probar la conectividad
Haga clic en Test Connectivity and Proceed.
DTS agrega automáticamente sus bloques CIDR a la configuración de seguridad de las instancias de bases de datos de Alibaba Cloud y de las bases de datos alojadas en ECS. Para bases de datos autogestionadas en un centro de datos o en una nube de terceros, agregue manualmente los bloques CIDR de DTS a la lista blanca de direcciones IP de la base de datos. Consulte Agregar los bloques CIDR de los servidores DTS a la configuración de seguridad de bases de datos locales.
Agregar bloques CIDR de DTS a su lista blanca de direcciones IP o a las reglas de security group de ECS conlleva riesgos de seguridad. Antes de continuar, tome medidas preventivas tales como: usar credenciales de cuenta seguras, restringir puertos expuestos, autenticar llamadas a la API, auditar regularmente las entradas de la lista blanca y conectarse a DTS a través de Express Connect, VPN Gateway o Smart Access Gateway.
Paso 4: Configurar objetos de migración y ajustes avanzados
Configure los siguientes parámetros.
Tipos de migración
Elija el tipo de migración según el tiempo de inactividad que pueda aceptar:
|
Opción |
Cuándo utilizarla |
|
Schema Migration + Full Data Migration |
Úselo cuando pueda detener las escrituras en la base de datos de origen antes de migrar. La tarea se completa después de finalizar la carga inicial de datos. |
|
Schema Migration + Full Data Migration + Incremental Data Migration (recomendado) |
Úselo cuando la base de datos de origen deba permanecer en producción durante la migración. La migración incremental captura y aplica cambios continuamente hasta que realice el corte. |
Si no selecciona Incremental Data Migration , evite escribir en la base de datos de origen durante la migración para prevenir inconsistencia en los datos.
Otros ajustes
|
Parámetro |
Descripción |
|
DDL and DML Operations to Be Synchronized |
Las operaciones SQL a incluir en la migración incremental. Para ver las operaciones admitidas, consulte SQL operations supported for incremental migration. Para configurar el filtrado de operaciones SQL por objeto, haga clic derecho sobre un objeto en la sección Selected Objects y seleccione las operaciones en el cuadro de diálogo. |
|
Processing Mode of Conflicting Tables |
Precheck and Report Errors: DTS falla la comprobación previa si alguna tabla de destino comparte nombre con las tablas de origen. Utilice la asignación de nombres de objetos para renombrar las tablas en conflicto antes de iniciar la tarea. Consulte Asignar nombres de objetos. Ignore Errors and Proceed: DTS omite la comprobación de conflictos de nombres. Si las tablas de origen y destino comparten el mismo esquema, los registros con valores de clave primaria coincidentes no se migran. Si los esquemas difieren, solo se migran las columnas coincidentes o la tarea puede fallar. Utilícelo con precaución. |
|
Capitalization of Object Names in Destination Instance |
Controla el uso de mayúsculas y minúsculas en los nombres de bases de datos, tablas y columnas en el destino. El valor predeterminado es DTS default policy. Haga coincidir esto con la convención de mayúsculas/minúsculas predeterminada de la base de datos de destino (por ejemplo, minúsculas) para evitar errores durante la tarea. Consulte Especificar el uso de mayúsculas en nombres de objetos en la instancia de destino. |
|
Source Objects |
Seleccione uno o varios objetos y haga clic en el icono |
|
Selected Objects |
Para cambiar el nombre de un objeto, haga clic derecho sobre él y utilice la función de asignación de nombres de objetos. Para cambiar el nombre de varios objetos a la vez, haga clic en Batch Edit. Consulte Asignar nombres de objetos. Para filtrar filas por condición, haga clic derecho sobre un objeto y especifique una cláusula WHERE. Consulte Use SQL conditions to filter data. |
La asignación de nombres de objetos y las diferencias de esquema entre el origen y el destino pueden resultar en pérdida de datos para columnas que existen en el origen pero no en el destino.
Paso 5: Configurar ajustes avanzados
Haga clic en Next: Advanced Settings y configure los siguientes parámetros.
Verificación de datos
Consulte Enable data verification.
Ajustes avanzados
| Parámetro | Descripción |
|---|---|
| Select the dedicated cluster used to schedule the task | De forma predeterminada, DTS programa la tarea en el clúster compartido. Para usar un clúster dedicado, adquiera uno y especifíquelo aquí. Consulte ¿Qué es un clúster dedicado de DTS?. |
| Set Alerts | Seleccione Yes para recibir notificaciones cuando la tarea falle o la latencia de migración supere el umbral. Especifique el umbral y los contactos de alerta. Consulte Configurar monitoreo y alertas. |
| Retry Time for Failed Connections | Tiempo durante el cual DTS reintenta si falla la conexión a la base de datos de origen o destino después de iniciada la tarea. Rango: 10–1440 minutos. Predeterminado: 720 minutos. Establezca un mínimo de 30 minutos. Si DTS se reconecta dentro de este período, reanudará la tarea; de lo contrario, la tarea fallará. Nota
Si varias tareas comparten el mismo origen o destino, el tiempo de reintento establecido más recientemente tendrá efecto. Durante el reintento, se le cobrará por la instancia de DTS. |
| The wait time before a retry when other issues occur in the source and destination databases | Tiempo durante el cual DTS reintenta operaciones DDL o DML fallidas. Rango: 1–1440 minutos. Predeterminado: 10 minutos. Establezca un mínimo de 10 minutos. Este valor debe ser menor que Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Limita la velocidad de la migración completa de datos para reducir la carga en el destino. Configure QPS (queries per second) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s). Se muestra solo cuando se selecciona Full Data Migration. |
| Enable Throttling for Incremental Data Migration | Limita la velocidad de la migración incremental de datos. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s). Se muestra solo cuando se selecciona Incremental Data Migration. |
| Environment Tag | Una etiqueta opcional para identificar la instancia de DTS por entorno (por ejemplo, producción o pruebas). |
| Configure ETL | Seleccione Yes para utilizar la función de extracción, transformación y carga (ETL) e introducir sentencias de procesamiento de datos. Consulte Configurar ETL en una tarea de migración o sincronización de datos. |
Paso 6: Configurar campos de base de datos y tablas (opcional)
Haga clic en Next: Configure Database and Table Fields para establecer el Type, la Primary Key Column y la Distribution Key para las tablas que se migrarán a AnalyticDB for PostgreSQL.
Este paso aplica únicamente cuando se selecciona Schema Migration . Establezca Definition Status en All para ver y modificar todas las tablas.
En el campo Primary Key Column , especifique varias columnas para formar una clave primaria compuesta. Al menos una columna de clave primaria también debe designarse como clave de distribución.
Para obtener detalles sobre la configuración de claves primarias y de distribución, consulte Manage tables y Define table distribution .
Paso 7: Ejecutar la comprobación previa
Haga clic en Next: Save Task Settings and Precheck.
Para previsualizar los parámetros de la API para esta configuración de tarea, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters antes de guardar.
DTS ejecuta una comprobación previa antes de iniciar la tarea. La tarea solo comienza después de pasar dicha comprobación.
Si la comprobación previa falla, haga clic en View Details junto a cada elemento fallido, resuelva los problemas y luego haga clic en Precheck Again .
Si un elemento de alerta puede ignorarse de forma segura, haga clic en Confirm Alert Details , luego en Ignore , después en OK y finalmente en Precheck Again . Ignorar alertas puede resultar en inconsistencia de datos.
Paso 8: Adquirir e iniciar
Espere a que la success rate de la comprobación previa alcance el 100%, luego haga clic en Next: Purchase Instance.
-
En la página Purchase Instance, configure lo siguiente:
Sección Parámetro Descripción New Instance Class Resource Group El resource group para la instancia de migración. Predeterminado: default resource group. Consulte ¿Qué es Resource Management? Instance Class La clase de instancia determina la velocidad de migración. Selecciónela según su volumen de datos y requisitos de tiempo. Consulte Specifications of data migration instances. Lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.
Haga clic en Buy and Start. La tarea aparecerá en la lista de tareas donde podrá monitorear su progreso.
Pasos siguientes
Habilitar verificación de datos para validar los datos migrados.
Perform lock-free DDL operations en la base de datos de destino utilizando DMS una vez completada la migración.
Asignar nombres de objetos si el origen y el destino utilizan convenciones de nomenclatura diferentes.