更新时间:2026-09-14 GMT+08:00
心跳表格式
心跳表必须含有三个字段dlf_job_id、external_job_id和heartbeat,且主键名必须为dlf_job_id。
各个数据源对应字段的数据类型如下:
| 字段名 | 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;
父主题: 数据集成(实时作业)