Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrate data from PolarDB for PostgreSQL to a self-managed Oracle database

Última actualización: Sep 04, 2026

Utilice Data Transmission Service (DTS) para migrar datos de un clúster de PolarDB for PostgreSQL a una base de datos Oracle autogestionada. DTS admite la migración completa e incremental de datos, lo que le permite realizar la migración sin tiempo de inactividad o ejecutar una copia única completa.

Requisitos previos

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

  • La base de datos Oracle autogestionada está creada y cuenta con suficiente espacio en disco; el espacio en disco de Oracle debe superar el espacio de almacenamiento utilizado por el clúster de origen de PolarDB for PostgreSQL.

  • El esquema y las tablas de destino se crearon en la base de datos Oracle antes de iniciar la migración (DTS no realiza la migración de esquemas para este par de origen y destino).

  • La cuenta de la base de datos de origen tiene permisos de cuenta privilegiada. Para obtener instrucciones, consulte Create a database account.

  • La cuenta de la base de datos Oracle de destino tiene permisos de propietario del esquema para el esquema de destino. Otorgue los permisos mediante las sentencias CREATE USER y GRANT de Oracle.

  • (Solo para migración incremental) El parámetro wal_level del clúster de origen de PolarDB for PostgreSQL está establecido en logical. Para obtener instrucciones, consulte Set cluster parameters.

  • (Solo para migración incremental) El clúster de PolarDB for PostgreSQL es compatible con Logical Replication Slot Failover y esta función se encuentra habilitada, con el fin de evitar que un cambio entre principal y secundario interrumpa la replicación lógica.

  • (Solo para Oracle RAC) Si la base de datos Oracle autogestionada es una base de datos Real Application Clusters (RAC) y se conecta a Alibaba Cloud a través de una VPC, conecte la SCAN IP y la dirección IP virtual (VIP) de cada nodo a la VPC de Alibaba Cloud y configure las rutas. Para obtener instrucciones, consulte Overview of solutions for connecting an on-premises data center to Alibaba Cloud y Connect an on-premises data center to DTS through a VPN Gateway.

Limitaciones

Limitaciones bloqueantes

Resuelva estos puntos antes de iniciar la migración. Ignorarlos puede provocar que la tarea falle o que no sea posible recuperarla.

  • No hay migración de esquemas. Cree todos los esquemas y tablas de destino en Oracle antes de configurar la tarea de migración.

  • Se requiere Logical Replication Slot Failover para la migración incremental. Si el clúster de origen de PolarDB for PostgreSQL no es compatible con Logical Replication Slot Failover (por ejemplo, si el Database Engine del clúster es PostgreSQL 14), un cambio de alta disponibilidad (HA) durante la migración puede causar que la instancia de migración falle y no sea posible recuperarla.

  • Límite de 256 MB por fila para la migración incremental. Si una sola fila supera los 256 MB tras un cambio incremental, la instancia de migración fallará y no podrá recuperarse. Para reanudarla, vuelva a configurar la instancia de migración.

  • Se requiere clave primaria o índice único no nulo. Las tablas que se van a migrar deben tener una clave primaria o un índice único no nulo.

  • No se permiten operaciones DDL durante la migración completa. Las operaciones DDL que modifican la estructura de la base de datos o de las tablas provocan que la tarea de migración falle.

  • Claves externas y desencadenadores en la base de datos de destino. Deshabilite las claves externas y los desencadenadores en la base de datos Oracle de destino antes de la migración. Si permanecen activos, la tarea de migración podría fallar.

  • Configuración REPLICA IDENTITY para la migración incremental. Antes de escribir datos en las tablas migradas, ejecute el siguiente comando en la base de datos de origen. Ejecútelo fuera del horario pico y evite operaciones concurrentes de bloqueo de tablas para prevenir interbloqueos.

    ALTER TABLE schema.table REPLICA IDENTITY FULL;

    Ejecute este comando en los siguientes escenarios: cuando la instancia se ejecuta por primera vez; cuando el objeto de migración es un esquema y se crea una nueva tabla en dicho esquema; o cuando el objeto de migración es un esquema y se reconstruye una tabla existente mediante el comando RENAME. Si omite el elemento de verificación previa correspondiente, DTS ejecutará automáticamente este comando durante la inicialización de la instancia.

  • Tablas particionadas. Incluya tanto la tabla principal como todas las tablas secundarias como objetos de migración. En PostgreSQL, las tablas principales de las tablas particionadas no almacenan datos directamente; todos los datos residen en las tablas secundarias. Omitir las tablas secundarias provoca inconsistencia en los datos.

Limitaciones generales

  • Una tarea de migración solo migra una base de datos. Configure una tarea independiente para cada base de datos que desee migrar.

  • DTS no admite la migración de tablas de extensión de TimescaleDB, tablas con herencia entre esquemas ni tablas con índices únicos basados en expresiones.

  • Los esquemas creados al instalar complementos no se pueden migrar y no aparecen en la consola al configurar la tarea.

  • Las operaciones de actualización y eliminación en cascada en la base de datos de origen pueden causar inconsistencia de datos en el destino.

  • Dado que la migración completa de datos ejecuta operaciones INSERT concurrentes, el espacio de la tabla de destino podría ser mayor que el del origen después de la migración completa.

  • DTS valida el contenido de los datos, pero no valida metadatos como las secuencias. Valide las secuencias y otros metadatos por separado.

  • Las transacciones de larga duración combinadas con una tarea de migración incremental provocan la acumulación de registros WAL (write-ahead log), lo cual puede agotar el espacio en disco de la base de datos de origen.

Gestión de slots de replicación

Durante la migración incremental de datos, DTS crea un slot de replicación con el prefijo dts_sync_ en la base de datos de origen. Este slot conserva los registros incrementales de los últimos 15 minutos. Cuando la migración falla o se libera la instancia de migración, DTS intenta limpiar el slot automáticamente.

La limpieza automática falla en los siguientes casos, por lo que deberá limpiar el slot manualmente para evitar la acumulación en disco:

  • La contraseña de la cuenta de la base de datos de origen se cambia durante la migración.

  • La dirección IP de DTS se elimina de la lista de permitidos de direcciones IP de la base de datos de origen durante la migración.

  • Ocurre un failover en la base de datos de origen; inicie sesión en la base de datos secundaria para limpiar el slot.

Tablas temporales de DTS

DTS crea las siguientes tablas temporales en la base de datos de origen durante la migración. No las elimine, ya que hacerlo provoca que la tarea de migración falle. DTS las elimina automáticamente cuando se libera la instancia de migración.

public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, public.aliyun_dts_instance

Facturación

Tipo de migración

Tarifa de configuración de instancia

Tarifa de tráfico por Internet

Migración completa de datos

Gratuita

Se cobra cuando el Access Method del destino es Public IP Address. Consulte Billing overview.

Migración incremental de datos

De pago. Consulte Billing overview.

—

Operaciones SQL compatibles con la migración incremental

Tipo de operación

Sentencias SQL

DML

INSERT, UPDATE, DELETE

Migrar datos

Paso 1: Abrir la página de configuración de la tarea de migración

Utilice uno de los siguientes puntos de entrada.

Desde la consola de DTS:

  1. Inicie sesión en la consola de Data Transmission Service (DTS).

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

  3. En la esquina superior izquierda, seleccione la región donde se ubicará la instancia de migración.

  4. Haga clic en Create Task.

Desde la consola de DMS:

La navegación real puede variar según el modo y el diseño de la consola de DMS. Para más detalles, consulte Simple mode console y Customize the layout and style of the DMS console .
  1. Inicie sesión en la consola de Data Management (DMS).

  2. En la barra de menú superior, elija Data + AI > Data Transmission (DTS) > Data Migration.

  3. A la derecha de Data Migration Tasks, seleccione la región de destino.

  4. Haga clic en Create Task.

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

En la página de configuración de la tarea, establezca Task Name con un nombre descriptivo para facilitar su identificación. El nombre no necesita ser único.

Base de datos de origen (PolarDB for PostgreSQL):

Parámetro

Valor

Select Existing Connection

Seleccione una instancia registrada previamente o déjelo en blanco para configurar manualmente.

Database Type

PolarDB for PostgreSQL

Access Method

Alibaba Cloud Instance

Instance Region

Seleccione la región del clúster de origen de PolarDB for PostgreSQL.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No si utiliza una instancia bajo la cuenta actual de Alibaba Cloud.

Instance ID

Seleccione el ID del clúster de origen de PolarDB for PostgreSQL.

Database Name

Introduzca el nombre de la base de datos que contiene los objetos a migrar.

Database Account

Introduzca la cuenta privilegiada. Consulte Requisitos previos.

Database Password

Introduzca la contraseña de la cuenta.

Base de datos de destino (Oracle):

Parámetro

Valor

Select Existing Connection

Seleccione una instancia registrada previamente o déjelo en blanco para configurar manualmente.

Database Type

Oracle

Access Method

Seleccione según la ubicación del despliegue. Esta guía utiliza Self-managed Database on ECS como ejemplo. Para otros tipos de despliegue, consulte Preparations overview.

Instance Region

Seleccione la región de la base de datos Oracle de destino.

ECS Instance ID

Seleccione la instancia de ECS que aloja la base de datos Oracle.

Port Number

Introduzca el puerto del servicio Oracle. Predeterminado: 1521.

Oracle Type

Seleccione Non-RAC Instance (introduzca SID) o RAC or PDB Instance (introduzca Service Name). En este ejemplo, seleccione RAC or PDB Instance e introduzca el Service Name.

Database Account

Introduzca la cuenta de Oracle con permisos de propietario del esquema.

Database Password

Introduzca la contraseña de la cuenta.

Después de completar la configuración, haga clic en Test Connectivity and Proceed. En el cuadro de diálogo CIDR Blocks of DTS Servers, haga clic en Test Connectivity.

Asegúrese de agregar los rangos de direcciones IP del servidor DTS a la configuración de seguridad tanto de la base de datos de origen como de la de destino. Consulte Add DTS server IP addresses to a whitelist .

Paso 3: Configurar los objetos de migración

En la página Configure Objects, configure los siguientes parámetros:

Parámetro Descripción
Migration Types Seleccione Full Data Migration para una copia única. Seleccione tanto Full Data Migration como Incremental Data Migration para una migración sin tiempo de inactividad. Si selecciona solo la migración completa, no escriba nuevos datos en la base de datos de origen durante la migración para mantener la consistencia de los datos.
Processing Mode of Conflicting Tables Precheck and Report Errors (predeterminado): la verificación previa falla si existe una tabla con el mismo nombre en el destino. Ignore Errors and Proceed: omite la comprobación de conflictos. Utilícelo con precaución, ya que esto podría sobrescribir datos en el destino o causar fallos en la migración si los esquemas de las tablas difieren.
Capitalization of object names in destination instance Establezca la directiva de distinción entre mayúsculas y minúsculas para los nombres de los objetos migrados. El valor predeterminado es DTS default policy. Consulte Case sensitivity of object names in the destination database.
Source Objects Haga clic en los objetos del cuadro Source Objects y muévalos a Selected Objects mediante la flecha. Puede seleccionar esquemas o tablas.
Selected Objects Haga clic derecho en un objeto de migración para usar la asignación de nombres de objetos (asignar a un esquema, tabla o columna específica en la base de datos Oracle de destino), seleccionar operaciones SQL a nivel de tabla o establecer condiciones de filtro. Consulte Database, Table, and Column Name Mapping y Set filter conditions.
Nota

Haga clic en Next: Advanced Settings.

Paso 4: Configurar opciones avanzadas

Parámetro

Descripción

Dedicated Cluster for Task Scheduling

DTS programa las tareas en un clúster compartido de forma predeterminada. Para tareas más estables, adquiera un clúster dedicado.

Retry Time for Failed Connections

Duración durante la cual DTS reintenta tras un fallo de conexión. Predeterminado: 720 minutos. Establezca un valor entre 10 y 1,440 minutos. Para uso en producción, configure más de 30 minutos. Durante este periodo, la tarea genera costos de facturación.

Retry Time for Other Issues

Duración durante la cual DTS reintenta tras errores que no son de conectividad (excepciones DDL o DML). Predeterminado: 10 minutos. Establezca un valor entre 1 y 1,440 minutos. Debe ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limite las QPS hacia la base de datos de origen, las RPS de la migración completa de datos y la velocidad de migración de datos (MB/s) para reducir la carga de la base de datos. Disponible solo cuando se selecciona Full Data Migration. También puede ajustar la limitación después de que comience la tarea.

Enable Throttling for Incremental Data Migration

Limite las RPS de la migración incremental de datos y la velocidad de migración de datos (MB/s). Disponible solo cuando se selecciona Incremental Data Migration. También puede ajustar la limitación después de que comience la tarea.

Environment Tag

(Opcional) Seleccione una etiqueta para identificar la instancia.

Configure ETL

Seleccione Yes para configurar la función ETL e introducir sentencias de procesamiento de datos. Seleccione No para omitir ETL.

Monitoring and Alerting

Seleccione Yes para establecer un umbral de alerta y notificaciones de alerta para fallos de migración o latencia que supere el umbral.

Paso 5: Ejecutar la verificación previa

Haga clic en Next: Save Task Settings and Precheck.

Para previsualizar los parámetros de la API correspondientes a esta configuración de instancia, pase el cursor sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters .

DTS ejecuta una verificación previa antes de iniciar la migración. Si la verificación previa falla:

  • Haga clic en View Details junto al elemento fallido, corrija el problema y vuelva a ejecutar la verificación previa.

  • Para advertencias que se pueden ignorar, haga clic en Confirm Alert Details > Ignore > OK > Precheck Again. Ignorar advertencias puede causar inconsistencia en los datos.

Paso 6: Adquirir la instancia e iniciar la migración

  1. Cuando la Success Rate alcance el 100 %, haga clic en Next: Purchase Instance.

  2. En la página Purchase, seleccione el resource group y la clase de instancia. La clase de instancia afecta la velocidad de migración. Consulte Data migration link specifications.

  3. Lea y acepte los Data Transmission Service (Pay-as-you-go) Service Terms.

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

La tarea de migración aparece en la página de lista Data Migration Tasks. Las tareas de migración completa se detienen automáticamente al finalizar (estado: Completed). Las tareas de migración incremental continúan ejecutándose (estado: Running) hasta que usted las detenga.

Cambiar su negocio a la base de datos de destino

Para la migración incremental, espere hasta que la fase Incremental Data Migration de la tarea muestre una latencia de 0s y luego:

  1. Deje de escribir datos en la base de datos de origen.

  2. Espere unos minutos a que la latencia vuelva a 0s.

  3. Detenga la tarea de migración.

  4. Cambie las conexiones de su negocio a la base de datos Oracle de destino.

Importante

DTS intenta recuperar automáticamente las tareas fallidas dentro de un plazo de siete días. Antes de cambiar su negocio al destino, finalice o libere la tarea de migración, o revoque los permisos de escritura de la cuenta de DTS en la base de datos de destino. Esto evita que los datos de origen sobrescriban los datos de destino si la tarea se recupera automáticamente.

El soporte técnico de DTS intentará recuperar las tareas fallidas en un plazo de 8 horas. Durante la recuperación, DTS podría reiniciar la tarea o ajustar sus parámetros. Solo se modifican los parámetros de la tarea de DTS; los parámetros de la base de datos permanecen sin cambios. Para consultar los parámetros modificables, vea Modify instance parameters .

Pasos siguientes