首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 Oracle 租户至 Oracle 数据库的同步 DDL
更新时间:2026-04-14 15:35:47
同步 DDL 支持的范围
创建表
create table包括分区表,不包括
create table as select。删除表
drop table清空表
truncate table添加分区
ADD PARTITION支持添加一级分区和二级分区。其中一级和二级分区均支持添加 Range/List 分区,不支持添加 Hash 分区。
删除分区
drop partition支持删除单个或多个分区,以及删除二级分区。
清空分区
truncate partition支持清空单个或多个分区,以及清空二级分区。
表重命名
rename table或alter table rename添加列
alter table add column修改列
alter table modify column注意
仅支持修改列至更大的长度,不支持修改列的类型。
创建索引
create Index删除索引
drop Index添加和删除表或列的注释
同步 DDL 的使用限制
除支持的同步 DDL 类型外,其它类型均不支持。如果需要同步的表涉及不支持的同步 DDL 类型,数据迁移项目可能会中断并造成数据不一致的问题,且无法恢复。
不能频繁对一张表进行 DDL 操作。当 Store 处理完当前 DDL 后(根据位点判断),再进行下一个 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。
新建 Store 前的一段时间和启动过程中,需要确保无 DDL。如果是回拉,回拉点至当前时间保证无 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。
rename table前后的表名,必须全在需要同步的表中。删除用户未命名的 PK,对应删除的是 Oracle 系统命名的约束(
SYS_C开头的命名方式)。如果是 Oracle 数据库至 OceanBase 数据库等库到库的数据迁移或数据同步,OceanBase 数据库上的 PK 名称和 Oracle 数据库的不同,因此无法在 OceanBase 数据库中删除。迁移 OceanBase 数据库 Oracle 租户的数据至 Oracle 数据库时,不支持导致表从有主键表变为无主键表的 DDL 操作。
如果 OceanBase 数据库 Oracle 租户中存在
pk,则支持所有的 DDL 操作。如果 OceanBase 数据库 Oracle 租户中仅存在
not null uk,则不支持导致 OceanBase 数据库失去not null uk的 DDL 操作。
存在
case when index的建表 DDL 不支持同步。