同步 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 操作,否则可能导致项目异常或造成数据问题,且无法恢复。 
- 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 不支持同步。