Todos los productos
Search
Centro de documentos

Data Transmission Service:Sincronización de datos desde una base de datos Oracle autogestionada a un proyecto de MaxCompute

Última actualización: Sep 04, 2026

Utilice Data Transmission Service (DTS) para sincronizar datos desde una base de datos Oracle autogestionada hacia un proyecto de MaxCompute. DTS admite la sincronización de esquemas, la sincronización completa de datos y la sincronización incremental de datos (captura de cambios mediante registros redo y archivados).

Funcionamiento

DTS sincroniza los datos en tres fases secuenciales:

  1. Schema synchronization: DTS crea las tablas de destino en MaxCompute. Cada nombre de tabla recibe el sufijo _base. Por ejemplo, si la tabla de origen es customer, DTS crea customer_base en MaxCompute.

  2. Full data synchronization: DTS copia todas las filas existentes de la base de datos Oracle de origen a las tablas _base correspondientes en MaxCompute.

  3. Incremental data synchronization: DTS lee los registros redo y archivados de Oracle, y escribe los registros de cambios en una tabla de datos incrementales independiente en MaxCompute. El nombre de la tabla de datos incrementales recibe el sufijo _log. Por ejemplo, los cambios en customer se escriben en customer_log.

Facturación

Tipo de sincronización

Costo

Sincronización de esquemas y sincronización completa de datos

Gratis

Sincronización incremental de datos

Con cargo. Para más información, consulte Descripción general de la facturación.

Operaciones SQL compatibles

Tipo de operación

Sentencias SQL

DML (lenguaje de manipulación de datos)

INSERT, UPDATE, DELETE

DDL (lenguaje de definición de datos)

ADD COLUMN (no se admiten columnas de atributos)

Nota

DTS no sincroniza claves externas. Las operaciones en cascada y de eliminación en la base de datos de origen no se replican en el destino.

Requisitos previos

Antes de empezar, asegúrese de cumplir con lo siguiente:

Límites

Requisitos de la base de datos de origen

  • Las tablas deben tener una clave primaria o una clave única, y todos sus campos deben ser únicos. De lo contrario, podrían aparecer filas duplicadas en el destino.

  • En Oracle 12c y versiones posteriores, los nombres de tabla no pueden superar los 30 bytes.

  • Si cambia el nombre de tablas o columnas en el destino (Selected Objects > clic derecho), una sola tarea admite hasta 1,000 tables. Para cargas de trabajo mayores, divida las tablas en varias tareas o sincronice toda la base de datos sin cambiar nombres.

  • Para Oracle Real Application Cluster (RAC), utilice una dirección IP virtual (VIP) en lugar de una dirección IP de Single Client Access Name (SCAN). Una vez especificada la VIP, no se admite el failover de nodos.

  • Si la base de datos Oracle RAC se conecta mediante Express Connect, especifique una VIP al configurar la tarea.

Requisitos de retención de registros

Los registros redo y los registros archivados deben cumplir con los siguientes periodos mínimos de retención:

Modo de sincronización

Periodo mínimo de retención

Solo sincronización incremental de datos

24 horas

Sincronización completa + sincronización incremental de datos

7 días

Si los registros se purgan antes de que DTS pueda leerlos, la tarea fallará. En casos extremos, esto puede provocar inconsistencia o pérdida de datos. Una vez completada la sincronización completa de datos, puede reducir el periodo de retención a 24 horas.

Importante

Los periodos de retención inferiores a estos mínimos pueden causar que DTS omita datos de registro, lo cual podría comprometer las garantías del Acuerdo de Nivel de Servicio (SLA).

Otras limitaciones

  • No realice un cambio de rol primario/secundario mientras la tarea se esté ejecutando, ya que esta fallará.

  • Las cadenas vacías de tipo VARCHAR2 (que Oracle trata como NULL) provocan errores si la columna de destino correspondiente tiene una restricción NOT NULL.

  • En tablas con la directiva de Auditoría Detallada (FGA) habilitada, DTS no puede leer la pseudocolumna ORA_ROWSCN y la tarea falla. Deshabilite la directiva FGA en las tablas afectadas o exclúyalas de la sincronización.

  • No actualice campos LONGTEXT mientras la sincronización esté en curso.

  • No ejecute operaciones DDL durante la sincronización de esquemas ni durante la sincronización inicial completa de datos.

  • No utilice Oracle Data Pump para escribir en la base de datos de origen durante la sincronización incremental de datos, ya que podría producirse pérdida de datos.

  • No es posible sincronizar tablas externas.

  • MaxCompute no admite restricciones de clave primaria. Si ocurren errores de red durante la sincronización, DTS podría escribir filas duplicadas en MaxCompute.

  • Escriba en el proyecto de MaxCompute de destino únicamente a través de DTS para evitar inconsistencias en los datos.

  • Si DTS necesita recuperar una instancia con errores, el proceso puede tardar hasta 8 horas e implicar el reinicio de la instancia o el ajuste de parámetros de la instancia DTS (no se modifican los parámetros de la base de datos). Para consultar los parámetros que podrían modificarse, vea Modificación de parámetros de instancia.

Consideraciones de rendimiento

  • Sincronice los datos fuera de las horas pico. La sincronización completa de datos consume recursos de lectura y escritura tanto en la base de datos de origen como en la de destino.

  • Tras la sincronización completa de datos, el tablespace de destino podría ser mayor que el de origen debido a la fragmentación generada por operaciones INSERT concurrentes.

  • La latencia de sincronización se calcula comparando la marca de tiempo del último registro sincronizado en el destino con la marca de tiempo actual en el origen. Si no se ejecutan operaciones DML en el origen durante un periodo prolongado, la lectura de latencia podría ser inexacta. Ejecute una operación DML en el origen para actualizarla o habilite una tabla de latidos si sincroniza una base de datos completa.

Permisos necesarios para la cuenta de base de datos

Base de datos

Permisos obligatorios

Referencia

Base de datos Oracle autogestionada

Permisos detallados

Prepare a database account, CREATE USER, GRANT

Importante

Para sincronizar datos incrementales, el registro de archivado y el registro suplementario deben estar habilitados en la base de datos Oracle. Consulte Configure an Oracle database.

Creación de una tarea de sincronización de datos

Paso 1: Abrir la página de sincronización de datos

Utilice una de las siguientes consolas para comenzar:

Consola de DTS

  1. Inicie sesión en la consola de DTS.DTS console

  2. En el panel de navegación izquierdo, haga clic en Data Synchronization.

  3. En la esquina superior izquierda, seleccione la región donde se ejecutará la tarea de sincronización de datos.

Consola de DMS

Nota

La ruta de navegación exacta puede variar según el modo de la consola DMS. Consulte Modo simple y Personalización del diseño y estilo de la consola DMS.

  1. Inicie sesión en la consola de DMS.DMS console

  2. En la barra de navegación superior, pase el puntero sobre Data + AI y seleccione DTS (DTS) > Data Synchronization.

  3. En la lista desplegable junto a Data Synchronization Tasks, seleccione la región donde se ejecutará la tarea.

Paso 2: Configurar las bases de datos de origen y destino

Haga clic en Create Task para abrir la página de configuración de la tarea. Configure los parámetros como se indica a continuación:

Sección Parámetro Descripción
N/A Task Name Nombre de la tarea DTS. DTS genera un nombre automáticamente. Especifique un nombre descriptivo para facilitar su identificación. Los nombres de las tareas no necesitan ser únicos.
Source Database Select Existing Connection Seleccione una instancia de base de datos registrada en la lista desplegable para completar automáticamente los parámetros de conexión. Si la instancia no está registrada, configure los parámetros manualmente.
Database Type Seleccione Oracle.
Access Method Seleccione el método que corresponda al lugar donde está implementada la base de datos Oracle. Este ejemplo utiliza Self-managed Database on ECS. Para otros métodos de acceso, consulte Preparation overview.
Instance Region Región donde reside la base de datos Oracle de origen.
ECS Instance ID ID de la instancia ECS que ejecuta la base de datos Oracle de origen.
Port Number Puerto del servicio Oracle. Valor predeterminado: 1521.
Oracle Type Non-RAC Instance: requiere el SID (identificador del sistema). RAC or PDB Instance: requiere el Service Name. Este ejemplo utiliza RAC or PDB Instance con un Service Name.
Database Account Cuenta de Oracle. Para consultar los permisos necesarios, vea Required database account permissions.
Database Password Contraseña de la cuenta de Oracle.
Destination Database Select Existing Connection Seleccione una instancia de base de datos registrada en la lista desplegable para completar automáticamente los parámetros de conexión. Si la instancia no está registrada, configure los parámetros manualmente.
Database Type Seleccione MaxCompute.
Access Method Seleccione Alibaba Cloud Instance.
Instance Region Región donde reside el proyecto de MaxCompute de destino.
Project Nombre del proyecto de MaxCompute de destino.
AccessKey ID of Alibaba Cloud Account AccessKey ID del par de AccessKey que preparó en la sección de requisitos previos.
AccessKey Secret of Alibaba Cloud Account AccessKey secret del par de AccessKey que preparó en la sección de requisitos previos.

Paso 3: Probar la conectividad

En la parte inferior de la página, haga clic en Test Connectivity and Proceed. En el cuadro de diálogo CIDR Blocks of DTS Servers, haga clic en Test Connectivity.

Nota

Los bloques CIDR de los servidores DTS deben agregarse a la configuración de seguridad tanto de la base de datos de origen como de la de destino. Esto puede hacerse de forma automática o manual. Consulte Agregar direcciones IP de servidores DTS a una lista de permitidos.

Haga clic en OK para otorgar permisos a su cuenta de MaxCompute y luego haga clic en Test Connectivity and Proceed.

Paso 4: Configurar los objetos a sincronizar

En el paso Configure Objects, establezca los siguientes parámetros:

Parámetro

Descripción

Synchronization Types

Incremental Data Synchronization está seleccionada de forma predeterminada. Seleccione también Schema Synchronization y Full Data Synchronization para ejecutar las tres fases.

Naming Rules of Additional Columns

DTS agrega columnas adicionales a las tablas de destino. Si el nombre de una columna adicional entra en conflicto con una columna existente, la tarea fallará y podría producirse pérdida de datos. Seleccione New Rule o Previous Rule según sus necesidades. Compruebe si existen conflictos de nombres antes de establecer este parámetro. Consulte Naming rules for additional columns.

Partition Definition of Incremental Data Table

Seleccione los nombres de partición según sus necesidades. Consulte Partition.

Processing Mode of Conflicting Tables

Precheck and Report Errors (predeterminado): comprueba si existen nombres de tabla idénticos en el origen y el destino. La comprobación previa falla si hay conflictos. Para resolverlos, utilice la función de asignación de nombres de objetos para renombrar las tablas de destino. Consulte Asignación de nombres de objetos. Ignore Errors and Proceed: omite la comprobación de conflictos. Durante la sincronización completa, se conservan los registros existentes en el destino; durante la sincronización incremental, los registros existentes se sobrescriben. Si los esquemas difieren, la inicialización podría fallar o solo se sincronizarán algunas columnas.

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. Valor predeterminado: DTS default policy. Consulte Especificación del uso de mayúsculas en nombres de objetos de la instancia de destino.

Source Objects

Seleccione una o más tablas y haga clic en 向右 para agregarlas a Selected Objects. Solo es posible sincronizar tablas.

Selected Objects

Para cambiar el nombre de un solo objeto: haga clic derecho sobre él y especifique un nuevo nombre. Consulte Asignación del nombre de un solo objeto. Para cambiar el nombre de varios objetos: haga clic en Batch Edit. Consulte Asignación de múltiples nombres de objetos a la vez. Para filtrar filas: haga clic derecho en la tabla y establezca las condiciones de filtro. Consulte Specify filter conditions. Cambiar el nombre de un objeto puede provocar que otros objetos dependientes fallen en la sincronización.

Paso 5: Configurar opciones avanzadas

Haga clic en Next: Advanced Settings y configure lo siguiente:

Parámetro

Descripción

Dedicated Cluster for Task Scheduling

De forma predeterminada, DTS programa las tareas en un clúster compartido. Adquiera un clúster dedicado para mejorar la estabilidad. Consulte ¿Qué es un clúster dedicado de DTS?.

Retry Time for Failed Connections

Tiempo durante el cual DTS reintenta la operación tras un fallo de conexión. Valores válidos: 10–1440 minutos. Valor predeterminado: 720 minutos. Establezca este valor en 30 minutos como mínimo. Si varias tareas comparten la misma base de datos de origen o destino, se aplica el tiempo de reintento más corto. DTS factura la instancia durante los reintentos.

Retry Time for Other Issues

Tiempo durante el cual DTS reintenta la operación tras un fallo DDL o DML. Valores válidos: 1–1440 minutos. Valor predeterminado: 10 minutos. Establezca un valor superior a 10 minutos e inferior al valor de Retry Time for Failed Connections.

Enable Throttling for Full Data Synchronization

Limite la velocidad de la sincronización completa para reducir la carga en los servidores de base de datos. Configure QPS (queries per second) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s). Disponible solo cuando Full Data Synchronization está seleccionada.

Enable Throttling for Incremental Data Synchronization

Limite la velocidad de la sincronización incremental configurando RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).

Actual Write Code

Formato de codificación para los datos escritos en el destino. Selecciónelo según sus necesidades.

Environment Tag

Etiqueta opcional para identificar la instancia DTS.

Configure ETL

Habilita la función de extracción, transformación y carga (ETL). Seleccione Yes para introducir sentencias de procesamiento de datos en el editor de código. Consulte Configuración de ETL en una tarea de migración o sincronización de datos. Seleccione No para omitirla. Consulte también ¿Qué es ETL?

Monitoring and Alerting

Configure alertas para fallos de tareas o alta latencia de sincronización. Seleccione Yes y establezca el umbral de alerta y los contactos de notificación. Consulte Configuración de monitoreo y alertas al crear una tarea DTS.

Paso 6: Ejecutar la comprobación previa

Haga clic en Next: Save Task Settings and Precheck.

Nota

Para obtener una vista previa de los parámetros de API correspondientes a esta configuración de tarea, pase el puntero sobre el botón y haga clic en Preview OpenAPI parameters.

DTS ejecuta una comprobación previa antes de iniciar la tarea. Si la comprobación falla:

  • Haga clic en View Details junto a cada elemento fallido, resuelva el problema y haga clic en Precheck Again.

  • Para elementos de alerta que puedan ignorarse: haga clic en Confirm Alert Details, luego en Ignore en el cuadro de diálogo, después en OK y finalmente en Precheck Again. Ignorar alertas puede provocar inconsistencia en los datos.

Paso 7: Adquirir una instancia de sincronización de datos

  1. Espere hasta que Success Rate alcance 100% y luego haga clic en Next: Purchase Instance.

  2. En la página buy, configure lo siguiente:

    Sección Parámetro Descripción
    New Instance Class Billing Method Subscription: pago anticipado por un plazo fijo; más rentable para uso a largo plazo. Pay-as-you-go: facturación por hora; adecuado para uso a corto plazo. Libere la instancia cuando ya no la necesite para detener los cargos.
    Resource Group Settings Grupo de recursos para la instancia. Valor predeterminado: default resource group. Consulte ¿Qué es Resource Management?
    Instance Class Clase de throughput de sincronización. Consulte Clases de instancia de sincronización de datos.
    Subscription Duration Disponible para el método de facturación Subscription. Opciones: 1–9 meses, 1 año, 2 años, 3 años o 5 años.
  3. Lea y acepte los Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Haga clic en Buy and Start y luego en OK en el cuadro de diálogo de confirmación.

La tarea aparecerá en la lista de tareas. Monitoree su progreso desde dicha lista.

Esquema de la tabla de datos incrementales

Nota

Ejecute set odps.sql.allow.fullscan=true; en MaxCompute para permitir escaneos completos de tablas en el proyecto.

DTS escribe los registros de cambios incrementales en la tabla _log en MaxCompute. Cada fila en la tabla de datos incrementales representa un evento de cambio e incluye los siguientes campos de metadatos además de las columnas de la tabla de origen:

Campo

Descripción

record_id

Identificador único de la entrada de registro. Se incrementa automáticamente con cada nueva entrada. Para una operación UPDATE, DTS genera dos entradas (valores anteriores y posteriores a la actualización) con el mismo record_id.

operation_flag

Tipo de operación: I (INSERT), D (DELETE) o U (UPDATE).

utc_timestamp

Marca de tiempo de la operación en UTC. También corresponde a la marca de tiempo del archivo de registro binario.

before_flag

Indica si la fila contiene valores previos a la actualización: Y o N.

after_flag

Indica si la fila contiene valores posteriores a la actualización: Y o N.

Pasos siguientes