类型名称 | 使用和操作限制 |
MySQL版本限制 | 源端MySQL支持5.7及以上版本。 |
数据库权限设置 |
|
同步对象约束 | 支持表、索引、存储过程、视图、函数的对象传输,不支持事件、触发器的对象传输。 相关关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数引用视图/表、主外键关联表等。 |
源数据库要求 | 源MySQL源数据库的binlog日志必须打开,且binlog日志格式必须为Row格式,在磁盘空间允许的情况下,建议源数据库binlog保存时间越长越好,建议为3天。 |
目标数据库要求 |
|
其他限制 |
|
字段类型 | 说明 |
TINYINT | - |
SMALLINT | - |
TINYINT UNSIGNED | - |
INT | - |
MEDIUMINT | - |
SMALLINT UNSIGNED | - |
BIGINT | - |
INT UNSIGNED | - |
BIGINT UNSIGNED | - |
FLOAT | Float(M,D)定点数M指定长度,D表示小数点位数, 当没有明确精度时,请确认精度是否符合业务预期,否则可能出现同步数据失效情况。 |
DOUBLE | - |
NUMERIC | - |
DECIMAL | - |
BOOLEAN | - |
BIT | - |
DATE | - |
TIMESTAMP | - |
DATETIME | - |
CHAR | - |
VARCHAR | - |
BIT | - |
BINARY | - |
VARBINARY | - |
TINYTEXT | - |
TEXT | - |
MEDIUMTEXT | - |
LONGTEXT | - |
TINYBLOB | - |
BLOB | - |
MEDIUMBLOB | - |
LONGBLOB | - |
YEAR | - |
ENUM | - |
JSON | - |
SET | - |
GEOMETRY | - |
POINT | - |
LINESTRING | - |
POLYGON | - |
MULTIPOINT | - |
MULTILINESTRING | - |
MULTIPOLYGON | - |
GEOMETRYCOLLECTION | - |
类型名称 | 使用和操作限制 |
PostgreSQL版本限制 | 源端PostgreSQL支持10、11、12版本。 |
数据库权限设置 |
|
同步对象约束 | 支持表、索引、存储过程、视图、函数的对象传输,不支持事件、触发器的对象传输。 相关关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败,常见的关联关系:视图引用表、视图引用视图、存储过程/函数引用视图/表、主外键关联表等。 |
源数据库要求 | 源PostgreSQL数据库的WAL日志必须打开,即设置wal_level参数的值为logical。 |
目标数据库要求 |
|
其他限制 |
|
字段类型 | 说明 |
SMALLINT | - |
INT2 | - |
SMALLSERIAL | - |
SERIAL2 | - |
INTEGER | - |
SERIAL | - |
BIGINT | - |
BIGSERIAL | - |
BIGINT | - |
REAL |
|
FLOAT4 | - |
FLOAT8 | - |
DOUBLE PRECISION | - |
NUMERIC(p, s) | - |
DECIMAL(p, s) | - |
BOOLEAN | - |
DATE | - |
TIME [(p)] [WITHOUT TIMEZONE] | - |
TIMESTAMP [(p)] [WITHOUT TIMEZONE] | - |
CHAR(n) | - |
CHARACTER(n) | - |
VARCHAR(n) | - |
CHARACTER VARYING(n) | - |
TEXT | - |
BYTEA | - |
类型名称 | 使用和操作限制 |
MongoDB版本限制 | 源端MongoDB支持3.6、4.x、5.0版本 |
数据库权限设置 |
|
同步对象约束 | 支持集合的对象传输 |
源数据库要求 | 源Mongodb数据库的Oplog日志需开启 |
目标数据库要求 |
|
其他限制 |
|
字段类型 | 说明 |
Int | - |
Long | - |
Double | - |
Decimal128 | - |
Boolean | - |
Date | - |
Timestamp | - |
Date | - |
Timestamp | - |
Date |
|
Timestamp | - |
String | - |
ObjectId | - |
UUID | - |
Symbol | - |
MD5 | - |
JavaScript | - |
Regex | - |
BinData | - |
Object | - |
Array | - |
DBPointer | - |
GeoJSON | - |
类型名称 | 使用和操作限制 |
Oracle版本限制 | 源端Oracle支持11g、12c、19c版本;仅支持单机版本,不支持RAC模式。 |
数据库权限设置 |
|
同步对象约束 | 支持表、视图的对象传输,不支持事件、触发器的对象传输。 相关关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败,常见的关联关系:视图引用表、视图引用视图、存储过程/函数引用视图/表、主外键关联表等。 |
源数据库要求 | 源Oracle数据库的归档日志和附加日志必须打开。开启示例如下:
ORACLE_SID=SID export ORACLE_SID sqlplus /nolog CONNECT sys/password AS SYSDBA alter system set db_recovery_file_dest_size = 10G; alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile; shutdown immediate; startup mount; alter database archivelog; alter database open;
alter database add supplemental log DATA(ALL) COLUMNS; |
目标数据库要求 |
|
其他限制 |
|
类型 | Oracle的数据类型 | 数值范围 | MySQL数据类型 |
数字类型 | NUMBER(p,s) | 1 ~ 22 字节。 p代表精度位,取值范围是1 ~ 38。 s代表小数位,取值范围是-84 ~ 127。 【说明】当s为负数时,需要通过对象建议(请参见在线任务操作)进行结构订正。 | DECIMAL[(p[,s])] |
FLOAT(p) | 1 ~ 22 字节。 p代表指针变量,取值范围是1 ~ 126 bit。 | DOUBLE | |
BINARY_FLOAT | 32-bit的浮点数,即4字节。 | DECIMAL(65,8) | |
BINARY_DOUBLE | 64-bit的浮点数,即8字节。 | DOUBLE | |
日期类型 | DATE | 无 | DATETIME |
TIMESTAMP [(fractional_seconds_precision)] | 无 | DATETIME[(fractional_seconds_precision)] | |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | 无 | DATETIME[(fractional_seconds_precision)] | |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE | 无 | DATETIME[(fractional_seconds_precision)] | |
字符串类型 | CHAR [(size [BYTE | CHAR])] | 2000 字节。 | CHAR[(n)] |
NCHAR[(size)] | 2000 字节。 | NATIONAL CHAR[(n)] | |
VARCHAR2(size [BYTE | CHAR]) | 当MAX_STRING_SIZE = EXTENDED时,最大长度为32767字节; 当MAX_STRING_SIZE = STANDARD,最大长度为4000字节。 | VARCHAR(n) | |
NVARCHAR2(size) | 当MAX_STRING_SIZE = EXTENDED时,最大长度为32767字节; 当MAX_STRING_SIZE = STANDARD,最大长度为4000字节。 | NATIONALVARCHAR[(n)] | |
CLOB | 最大长度(4 GB - 1)*DB_BLOCK_SIZE。 | LONGTEXT | |
NCLOB | 最大长度(4 GB - 1)*DB_BLOCK_SIZE。 | LONGTEXT | |
ROWID类型 | ROWID | 64字符。 | CHAR(20) |
Oracle的数据类型 | 数值范围 | PostgreSQL的数据类型 |
NUMBER(p,s) | 1 ~ 22 字节。 p代表精度位,取值范围是1 ~ 38。 s代表小数位,取值范围是-84 ~ 127。 | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT |
FLOAT(p) | 1 ~ 22 字节。 p代表指针变量,取值范围是1 ~ 126 bit。 | DOUBLE PRECISION |
BINARY_FLOAT | 32-bit的浮点数,即4字节。 | DOUBLE PRECISION |
BINARY_DOUBLE | 64-bit的浮点数,即8字节。 | DOUBLE PRECISION |
DATE | 无 | TIMESTAMP(0) |
TIMESTAMP [(fractional_seconds_precision)] | 无 | TIMESTAMP |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | 无 | TIMESTAMP WITH TIME ZONE |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE | 无 | TIMESTAMP WITH TIME ZONE |
CHAR [(size [BYTE | CHAR])] | 2000 字节。 | CHAR |
NCHAR[(size)] | 2000 字节。 | VARCHAR |
VARCHAR2(size [BYTE | CHAR]) |
| VARCHAR |
NVARCHAR2(size) |
| VARCHAR |
CLOB | 最大长度(4 GB - 1)*DB_BLOCK_SIZE。 | TEXT |
NCLOB | 最大长度(4 GB - 1)*DB_BLOCK_SIZE。 | TEXT |
ROWID | 64字符。 | CHAR(20) |