全部產品
Search
文件中心

ApsaraDB for OceanBase:OceanBase 資料庫 MySQL 租戶之間的同步 DDL

更新時間:Jul 01, 2024

遷移或同步 OceanBase 資料庫 MySQL 租戶的資料至 OceanBase 資料庫 MySQL 租戶時,支援同步 DDL。

重要

如果源端建立了 index,目標端已經存在。資料轉送會自動忽略該 index,不會中斷。

同步 DDL 支援的範圍

  • 添加列 ALTER TABLE ADD COLUMN

  • 修改列 ALTER TABLE MODIFY COLUMN

    重要

    僅支援修改列至更大的長度,不支援修改列的類型。

  • 修改列的預設值 ALTER TABLE ALTER COLUMN SET DEFAULTALTER TABLE ALTER COLUMN DROP DEFAULT

  • 刪除列 ALTER TABLE DROP COLUMN

  • 建立表 CREATE TABLE

  • 刪除表 DROP TABLE

  • 清空表 TRUNCATE TABLE

  • 建立索引 CREATE INDEXALTER TABLE ADD INDEX

  • 刪除索引 DROP INDEXALTER TABLE DROP INDEX

  • 表重新命名 RENAME TABLEALTER TABLE RENAME

同步 DDL 的使用限制

  • 如果需要同步的表涉及支援範圍外的 DDL,資料移轉或資料同步專案可能會中斷並造成資料問題,且無法恢複。

  • 不能頻繁對一張表進行 DDL 操作。當 Store 處理完當前 DDL 後(根據位點判斷),再進行下一個 DDL。否則 Store 可能異常退出或造成資料問題,且無法恢複。

  • 建立 Store 前的一段時間和啟動過程中,需要確保無 DDL。如果是回拉,回拉點至目前時間保證無 DDL。否則 Store 可能異常退出或造成資料問題,且無法恢複。

  • RENAME TABLE 前後的表名,必須全在需要同步的表中,或者全不在需要同步的表中。

  • 開啟同步 DDL 後,DROP INDEX 命令會無差別執行,可能導致目標端索引丟失。