更新时间:2025-08-27 GMT+08:00

Oracle与Doris字段类型映射

Migration会根据源端的字段类型按默认规则转换成目的端字段类型,并以此完成自动建表和实时同步。

字段类型映射规则

当源端为Oracle,目的端为Doris时,支持的字段类型请参见下表,以确保数据完整同步到目的端。

表1 Oracle > Doris支持的字段类型

类别

数据类型(Oracle)

数据类型(Doris)

说明

字符串

CHAR(M)

CHAR(M)

定长字符串,空格填充。

NCHAR(M)

CHAR(M)

定长字符串,空格填充。

VARCHAR2(M)

VARCHAR(M)

变长字符串。

NVARCHAR2(M)

VARCHAR(M)

变长字符串。

ROWID

TEXT

变长字符串。

UROWID

TEXT

变长字符串。

数值

NUMBER(M,D)

DECIMAL(M,D)/STRING

可选择精度的精确数字。

目标端配置-高级配置可设置参数targetVersion指定Doris版本号。

当targetVersion >= 1.2.1时, M最大值为38。

当targetVersion < 1.2.1时,M最大值为27。

当源端M超过最大值时,由TEXT承载。

DECIMAL(M,D)

DECIMAL(M,D)/TEXT

与NUMBER等效。

NUMERIC(M,D)

DECIMAL(M,D)/TEXT

与NUMBER等效。

FLOAT(M)

DOUBLE/TEXT

当M > 53时,Oracle FLOAT精度超过Doris DOUBLE类型精度,由STRING承载。

当M <= 53时,为DOUBLE。

BINARY_FLOAT

FLOAT

单精度浮点数(4字节)。

BINARY_DOUBLE

DOUBLE

双精度浮点数(8字节)。

日期时间

DATE

DATETIME

日期时间。

TIMESTAMP(M)

DATETIME(M)/TEXT

日期时间。

M <= 6时,为DATETIME。

M > 6,为TEXT。

TIMESTAMP(M) WITH TIME ZONE

DATETIME(M)/TEXT

日期时间。

M <= 6时,为DATETIME。

M > 6,为TEXT。

TIMESTAMP(M) WITH LOCAL TIME ZONE

DATETIME(M)/TEXT

日期时间。

M <= 6时,为DATETIME。

M > 6,为TEXT。

二进制

BLOB

TEXT

变长字符串。

CLOB

TEXT

变长字符串。

NCLOB

TEXT

变长字符串。

RAW

TEXT

变长字符串。

LONG

TEXT

变长字符串。

LONG RAW

TEXT

变长字符串。