迁移 OceanBase 数据库 MySQL 租户的数据至 OceanBase 数据库 MySQL 租户时,支持同步 DDL。
同步 DDL 支持的范围
创建表
CREATE TABLE包括分区表,不包括
CREATE TABLE AS SELECT。支持的分区表类型有一级分区(Hash、Range 和 List)、二级分区(Hash、Range 和 List)。删除表
DROP TABLE清空表
TRUNCATE TABLE表重命名
RENAME TABLE或ALTER TABLE RENAME添加列
ALTER TABLE ADD COLUMN修改列
ALTER TABLE MODIFY COLUMN重要仅支持修改列至更大的长度,不支持修改列的类型。
创建索引
CREATE INDEX删除索引
DROP INDEX添加和删除表或列的注释
COMMENT
同步 DDL 的使用限制
如果需要同步的表涉及支持范围外的 DDL,数据迁移项目可能会中断并造成数据问题,且无法恢复。
不能频繁对一张表进行 DDL 操作。当 Store 处理完当前 DDL 后(根据位点判断),再进行下一个 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。
新建 Store 前的一段时间和启动过程中,需要确保无 DDL。如果是回拉,回拉点至当前时间保证无 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。
rename table前后的表名,必须全在需要同步的表中,或者全不在需要同步的表中。不支持同步
case when index的建表 DDL。开启增量 DDL 后,
drop index命令会无差别执行,可能导致目标端索引丢失。
该文章对您有帮助吗?