Todos los productos
Search
Centro de documentos

Data Transmission Service:Sincronizar PostgreSQL autoadministrado con PolarDB for PostgreSQL (compatible con Oracle)

Última actualización: Sep 04, 2026

Puede utilizar Data Transmission Service (DTS) para sincronizar datos desde una base de datos PostgreSQL autoadministrada hacia un clúster de PolarDB for PostgreSQL (Compatible with Oracle).

Requisitos previos

  • Debe contar con una base de datos PostgreSQL autoadministrada de origen y un clúster de destino de PolarDB for PostgreSQL (Compatible with Oracle).

    Nota
  • El clúster de destino de PolarDB for PostgreSQL (Compatible with Oracle) debe tener más espacio de almacenamiento que la base de datos PostgreSQL autoadministrada de origen.

Notas de uso

Nota
  • Durante la sincronización de esquemas, DTS sincroniza las claves foráneas de la base de datos de origen a la de destino.

  • Durante la sincronización completa e incremental de datos, DTS deshabilita temporalmente las comprobaciones de restricciones y las operaciones en cascada de claves foráneas a nivel de sesión. Puede producirse inconsistencia en los datos si se ejecutan operaciones de actualización o eliminación en cascada en la base de datos de origen mientras la tarea está en ejecución.

Tipo

Descripción

Límites de la base de datos de origen

  • Las tablas que sincronice deben tener una clave primaria o una restricción única. De lo contrario, pueden generarse datos duplicados en la base de datos de destino.

    Nota

    Si crea la tabla de destino manualmente (sin seleccionar Synchronization Types como Schema Synchronization), debe asegurarse de que la tabla de destino tenga la misma clave primaria o restricción única no nula que la tabla de origen. En caso contrario, podrían aparecer datos duplicados en la base de datos de destino.

  • Si sincroniza datos a nivel de tabla y necesita editar objetos, como asignar nombres de tablas o columnas, para más de 5,000 tablas en una sola tarea de sincronización, se recomienda dividirlas en varias tareas o configurar una tarea para sincronizar toda la base de datos. De lo contrario, la tarea podría fallar al enviarse.

  • El nombre de la base de datos que se va a sincronizar no puede contener guiones (-); por ejemplo, dts-testdata.

  • Write-ahead logging (WAL):

    • Debe habilitar WAL estableciendo el parámetro wal_level en logical.

    • Para una tarea de sincronización incremental, DTS requiere que el WAL de la base de datos de origen se conserve durante más de 24 horas. Para una tarea que realiza sincronización completa e incremental, el WAL debe conservarse durante al menos siete días. Puede cambiar el periodo de retención a más de 24 horas una vez completada la sincronización completa. Si una tarea falla porque DTS no puede obtener el WAL debido a un periodo de retención corto, el fallo podría provocar inconsistencia o pérdida de datos en casos extremos. Los problemas causados por un periodo de retención de WAL insuficiente no están cubiertos por el Acuerdo de Nivel de Servicio (SLA) de DTS.

  • Un cambio de rol entre principal y secundario en la base de datos PostgreSQL autoadministrada de origen provoca el fallo de la tarea de sincronización.

  • Asegúrese de que los valores de los parámetros max_wal_senders y max_replication_slots sean mayores que la suma del número de replication slots en uso y la cantidad de instancias de DTS que desea crear con esta base de datos como origen.

  • Si la base de datos de origen tiene transacciones de larga duración y la instancia está configurada para sincronización incremental, los datos de write-ahead logging (WAL) generados antes de que estas transacciones se confirmen no se pueden limpiar. Esto puede causar acumulación de datos WAL y provocar falta de espacio en disco en la base de datos de origen.

  • Si el origen es una instancia de Cloud SQL for PostgreSQL, debe introducir una cuenta de base de datos con el permiso cloudsqlsuperuser en el campo Database Account. Al seleccionar los objetos a sincronizar, debe elegir aquellos que esta cuenta tenga autorización para gestionar, o bien otorgar el permiso OWNER sobre dichos objetos a esta cuenta. Por ejemplo, ejecute el comando GRANT <owner_of_objects> TO <source_account_for_task> para permitir que la cuenta realice operaciones como propietaria de los objetos.

    Nota

    Una cuenta con el permiso cloudsqlsuperuser no puede gestionar datos propiedad de otras cuentas que también tengan el permiso cloudsqlsuperuser.

  • Debido a las limitaciones inherentes de las suscripciones lógicas en la base de datos de origen, si un registro de datos individual a sincronizar supera los 256 MB tras un cambio incremental, la instancia de sincronización fallará y deberá reconfigurarse.

  • No ejecute operaciones DDL que modifiquen esquemas de bases de datos o tablas durante la sincronización de esquemas o la sincronización completa. De lo contrario, la tarea de sincronización fallará.

    Nota

    Durante la sincronización completa, DTS consulta la base de datos de origen. Esto genera bloqueos de metadatos que pueden impedir operaciones DDL en dicha base de datos.

  • Si realiza una actualización de versión principal en la base de datos de origen mientras se ejecuta una instancia de sincronización, esta fallará y deberá reconfigurarse.

Otros límites

  • Para la sincronización completa o incremental, si las tablas sincronizadas contienen claves foráneas, triggers o event triggers, DTS establece temporalmente el parámetro session_replication_role en replica a nivel de sesión. Si la cuenta de la base de datos de destino no tiene este permiso, debe establecer manualmente el parámetro session_replication_role en replica en la base de datos de destino. Durante este periodo (mientras session_replication_role esté establecido en replica), puede ocurrir inconsistencia de datos si se realizan operaciones de actualización o eliminación en cascada en la base de datos de origen. Una vez liberada la tarea de sincronización de DTS, puede volver a cambiar el parámetro session_replication_role a origin.

  • Si una tabla a sincronizar contiene una columna de tipo SERIAL, la base de datos de origen crea automáticamente una secuencia para esa columna. Por lo tanto, al configurar Source Objects, si selecciona Schema Synchronization en Synchronization Types, se recomienda seleccionar también Sequence o sincronizar todo el esquema. De lo contrario, la instancia de sincronización podría fallar.

  • Una sola tarea de sincronización solo puede sincronizar una base de datos. Para sincronizar varias bases de datos, debe configurar una tarea independiente para cada una.

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

  • Los esquemas creados mediante la instalación de plugins no son compatibles con la sincronización. No podrá recuperar información sobre estos esquemas en la consola al configurar una tarea.

  • En los siguientes tres escenarios, debe ejecutar el comando ALTER TABLE schema.table REPLICA IDENTITY FULL; en las tablas de origen antes de escribir datos en ellas para garantizar la consistencia. No realice operaciones que bloqueen tablas mientras se ejecuta este comando para evitar interbloqueos. Si omite esta comprobación durante la verificación previa, DTS ejecutará automáticamente este comando durante la inicialización de la instancia.

    • Cuando la instancia se ejecuta por primera vez.

    • Cuando selecciona objetos a nivel de esquema y se crea una nueva tabla en dicho esquema, o cuando se reconstruye una tabla mediante el comando RENAME.

    • Cuando utiliza la función para modificar objetos de sincronización.

    Nota
    • Reemplace schema y table en el comando por los nombres del esquema y la tabla que desea sincronizar.

    • Realice esta operación fuera del horario de mayor actividad.

  • DTS verifica el contenido de los datos, pero no admite la verificación de metadatos como secuencias. Debe verificar dichos metadatos por su cuenta.

  • Después de migrar su negocio a la base de datos de destino, las secuencias no continúan automáticamente desde el valor máximo de las secuencias correspondientes en la base de datos de origen. Antes del cambio, debe actualizar los valores de las secuencias en la base de datos de destino. Para más información, consulte Update the sequence values in the destination database.

  • DTS crea las siguientes tablas temporales en la base de datos de origen para obtener sentencias DDL de datos incrementales, el esquema de tablas incrementales e información de latidos. No elimine estas tablas temporales durante la sincronización, ya que la tarea de DTS podría fallar. Las tablas temporales se eliminan automáticamente después de liberar la instancia de DTS.

    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 y public.aliyun_dts_instance.

  • Para garantizar la precisión de la latencia de sincronización mostrada, DTS agrega una tabla de latidos llamada dts_postgres_heartbeat a la base de datos de origen.

  • Durante la sincronización de datos, DTS crea un replication slot con el prefijo dts_sync_ en la base de datos de origen para replicar datos. Este replication slot permite a DTS obtener registros incrementales generados en los últimos 15 minutos desde la base de datos de origen. Cuando una tarea de sincronización falla o se libera la instancia, DTS intenta eliminar automáticamente este replication slot.

    Nota
    • Si cambia la contraseña de la cuenta de la base de datos de origen o elimina la lista blanca de IP para DTS durante la sincronización, el replication slot no se limpiará automáticamente. Limpie manualmente el replication slot en la base de datos de origen para evitar que consuma espacio en disco y deje la base de datos inaccesible.

    • Si la base de datos de origen realiza un failover, inicie sesión en la base de datos en espera para realizar la limpieza manualmente.

    Ejecute la sentencia SQL SELECT * FROM pg_replication_slots; para ver todos los replication slots en la base de datos de origen. En los resultados, el replication slot de DTS es el registro donde el valor de slot_name comienza con dts_sync_ y el valor de active es true.

  • Antes de iniciar la sincronización de datos, evalúe el rendimiento de las bases de datos de origen y destino. Realice la sincronización fuera del horario de mayor actividad. La sincronización completa consume recursos de lectura y escritura en ambas bases de datos, lo que puede aumentar su carga.

  • La sincronización completa realiza operaciones INSERT concurrentes, lo que puede causar fragmentación de tablas en la base de datos de destino. Como resultado, el tablespace de la instancia de destino será mayor que el de la instancia de origen al finalizar la sincronización completa.

  • Para la sincronización de datos a nivel de tabla, si no se escriben datos en la base de datos de destino desde fuentes distintas a DTS, puede usar DMS para realizar cambios DDL en línea. Para más información, consulte Cambiar esquemas sin bloquear tablas.

  • Durante la sincronización de DTS, no escriba datos en la base de datos de destino desde ninguna otra fuente. Esto puede causar inconsistencia en los datos. Por ejemplo, si utiliza Data Management (DMS) para realizar cambios DDL en línea mientras se escriben datos desde otras fuentes, podría provocar pérdida de datos en la base de datos de destino.

  • Si una tarea falla, el personal de soporte de DTS intentará restaurarla en un plazo de ocho horas. Durante la restauración, pueden reiniciar la tarea o ajustar sus parámetros.

    Nota

    Solo se modifican los parámetros de la tarea de DTS, no los de la base de datos. Los parámetros que pueden ajustarse incluyen los listados en Modify instance parameters.

  • Al sincronizar tablas particionadas, debe incluir tanto la tabla padre como sus particiones hijas como objetos de sincronización. De lo contrario, los datos de la tabla particionada podrían volverse inconsistentes.

    Importante
    • La tabla padre de una tabla particionada de PostgreSQL no almacena datos directamente; todos los datos se guardan en las particiones hijas. Una tarea de sincronización debe incluir la tabla padre y todas sus particiones hijas. De lo contrario, podrían omitirse datos de las particiones hijas, causando inconsistencia entre el origen y el destino.

    • No se admite la sincronización de tablas particionadas ni tablas con herencia (tablas padre-hijo) entre diferentes bases de datos. Asegúrese de que las tablas particionadas y todas sus particiones, así como las tablas padre y todas sus tablas hijas, estén en la misma base de datos.

Facturación

Tipo de sincronización

Costos

Sincronización de esquemas y sincronización completa

Gratis.

Sincronización incremental

Se aplican cargos. Consulte billing overview.

Topologías de sincronización

  • Sincronización unidireccional uno a uno

  • Sincronización unidireccional uno a varios

  • Sincronización unidireccional en cascada

  • Sincronización unidireccional varios a uno

Para más información sobre las topologías de sincronización, consulte Synchronization topologies.

Objetos compatibles

  • SCHEMA, TABLE.

    Nota

    Esto incluye PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipos de datos integrados) y DEFAULT CONSTRAINT.

  • VIEW, PROCEDURE (requiere PostgreSQL 11 o posterior), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN.

Operaciones SQL compatibles

Tipo de operación

Operación SQL

DML

INSERT, UPDATE, DELETE

DDL

  • La sincronización DDL solo es compatible con tareas de sincronización de datos creadas después del .

    Importante
    • Para tareas de sincronización de datos creadas antes del 12 de mayo de 2023 (hora de Singapur), debe crear un trigger y una función en la base de datos de origen para capturar información DDL antes de configurar la tarea. Para más información, consulte Use triggers and functions to implement incremental DDL migration for PostgreSQL.

    • El tipo de dato BIT no es compatible durante la sincronización incremental de datos.

  • La tarea de sincronización admite las siguientes operaciones DDL, siempre que la cuenta de la base de datos de origen sea una cuenta con privilegios elevados.

    • CREATE TABLE, DROP TABLE

    • ALTER TABLE (incluye RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK y ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (requiere que la base de datos de origen sea PostgreSQL 11 o posterior)

    • CREATE INDEX ON TABLE

    Importante
    • No se admiten sentencias DDL que incluyan información adicional, como CASCADE o RESTRICT.

    • Las sentencias DDL en una sesión que utiliza el comando SET session_replication_role = replica no se sincronizan.

    • No se admiten sentencias DDL ejecutadas mediante la llamada a una FUNCTION o un bloque de código anónimo.

    • Si una confirmación contiene tanto operaciones DML como DDL, las operaciones DDL no se sincronizan.

    • Si una confirmación contiene operaciones DDL sobre objetos que no se están sincronizando, dichas operaciones no se sincronizan.

    • No se admiten sentencias DDL ejecutadas directamente dentro de un plugin a través de la SPI (Server Programming Interface).

Requisitos de permisos para cuentas de base de datos

Base de datos

Permisos obligatorios

Creación y autorización de cuentas

PostgreSQL autoadministrado

Permiso de superusuario.

Utilice la sentencia CREATE USER y gestione los permisos de usuario.

PolarDB for PostgreSQL (compatible con Oracle)

Permiso de propietario sobre la base de datos.

Create a database account.

Nota

El propietario de la base de datos se especifica al crearla.

Preparación

Nota

Los siguientes pasos aplican a sistemas Linux.

Complete los siguientes preparativos para todas las versiones de PostgreSQL autoadministrado.

  1. Inicie sesión en el servidor que aloja la base de datos PostgreSQL autoadministrada.

  2. Ejecute el siguiente comando para comprobar el número de replication slots actualmente en uso:

    select count(1) from pg_replication_slots;
  3. Modifique el archivo de configuración postgresql.conf: establezca wal_level en logical y asegúrese de que tanto max_wal_senders como max_replication_slots sean mayores que la suma de los replication slots ya en uso y la cantidad de instancias de DTS que planea crear con esta base de datos PostgreSQL autoadministrada como origen.

    # - Settings -
    wal_level = logical			# minimal, replica, or logical
    					# (change requires restart)
    ......
    # - Sending Server(s) -
    # Set these on the master and on any standby that will send replication data.
    max_wal_senders = 10		# max number of walsender processes
    				# (change requires restart)
    #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
    #wal_sender_timeout = 60s	# in milliseconds; 0 disables
    max_replication_slots = 10	# max number of replication slots
    				# (change requires restart)
    Nota

    Después de modificar el archivo de configuración, reinicie la base de datos PostgreSQL autoadministrada para aplicar los cambios.

  4. Agregue las direcciones IP de DTS al archivo de configuración pg_hba.conf de la base de datos PostgreSQL autoadministrada. Solo necesita agregar el rango de direcciones IP de DTS correspondiente a la región donde reside la base de datos de destino. Para más información, consulte Whitelist DTS server IP addresses.

    Nota
    • Después de modificar el archivo de configuración, ejecute el comando SELECT pg_reload_conf(); o reinicie la base de datos PostgreSQL autoadministrada para aplicar los cambios.

    • Para más información sobre el archivo de configuración, consulte El archivo pg_hba.conf. Si ya estableció la dirección de confianza en 0.0.0.0/0 (como se muestra en el siguiente ejemplo), puede omitir este paso.

    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             0.0.0.0/0               md5
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     postgres                                trust
    host    replication     postgres        0.0.0.0/0               md5
  5. En la instancia de base de datos de destino, cree las bases de datos y esquemas que correspondan a los objetos que planea sincronizar.

Si su versión de PostgreSQL autoadministrado está entre 9.4.8 y 10.0, también debe completar los siguientes preparativos.

  1. Descargue el código fuente de PostgreSQL, compílelo e instálelo.

    1. Inicie sesión en el servidor que aloja la base de datos PostgreSQL autoadministrada.

    2. Según la versión de la base de datos PostgreSQL autoadministrada de origen, descargue el código fuente de la versión correspondiente desde el sitio web oficial de PostgreSQL.

    3. Ejecute los comandos sudo ./configure, sudo make y sudo make install en secuencia para configurar, compilar e instalar el código fuente.

      Importante
      • Al compilar e instalar PostgreSQL, la versión del sistema operativo de PostgreSQL debe coincidir con la versión de GCC (GNU Compiler Collection).

      • Si sudo ./configure falla, ajuste el comando según el mensaje de error. Por ejemplo, si el error es readline library not found. Use --without-readline to disable readline support., cambie el comando a sudo ./configure --without-readline.

      • Si instala PostgreSQL de otra manera, debe compilar ali_decoding en un entorno de prueba que tenga la misma versión de sistema operativo y versión de GCC.

  2. Descargue el plugin ali_decoding proporcionado por DTS, compílelo e instálelo.

    1. Descargue ali_decoding.

    2. Copie todo el directorio ali_decoding al directorio contrib de la instalación compilada de PostgreSQL.

      total 1068
      -rw-r--r--  1 1107 1107    384 Sep 27 2016 aclocal.m4
      drwxrwxrwx  2 1107 1107   4096 Sep 27 2016 config
      -rw-r--r--  1 root root 374806 Sep  7 10:10 config.log
      -rwxr-xr-x  1 root root  39032 Sep  7 10:10 config.status
      -rwxr-xr-x  1 1107 1107 471157 Sep 27 2016 configure
      -rw-r--r--  1 1107 1107  75195 Sep 27 2016 configure.in
      drwxrwxrwx 56 1107 1107   4096 Sep  7 10:28 contrib
      -rw-r--r--  1 1107 1107   1192 Sep 27 2016 COPYRIGHT
      drwxrwxrwx  3 1107 1107   4096 Sep 27 2016 doc
      -rw-r--r--  1 root root   3638 Sep  7 10:10 GNUmakefile
      -rw-r--r--  1 1107 1107   3638 Sep 27 2016 GNUmakefile.in
      -rw-r--r--  1 1107 1107    283 Sep 27 2016 HISTORY
      -rw-r--r--  1 1107 1107  75065 Sep 27 2016 INSTALL
      -rw-r--r--  1 1107 1107   1489 Sep 27 2016 Makefile
      -rw-r--r--  1 1107 1107   1209 Sep 27 2016 README
      drwxrwxrwx 16 1107 1107   4096 Sep 27 2016 src
    3. Vaya al directorio ali_decoding y reemplace el contenido del Makefile con el siguiente contenido:

      # contrib/ali_decoding/Makefile
      MODULE_big = ali_decoding
      MODULES = ali_decoding
      OBJS    = ali_decoding.o
      DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
      EXTENSION = ali_decoding
      NAME = ali_decoding
      #subdir = contrib/ali_decoding
      #top_builddir = ../..
      #include $(top_builddir)/src/Makefile.global
      #include $(top_srcdir)/contrib/contrib-global.mk
      #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
      #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
      #PGXS := $(shell $(PG_CONFIG) --pgxs)
      #include $(PGXS)
      # Use the following for source installation
      ifdef USE_PGXS
      PG_CONFIG = pg_config
      PGXS := $(shell $(PG_CONFIG) --pgxs)
      include $(PGXS)
      else
      subdir = contrib/ali_decoding
      top_builddir = ../..
      include $(top_builddir)/src/Makefile.global
      include $(top_srcdir)/contrib/contrib-global.mk
      endif
    4. Vaya al directorio ali_decoding y ejecute los comandos sudo make y sudo make install en secuencia para compilar ali_decoding y generar los archivos necesarios para su instalación.

    5. Copie los siguientes archivos en las ubicaciones especificadas.

      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/ali_decoding.so'
      /usr/bin/install -c -m 644 ./ali_decoding.control '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 644 ./ali_decoding--0.0.1.sql ./ali_decoding--unpackaged--0.0.1.sql  '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/'
  3. En la instancia de base de datos de destino, cree las bases de datos y esquemas que correspondan a los objetos que planea sincronizar.

Procedimiento

  1. Vaya a la página de lista de tareas de sincronización de la región de destino. Puede utilizar uno de los dos métodos siguientes:

    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 Synchronization.

    3. En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de sincronización.

    Desde la consola de DMS

    Nota

    Las operaciones reales 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 interface.

    1. Inicie sesión en Data Management (DMS).

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

    3. A la derecha de Data Synchronization Tasks, seleccione la región donde se encuentra la instancia de sincronización.

  2. Haga clic en Create Task para abrir la página de configuración de tareas.

  3. Configure las bases de datos de origen y de destino.

    Categoría

    Parámetro

    Descripción

    N/A

    Task Name

    DTS genera automáticamente un nombre de tarea. Se recomienda especificar un nombre descriptivo para facilitar su identificación. El nombre no tiene que ser único.

    Source Database

    Select Existing Connection

    • Para usar una instancia de base de datos que está added to the system (recién creada o guardada), seleccione la instancia de la lista desplegable. La información de la base de datos se configura automáticamente.

      Nota

      En la consola de DMS, este elemento de configuración se denomina Select a DMS database instance..

    • Si no ha agregado la instancia de base de datos al sistema, o si no necesita usar una instancia ya agregada, configure manualmente la siguiente información de la base de datos.

    Database Type

    Seleccione PostgreSQL.

    Access Method

    Seleccione Cloud Enterprise Network (CEN).

    Instance Region

    Seleccione la región donde reside la base de datos PostgreSQL autoadministrada.

    Cross-account

    Si sincroniza datos dentro de la misma cuenta de Alibaba Cloud, seleccione No.

    Connected VPC

    Seleccione la VPC que está conectada a la base de datos PostgreSQL autoadministrada.

    IP address

    Introduzca el nombre de dominio o la dirección IP de la base de datos PostgreSQL autoadministrada.

    Port

    Introduzca el número de puerto utilizado por la base de datos PostgreSQL autoadministrada. El valor predeterminado es 5432.

    Database Name

    Introduzca el nombre de la base de datos que contiene los objetos que se van a sincronizar.

    Database Account

    Introduzca la cuenta de la base de datos PostgreSQL autoadministrada. Para obtener información sobre los permisos obligatorios, consulte Database account permissions.

    Database Password

    Introduzca la contraseña correspondiente a la cuenta de la base de datos.

    Encryption

    Especifica si se debe cifrar la conexión a la base de datos de origen. Puede configurar este parámetro según sus requisitos empresariales. En este ejemplo, se selecciona Non-encrypted.

    Si desea establecer una conexión cifrada con SSL a la base de datos de origen, realice los siguientes pasos: Seleccione SSL-encrypted, cargue CA Certificate, Client Certificate y Private Key of Client Certificate según sea necesario, y luego especifique Private Key Password of Client Certificate.

    Nota
    • Si establece Encryption en SSL-encrypted para una base de datos PostgreSQL autoadministrada, debe cargar CA Certificate.

    • Si desea utilizar el certificado de cliente, debe cargar Client Certificate y Private Key of Client Certificate, y especificar Private Key Password of Client Certificate.

    • Para obtener información sobre cómo configurar el cifrado SSL para una instancia de ApsaraDB RDS for PostgreSQL, consulte SSL encryption.

    Destination Database

    Select Existing Connection

    • Para usar una instancia de base de datos que está added to the system (recién creada o guardada), seleccione la instancia de la lista desplegable. La información de la base de datos se configura automáticamente.

      Nota

      En la consola de DMS, este elemento de configuración se denomina Select a DMS database instance..

    • Si no ha agregado la instancia de base de datos al sistema, o si no necesita usar una instancia ya agregada, configure manualmente la siguiente información de la base de datos.

    Database Type

    Seleccione PolarDB (Compatible with Oracle).

    Connection Type

    Seleccione Express Connect, VPN Gateway, or Smart Access Gateway.

    Instance Region

    Seleccione la región donde reside el clúster de PolarDB for PostgreSQL (Compatible with Oracle) de destino.

    Connected VPC

    Seleccione la VPC que está conectada al clúster de PolarDB for PostgreSQL (Compatible with Oracle).

    Domain Name or IP Address

    Introduzca el endpoint del nodo principal en el clúster de PolarDB for PostgreSQL (Compatible with Oracle) de destino.

    Nota

    Puede ejecutar el comando ping en su computadora para obtener la dirección IP del endpoint de conexión directa del clúster de PolarDB for PostgreSQL (Compatible with Oracle) de destino.

    Port

    Introduzca el número de puerto utilizado por la base de datos de destino. El valor predeterminado es 1521.

    Database Name

    Introduzca el nombre de la base de datos de destino que contiene los objetos que se van a sincronizar en la instancia de PolarDB for PostgreSQL (Compatible with Oracle).

    Database Account

    Introduzca la cuenta de la base de datos para la instancia de PolarDB for PostgreSQL (Compatible with Oracle) de destino. Para obtener información sobre los permisos obligatorios, consulte Database account permissions.

    Database Password

    Introduzca la contraseña correspondiente a la cuenta de la base de datos.

  4. Una vez completada la configuración, haga clic en Test Connectivity and Proceed en la parte inferior de la página.

    Nota
    • Asegúrese de que los bloques CIDR de direcciones IP de los servidores de DTS estén agregados a la configuración de seguridad de las bases de datos de origen y de destino para permitir el acceso desde dichos servidores. Esto se puede hacer automática o manualmente. Para obtener más información, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.

    • Si la base de datos de origen o de destino es autoadministrada (donde Access Method no es Alibaba Cloud Instance), también debe hacer clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers.

  5. Configure los objetos de la tarea.

    1. En la página Configure Objects, configure los objetos a sincronizar.

      Parámetro

      Descripción

      Synchronization Types

      Incremental Data Synchronization está seleccionado. De forma predeterminada, también debe seleccionar Schema Synchronization y Full Data Synchronization. Una vez completada la verificación previa, DTS realiza una sincronización completa de datos de los objetos seleccionados desde la instancia de origen hacia el clúster de destino. Esto sirve como datos de referencia para la posterior sincronización incremental de datos.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Comprueba si existe una tabla con el mismo nombre en la base de datos de destino. Si no existe ninguna tabla con el mismo nombre, la verificación previa se supera correctamente. Si existe una tabla con el mismo nombre, la verificación previa falla y la tarea de sincronización de datos no se inicia.

        Nota

        Si no puede eliminar o cambiar el nombre de la tabla con el mismo nombre en la base de datos de destino, puede asignarle un nombre de tabla diferente. Para obtener más información, consulte Map table and column names.

      • Ignore Errors and Proceed: Omite la comprobación de nombres de tabla duplicados en la base de datos de destino.

        Aviso

        Seleccionar Ignore Errors and Proceed puede causar inconsistencia en los datos y poner en riesgo su negocio. Por ejemplo:

        • Si los esquemas de las tablas son iguales y un registro en la base de datos de destino tiene el mismo valor de clave principal o clave única que un registro en la base de datos de origen:

          • Durante la sincronización completa, DTS conserva el registro en el clúster de destino. El registro correspondiente de la base de datos de origen no se sincroniza.

          • Durante la sincronización incremental, el registro de la base de datos de origen sobrescribe el registro en la base de datos de destino.

        • Si los esquemas de las tablas son diferentes, la sincronización inicial de datos puede fallar. Esto puede resultar en la sincronización parcial de datos de columnas o en un fallo completo de la sincronización. Proceda con precaución.

      Source Objects

      En el cuadro Source Objects, haga clic en un objeto para sincronizarlo y luego haga clic en 向右 para moverlo al cuadro Selected Objects.

      Nota
      • Puede seleccionar objetos de sincronización a nivel de esquema o de tabla. Si selecciona tablas, otros objetos como vistas, desencadenadores y procedimientos almacenados no se sincronizan con la base de datos de destino.

      • Si las tablas a sincronizar contienen columnas de tipo SERIAL y selecciona Synchronization Types que incluye Schema Synchronization, se recomienda que también seleccione Sequence o sincronice todo el esquema.

      Selected Objects

      • Para cambiar el nombre de un solo objeto de sincronización en la instancia de destino, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects. Para obtener más información sobre cómo cambiar nombres de objetos, consulte Map a single database, table, or column.

      • Para cambiar los nombres de varios objetos de sincronización en la instancia de destino por lotes, haga clic en Batch Edit en la esquina superior derecha del cuadro Selected Objects. Para obtener más información, consulte Map databases, tables, and columns in a batch.

      Nota
      • Para seleccionar las operaciones SQL a sincronizar para una base de datos o tabla específica, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects y seleccione las operaciones deseadas en el cuadro de diálogo que aparece.

      • Para filtrar datos mediante una cláusula WHERE, haga clic con el botón derecho en la tabla dentro del cuadro Selected Objects y especifique la condición de filtro en el cuadro de diálogo que aparece. Para obtener más información, consulte Configure filter conditions.

    2. Haga clic en Next: Advanced Settings para configurar los parámetros avanzados.

      Parámetro

      Descripción

      Dedicated Cluster for Task Scheduling

      De forma predeterminada, DTS programa tareas en un clúster compartido, por lo que no es necesario seleccionar uno. Para obtener un rendimiento más estable, puede adquirir un clúster dedicado para ejecutar tareas de sincronización de DTS. Para obtener más información, consulte What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Después de iniciar una tarea de sincronización, si falla la conexión a la base de datos de origen o de destino, DTS reporta un error e intenta reconectar inmediatamente. La duración predeterminada de reintento es de 720 minutos. También puede especificar una duración personalizada de entre 10 y 1,440 minutos. Se recomienda establecer la duración en 30 minutos o más. Si DTS logra reconectarse a la base de datos dentro del tiempo especificado, la tarea de sincronización se reanuda automáticamente. De lo contrario, la tarea falla.

      Nota
      • Si tiene varias instancias de DTS (por ejemplo, Instancia A e Instancia B) que comparten el mismo origen o destino, y configura el tiempo de reintento de red en 30 minutos para la Instancia A y 60 minutos para la Instancia B, se utilizará la duración más corta de 30 minutos para ambas.

      • Dado que DTS cobra por el tiempo de ejecución de la tarea durante el período de reintento de conexión, se recomienda personalizar la duración del reintento según sus necesidades comerciales o liberar la instancia de DTS lo antes posible después de que se liberen las instancias de base de datos de origen y destino.

      Retry Time for Other Issues

      Después de iniciar la tarea de sincronización, si ocurren otros problemas no relacionados con la conectividad en la base de datos de origen o de destino (como excepciones en la ejecución de DDL o DML), DTS reporta un error e inicia operaciones de reintento continuo. La duración predeterminada de reintento es de 10 minutos. También puede personalizar la duración dentro del rango de 1 a 1,440 minutos. Se recomienda establecerla en 10 minutos o más. Si las operaciones relevantes tienen éxito dentro de la duración de reintento configurada, la tarea de sincronización se reanuda automáticamente. De lo contrario, la tarea falla.

      Importante

      El valor de Retry Time for Other Issues debe ser menor que el de Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Durante la etapa de sincronización completa, DTS consume recursos de lectura y escritura de las bases de datos de origen y destino, lo que puede aumentar la carga de la base de datos. Para reducir la carga en las bases de datos de origen y destino, puede establecer un límite de velocidad para la tarea de sincronización completa configurando los parámetros Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s).

      Nota
      • Este elemento de configuración solo está disponible cuando Synchronization Types está establecido en Full Data Synchronization.

      • También puede adjust the full synchronization rate después de que la instancia de sincronización esté en ejecución.

      Enable Throttling for Incremental Data Synchronization

      También puede establecer un límite de velocidad para la tarea de sincronización incremental. Para aliviar la presión en la base de datos de destino, configure RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Puede seleccionar una etiqueta de entorno para identificar la instancia. Este parámetro es opcional. Puede dejarlo sin especificar para este ejemplo.

      Configure ETL

      Elija si desea habilitar la función de extracción, transformación y carga (ETL). Para obtener más información, consulte What is ETL? Valores válidos:

      Monitoring and Alerting

      Especifique si desea configurar alertas. Si la sincronización falla o la latencia excede el umbral especificado, se envía una notificación a un contacto de alerta.

    3. Haga clic en Next: Data Validation para configurar una tarea de validación de datos.

      Si desea utilizar la función de validación de datos, consulte Configure data validation para obtener instrucciones de configuración.

  6. Guarde la tarea y ejecute una verificación previa.

    • Para ver los parámetros de API para configurar esta instancia, pase el cursor sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja emergente.

    • Si ha terminado de ver los parámetros de API, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.

    Nota
    • Antes de que comience el trabajo de sincronización, DTS ejecuta una verificación previa. El trabajo solo puede iniciarse después de superar todos los elementos de la verificación.

    • Si la verificación previa falla, haga clic en View Details para el elemento fallido. Solucione el problema según las indicaciones y vuelva a ejecutar la verificación previa.

    • Si la verificación previa devuelve una advertencia:

      • Si un elemento de comprobación falla y no se puede ignorar, haga clic en View Details junto al elemento. Siga las instrucciones para solucionar el problema y vuelva a ejecutar la verificación previa.

      • Para los elementos de comprobación que se pueden ignorar, puede hacer clic en Confirm Alert Details, Ignore, OK y Precheck Again en secuencia para omitir la advertencia y volver a ejecutar la verificación previa. Si decide ocultar el elemento de advertencia, podría causar problemas como inconsistencia de datos y poner en riesgo su negocio.

  7. Adquiera la instancia.

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

    2. En la página Purchase, seleccione el método de facturación y la especificación de enlace para la instancia de sincronización de datos. La siguiente tabla describe estos parámetros en detalle.

      Categoría

      Parámetro

      Descripción

      New Instance Class

      Método de facturación

      • Subscription: Paga al crear la instancia. Es adecuado para necesidades a largo plazo y resulta más rentable que pay-as-you-go. Cuanto mayor sea la duración de la suscripción, mayor será el descuento.

      • Pay-as-you-go: Se le cobra por hora. Es adecuado para necesidades a corto plazo. Puede liberar la instancia inmediatamente después de usarla para ahorrar costos.

      Configuración de resource group

      El resource group al que pertenece la instancia. El valor predeterminado es default resource group. Para obtener más información, consulte What is Resource Management?.

      Especificación de enlace

      DTS proporciona especificaciones de sincronización con diferentes niveles de rendimiento. La especificación del enlace de sincronización afecta la tasa de sincronización. Puede elegir una especificación según su escenario empresarial. Para obtener más información, consulte Data synchronization link specifications.

      Duración de la suscripción

      En el modo de suscripción, seleccione la duración y la cantidad para la instancia de suscripción. Puede elegir una suscripción mensual de 1 a 9 meses, o una suscripción anual de 1, 2, 3 o 5 años.

      Nota

      Esta opción solo está disponible cuando el método de facturación es Subscription.

    3. Después de completar la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Haga clic en Buy and Start. En el cuadro de diálogo OK, haga clic en OK.

      Puede consultar el progreso de la tarea en la página Data Synchronization.