Utilice Data Transmission Service (DTS) para mantener sincronizada una base de datos Oracle autogestionada con una instancia PolarDB-X 2.0. DTS se encarga de la sincronización de esquemas, la sincronización completa de datos y la sincronización incremental de datos en esta ruta. De este modo, su base de datos Oracle se mantiene actualizada con los cambios continuos de PolarDB-X 2.0.
Requisitos previos
Antes de empezar, asegúrese de que:
La base de datos Oracle autogestionada está creada y cuenta con suficiente almacenamiento disponible para contener todos los datos de la instancia PolarDB-X 2.0 de origen.
Existe un esquema en la base de datos Oracle. Este se crea automáticamente cuando usted crea un usuario en Oracle.
Las cuentas de base de datos, tanto de origen como de destino, tienen los permisos obligatorios. Consulte Permissions required for database accounts.
Limitaciones
Durante la sincronización de esquemas, DTS sincroniza las claves externas de la base de datos de origen a la de destino.
Limitaciones de la base de datos de origen
|
Limitación |
Detalles |
Solución alternativa |
|
Se requiere una clave primaria o una restricción unique |
Las tablas deben tener una restricción PRIMARY KEY o UNIQUE, y todos sus campos deben ser únicos. Sin esto, la base de datos de destino podría contener registros duplicados. |
Agregue una restricción PRIMARY KEY o UNIQUE a las tablas antes de crear la tarea. |
|
Límite de tablas al cambiar el nombre de los objetos |
Si selecciona tablas como objetos para sincronizar y necesita cambiarles el nombre a las tablas o columnas en el destino, una sola tarea admite hasta 5,000 tablas. Superar este límite provoca un error de solicitud. |
Divida el trabajo en varias tareas o cambie la sincronización de nivel de tabla a nivel de base de datos. |
|
Tablas con letras mayúsculas en el nombre |
Para estas tablas solo se admite la sincronización de esquemas. La sincronización completa de datos y la sincronización incremental de datos no están disponibles. |
Cambie el nombre de las tablas en el origen para usar letras minúsculas antes de crear la tarea, o limite el alcance de la tarea únicamente a la sincronización de esquemas. |
|
Parámetro |
El registro binario está habilitado de forma predeterminada en PolarDB-X 2.0. El parámetro |
Establezca |
Otras limitaciones
Ejecute las tareas de sincronización fuera del horario de mayor demanda. La sincronización inicial completa de datos consume recursos de lectura y escritura en ambas bases de datos, lo que puede aumentar la carga del servidor.
Una vez que finaliza la sincronización inicial completa de datos, el tablespace de destino es más grande que el de origen debido a la fragmentación generada por las operaciones INSERT simultáneas.
Durante la sincronización, escriba datos en la base de datos de destino únicamente a través de DTS. Las escrituras desde otras fuentes pueden provocar inconsistencias en los datos.
Se pueden modificar los atributos de una columna como máximo. Los tipos de datos básicos no se pueden modificar.
DTS crea una base de datos llamada
dts_health_checky una tabla llamadaha_health_checken la instancia de origen. Además, actualiza esta tabla periódicamente para avanzar la posición del registro binario.
Facturación
|
Tipo de sincronización |
Tarifa |
|
Sincronización de esquemas y sincronización completa de datos |
Gratuita |
|
Sincronización incremental de datos |
De pago. Consulte Billing overview. |
Operaciones SQL que se pueden sincronizar
DTS admite las siguientes operaciones DML para esta ruta de sincronización: INSERT, UPDATE y DELETE.
|
Tipo de operación |
Instrucción de operación SQL |
|
DML |
INSERT, UPDATE, DELETE |
Permisos obligatorios para las cuentas de base de datos
Otorgue los siguientes permisos antes de configurar la tarea.
|
Base de datos |
Permisos obligatorios |
Referencias |
|
Instancia PolarDB-X 2.0 de origen |
SELECT sobre los objetos que se van a sincronizar (para leer los datos de origen), REPLICATION SLAVE y REPLICATION CLIENT (para leer los registros binarios durante la sincronización incremental) |
Manage database accounts y Permissions required for an account to synchronize data |
|
Base de datos Oracle autogestionada de destino |
Permisos de propietario sobre el esquema (para crear tablas y escribir en ellas dentro del esquema de destino) |
Crear una tarea de sincronización de datos
Paso 1: Ir a la página Data Synchronization Tasks
Inicie sesión en DMS console.
En la barra de navegación superior, haga clic en DTS.
En el panel de navegación izquierdo, elija DTS (DTS) > Data Synchronization.
La navegación real puede variar según el modo y el diseño de DMS. Consulte Modo simple y Personalizar el diseño y el estilo de la consola de DMS . También puede ir directamente a la página Data Synchronization Tasks en la nueva consola de DTS.
Paso 2: Seleccionar una región
En la lista desplegable situada a la derecha de Data Synchronization Tasks, seleccione la región donde desea crear la tarea.Data Synchronization Tasks page of the new DTS console
En la nueva consola de DTS, seleccione la región en la esquina superior izquierda de la página.
Paso 3: Configurar las bases de datos de origen y de destino
Haga clic en Create Task. En el asistente Create Task, configure los siguientes parámetros.
Nombre de la tarea
|
Parámetro |
Descripción |
|
Task Name |
DTS asigna un nombre automáticamente. Especifique un nombre descriptivo para identificar la tarea con mayor facilidad. No es necesario que el nombre sea único. |
Base de datos de origen
|
Parámetro |
Descripción |
|
Select an existing DMS database instance |
Opcional. Seleccione una instancia de DMS existente para completar automáticamente los parámetros siguientes, o deje el campo vacío y configúrelos manualmente. |
|
Database Type |
Seleccione PolarDB-X 2.0. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
Seleccione la región donde reside la instancia PolarDB-X 2.0 de origen. |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No para sincronizar dentro de la misma cuenta de Alibaba Cloud. |
|
Instance ID |
Seleccione la instancia PolarDB-X 2.0 de origen. |
|
Database Account |
Introduzca la cuenta de la base de datos. Consulte Permisos obligatorios para las cuentas de base de datos. |
|
Database Password |
Introduzca 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 de DMS existente para completar automáticamente los parámetros siguientes, o deje el campo vacío y configúrelos manualmente. |
|
Database Type |
Seleccione Oracle. |
|
Access Method |
Seleccione Self-managed Database on ECS. Si utiliza un método de acceso distinto, configure primero el entorno de red. Consulte Preparation overview. |
|
Instance Region |
Seleccione la región donde reside la base de datos Oracle. |
|
ECS Instance ID |
Seleccione la instancia ECS que aloja la base de datos Oracle. |
|
Port Number |
Introduzca el puerto del servicio Oracle. Valor predeterminado: 1521. |
|
Oracle Type |
Seleccione la arquitectura de Oracle: Non-RAC Instance o RAC or PDB Instance. Para una instalación independiente de Oracle, seleccione Non-RAC Instance e introduzca el SID (por ejemplo, |
|
Database Account |
Introduzca la cuenta de la base de datos Oracle. Consulte Permisos obligatorios para las cuentas de base de datos. |
|
Database Password |
Introduzca la contraseña de la cuenta de la base de datos. |
Paso 4: Probar la conectividad
Haga clic en Test Connectivity and Proceed en la parte inferior de la página.
Agregue los bloques CIDR de los servidores de DTS a la configuración de seguridad de la base de datos autogestionada (como las reglas del firewall) para permitir el acceso desde dichos servidores. A continuación, haga clic en Test Connectivity and Proceed.
Si la base de datos de origen o de destino es una instancia de base de datos de Alibaba Cloud (como la instancia PolarDB-X 2.0 de origen), DTS agrega automáticamente los bloques CIDR de sus servidores a la lista blanca de la instancia. Si la base de datos Oracle está en ECS, DTS agrega automáticamente sus bloques CIDR a las reglas del security group de ECS. Asegúrese de que la instancia ECS pueda comunicarse con la base de datos Oracle. Si la base de datos se encuentra en un centro de datos local o con un proveedor de nube externo, agregue manualmente los bloques CIDR de los servidores de DTS a la lista de permitidos de la base de datos. Consulte Agregar los bloques CIDR de los servidores de DTS a la configuración de seguridad de las bases de datos locales.
Agregar los bloques CIDR de los servidores de DTS a la lista de permitidos de su base de datos o a las reglas del security group de ECS puede generar riesgos de seguridad. Antes de continuar, tome las precauciones adecuadas: use credenciales seguras, limite los puertos expuestos, autentique las llamadas a la API y audite periódicamente su lista de permitidos y las reglas del security group. Para lograr un aislamiento más robusto, conecte DTS a su base de datos mediante Express Connect, VPN Gateway o Smart Access Gateway.
Paso 5: Configurar los objetos y los ajustes de sincronización
Configure los siguientes parámetros.
Tipos de sincronización
|
Parámetro |
Descripción |
|
Synchronization Types |
De forma predeterminada, se selecciona Incremental Data Synchronization. También debe seleccionar Schema Synchronization y Full Data Synchronization. DTS sincroniza primero los datos históricos (completa) y luego continúa con los cambios continuos (incremental). |
Gestión de conflictos
|
Parámetro |
Descripción |
|
Processing Mode of Conflicting Tables |
Defina cómo gestiona DTS las tablas del destino que comparten nombre con las del origen. Precheck and Report Errors detiene la tarea si detecta nombres de tabla duplicados; es la opción recomendada para la mayoría de los casos. Ignore Errors and Proceed omite la comprobación previa y continúa, pero puede causar inconsistencias en los datos; úsela con precaución. Si necesita resolver conflictos de nombres sin eliminar las tablas de destino, utilice la asignación de nombres de objetos para cambiarles el nombre antes de habilitar esta opción. Consulte Asignar nombres de objetos. |
Uso de mayúsculas en los objetos
|
Parámetro |
Descripció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 del destino. El valor predeterminado es DTS default policy. Consulte Especificar el uso de mayúsculas en los nombres de objetos. |
Selección de objetos
En la sección Source Objects, seleccione los objetos que desea sincronizar y haga clic en el ícono de flecha para moverlos a Selected Objects.
Puede seleccionar columnas, tablas o bases de datos como objetos de sincronización. Si selecciona tablas o columnas, DTS no sincroniza otros objetos como vistas, triggers o procedimientos almacenados.
Después de agregar los objetos a Selected Objects, haga clic con el botón derecho en la entrada de la base de datos de destino y seleccione Edit Schema. En el campo Schema Name, introduzca el nombre del esquema de Oracle que recibirá los datos sincronizados.
Utilice letras mayúsculas para el nombre del esquema.
Para filtrar filas, haga clic con el botón derecho en una tabla dentro de Selected Objects y especifique las condiciones WHERE de SQL. Consulte Use SQL conditions to filter data .
Si utiliza la asignación de nombres de objetos para cambiar el nombre de un objeto, es posible que otros objetos dependientes fallen al sincronizarse.
Paso 6: Configurar los ajustes avanzados
Haga clic en Next: Advanced Settings y configure los siguientes parámetros.
|
Parámetro |
Descripción |
|
Select the dedicated cluster used to schedule the task |
Deje el valor predeterminado para usar un clúster compartido. Para ejecutar la tarea en un clúster dedicado con garantías específicas de recursos, adquiera primero un clúster dedicado. Consulte ¿Qué es un clúster dedicado de DTS?. |
|
Set Alerts |
Seleccione Yes para recibir notificaciones cuando la tarea falle o la latencia de sincronización supere un umbral. Configure el umbral de alerta y los contactos. Consulte Configurar el monitoreo y las alertas. |
|
Retry Time for Failed Connections |
Ventana de tiempo durante la cual DTS reintenta las conexiones fallidas después de iniciar la tarea. Rango: de 10 a 1440 minutos. Valor predeterminado: 720. Establezca este valor en más de 30 minutos. Si la conexión no se restablece dentro de esta ventana, la tarea falla. Si varias tareas comparten el mismo origen o destino, se aplica la ventana de reintento más corta. Durante los reintentos, la instancia de DTS sigue generando cargos. |
|
The wait time before a retry when other issues occur in the source and destination databases |
Ventana de reintento para las operaciones DDL o DML fallidas. Rango: de 1 a 1440 minutos. Valor predeterminado: 10. Establezca este valor en más de 10 minutos. Debe ser menor que el valor de Retry Time for Failed Connections. |
|
Enable Throttling for Full Data Migration |
Limite las consultas por segundo (QPS), los registros por segundo (RPS) y los bytes por segundo (BPS) durante la sincronización completa de datos para reducir la carga en la base de datos de destino. Solo está disponible cuando se selecciona Full Data Synchronization. |
|
Enable Throttling for Incremental Data Synchronization |
Limite los RPS y BPS durante la sincronización incremental para reducir la carga en la base de datos de destino. |
|
Environment Tag |
Opcional. Asigne una etiqueta de entorno (por ejemplo, producción o staging) para identificar la instancia de DTS. |
|
Configure ETL |
Seleccione Yes para transformar los datos durante la sincronización mediante instrucciones de extracción, transformación y carga (ETL). Consulte Configurar ETL en una tarea de migración o sincronización de datos. |
|
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks |
Seleccione Yes para evitar que DTS escriba las operaciones de la tabla de heartbeat en la base de datos de origen. Esto evita afectar funciones como la copia de seguridad física y la clonación, aunque puede mostrar un desfase de latencia en la instancia de DTS. Seleccione No para escribir las operaciones de heartbeat, lo que mantiene precisas las métricas de latencia, pero podría afectar las funciones de la base de datos de origen. |
Paso 7: Ejecutar la comprobación previa
Haga clic en Next: Save Task Settings and Precheck.
Para obtener una vista previa de los parámetros de la API utilizados para configurar esta tarea, coloque el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters .
DTS ejecuta una comprobación previa antes de que la tarea pueda iniciarse. Una vez que finaliza:
Si todos los elementos se aprueban, continúe con el siguiente paso.
Si algún elemento falla, haga clic en View Details junto al elemento con errores, corrija el problema y haga clic en Precheck Again.
-
Si se activa una alerta:
Si la alerta no se puede ignorar, haga clic en View Details, corrija el problema y vuelva a ejecutar la comprobación previa.
Si la alerta se puede ignorar, haga clic en Confirm Alert Details, luego en Ignore dentro del cuadro de diálogo View Details y, por último, en OK. Después, haga clic en Precheck Again. Ignorar alertas puede provocar inconsistencias en los datos.
Espere hasta que la tasa de éxito alcance el 100% y, a continuación, haga clic en Next: Purchase Instance.
Paso 8: Adquirir una instancia e iniciar la tarea
En la página Purchase Instance, configure los siguientes parámetros.
|
Parámetro |
Descripción |
|
Billing Method |
subscription: pague por adelantado por un periodo fijo. Resulta más rentable para uso a largo plazo. pay-as-you-go: se cobra por hora. Adecuado para uso a corto plazo. Libere la instancia cuando ya no la necesite para detener los cargos. |
|
Resource Group |
El resource group de la instancia. Valor predeterminado: default resource group. Consulte ¿Qué es Resource Management?. |
|
Instance Class |
Seleccione una especificación de sincronización según sus requisitos de rendimiento. La velocidad de sincronización varía según la especificación. Consulte Especificaciones de las instancias de sincronización de datos. |
|
Subscription Duration |
Disponible para el método de facturación subscription. Opciones: de 1 a 9 meses, o bien 1, 2, 3 o 5 años. |
Lea y acepte los Data Transmission Service (Pay-as-you-go) Service Terms y, a continuación, haga clic en Buy and Start.
La tarea aparecerá en la lista de tareas. Desde ahí podrá monitorear el progreso de la sincronización.
Pasos siguientes
Para monitorear la latencia de sincronización y configurar alertas, consulte Configurar el monitoreo y las alertas al crear una tarea de DTS.
Para cambiar el nombre de los objetos en el destino, consulte Asignar nombres de objetos.
Para filtrar filas específicas durante la sincronización, consulte Use SQL conditions to filter data.