更新时间:2026-09-14 GMT+08:00

心跳表格式

心跳表必须含有三个字段dlf_job_id、external_job_id和heartbeat,且主键名必须为dlf_job_id。

各个数据源对应字段的数据类型如下:

表1 各个数据源对应字段的数据类型

字段名

MySQL类型

Oracle类型

SQL Server类型

PostgreSQL/GaussDB类型

说明

dlf_job_id

VARCHAR(128)

VARCHAR2(128)

NVARCHAR(128)

VARCHAR(128)

主键,Migration实时集成作业ID。

external_job_id

VARCHAR(128)

VARCHAR2(128)

NVARCHAR(128)

VARCHAR(128)

Migration实时集成底层作业ID。

heartbeat

BIGINT

NUMBER(20, 0)

BIGINT

BIGINT

心跳时间,为同步作业的系统生成心跳数据的UTC时间,单位为毫秒。

  • MySQL
    CREATE TABLE `your_db_name`.`your_heartbeat_table_name` (
      `dlf_job_id` VARCHAR(128) PRIMARY KEY,
      `external_job_id` VARCHAR(128),
      `heartbeat` BIGINT
    )
  • PostgreSQL/GaussDB
    CREATE TABLE "your_schema_name"."your_heartbeat_table_name" (
      "dlf_job_id" VARCHAR(128) PRIMARY KEY,
      "external_job_id" VARCHAR(128),
      "heartbeat" BIGINT
    )
  • Oracle
    CREATE TABLE "your_schema_name"."your_heartbeat_table_name"(
      "dlf_job_id" NVARCHAR2(128) PRIMARY KEY,
      "external_job_id" NVARCHAR2(128),
      "heartbeat" NUMBER(20, 0)
    )

    Oracle心跳表创建完成后(包括作业自动建表),请为心跳表开启补充日志,否则心跳表数据将无法同步。

    ALTER TABLE "your_schema_name"."your_heartbeat_table_name" ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS

  • SQL Server
    CREATE TABLE [your_schema_name].[your_heartbeat_table_name] (
          [dlf_job_id] NVARCHAR(128) PRIMARY KEY,
      [external_job_id] NVARCHAR(128),
      [heartbeat] BIGINT
      )

    SQL Server心跳表创建完成后(包括作业自动建表),请为心跳表开启CDC功能,否则心跳表数据将无法同步。

    EXEC sys.sp_cdc_enable_table
          @source_schema = N'your_schema_name',   
          @source_name = N'your_heartbeat_table_name',-- 表名 
          @role_name = NULL,   
          @supports_net_changes = 0;