全部產品
Search
文件中心

ApsaraDB for OceanBase:DDL 同步範圍

更新時間:Nov 21, 2024

本文為您介紹不同類型的資料移轉或資料同步任務對錶和索引相關的 DDL 語句的支援情況。

注意事項

  • 本文 DDL 同步的支援說明,受限於 DDL 語句的複雜性未覆蓋所有細節情境,例如 ALTER TABLE ADD COLUMN 的所有選項。如果存在不支援的現象,請根據產品頁面提示或聯絡技術支援人員。

  • 本文 DDL 同步支援說明中的 DDL 語句,僅作為 DDL 樣本,具體文法受不同資料庫支援影響,略有差異,請根據不同資料庫實際文法評估支援的 DDL 語句。

  • 本文 DDL 同步支援說明中的表相關的 CREATE DDL,需要以 匹配規則 的方式選擇對象,並且 CREATE 的表名必須包含在匹配規則的 遷移對象規則 內,相關 DDL 才會同步至目標端。

  • 本文 DDL 同步支援說明中的表相關的 RENAME DDL,需要以 匹配規則 的方式選擇對象,並且 RENAME 後的表名必須包含在匹配規則的 遷移對象規則 內,相關 DDL 才會同步至目標端。

  • 本文 DDL 同步支援說明中索引相關的 DDL,索引所在的表對象需要在 遷移對象規則 內,相關的 DDL 才會同步至目標端。

  • 資料移轉任務中反向增量的 DDL,請以本文表格中“目標端->源端”的支援說明為準。例如,源端 MySQL & 目標端 OB_MySQL,反向增量的 DDL 請參考 OB_MySQL-> MySQL 的支援說明。

MySQL -> OB_MySQL

遷移 MySQL 資料庫的資料至 OceanBase 資料庫 MySQL 租戶時,DDL 同步的支援情況如下。更多詳情請參見 MySQL 資料庫至 OceanBase 資料庫 MySQL 租戶的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

支援

ALTER TABLE A DROP INDEX/KEY B

支援

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

不支援

ALTER TABLE A ADD UNIQUE INDEX/KEY B

支援

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

不支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

支援

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_MySQL-> MySQL

遷移 OceanBase 資料庫 MySQL 租戶的資料至 MySQL 資料庫時,DDL 同步的支援情況如下。更多詳情請參見 OceanBase 資料庫 MySQL 租戶至 MySQL 資料庫的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

支援

ALTER TABLE A DROP INDEX/KEY B

支援

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

不支援

ALTER TABLE A ADD UNIQUE INDEX/KEY B

支援

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

不支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

支援

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_MySQL -> OB_MySQL

遷移 OceanBase 資料庫 MySQL 租戶的資料至 OceanBase 資料庫 MySQL 租戶時,DDL 同步的支援情況如下。更多詳情請參見 OceanBase 資料庫 MySQL 租戶之間的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

支援

ALTER TABLE A DROP INDEX/KEY B

支援

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

不支援

ALTER TABLE A ADD UNIQUE INDEX/KEY B

支援

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

不支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端和目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

支援

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

Oracle -> OB_Oracle

遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶時,DDL 同步的支援情況如下。更多詳情請參見 Oracle 資料庫至 OceanBase 資料庫 Oracle 租戶的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

N/A

CREATE TABLE IF NOT EXISTS A

N/A

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

N/A

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

N/A

ALTER TABLE A DROP INDEX/KEY B

N/A

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

N/A

ALTER TABLE A ADD UNIQUE INDEX/KEY B

N/A

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

N/A

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_Oracle -> Oracle

遷移 OceanBase 資料庫 Oracle 租戶的資料至 Oracle 資料庫時,DDL 同步的支援情況如下。更多詳情請參見 OceanBase 資料庫 Oracle 租戶至 Oracle 資料庫的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

N/A

CREATE TABLE IF NOT EXISTS A

N/A

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

N/A

ALTER TABLE A DROP INDEX/KEY B

N/A

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

N/A

ALTER TABLE A ADD UNIQUE INDEX/KEY B

N/A

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

N/A

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_Oracle -> OB_Oracle

遷移 OceanBase 資料庫 Oracle 租戶的資料至 OceanBase 資料庫 Oracle 租戶時,DDL 同步的支援情況如下。更多詳情請參見 OceanBase 資料庫 Oracle 租戶之間的 DDL 同步

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

N/A

ALTER TABLE A DROP INDEX/KEY B

N/A

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

N/A

ALTER TABLE A ADD UNIQUE INDEX/KEY B

N/A

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端和目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

N/A

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_MySQL -> ADB

同步 OceanBase 資料庫 MySQL 租戶的資料至雲原生資料倉儲 AnalyticDB MySQL 版時,DDL 同步的支援情況如下。

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

支援

ALTER TABLE A DROP INDEX/KEY B

不支援

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

不支援

ALTER TABLE A ADD UNIQUE INDEX/KEY B

不支援

ALTER TABLE A ADD CONSTRAINT B

不支援

ALTER TABLE A DROP CONSTRAINT B

不支援

ALTER TABLE A DROP PRIMARY KEY

不支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

支援

DROP

DROP TABLE A

不支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

不支援

索引

CREATE

CREATE INDEX A ON B(C)

不支援

CREATE UNIQUE INDEX A ON B(C)

不支援

DROP

DROP INDEX A ON B

不支援

OB_MySQL -> DataHub(BLOB)

同步 OceanBase 資料庫 MySQL 租戶的資料至 DataHub(BLOB 類型)時,DDL 同步的支援情況如下。

物件類型

DDL 類型

DDL 語句

是否支援

ALTER

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A MODIFY COLUMN B

支援

TRUNCATE

TRUNCATE TABLE A

說明

延遲刪除情境下,同一個事務中會有兩條一樣的TRUNCATE TABLEDDL。此時,下遊消費需要按照等冪方式處理。

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_Oracle -> DataHub(BLOB)

同步 OceanBase 資料庫 Oracle 租戶的資料至 DataHub(BLOB 類型)時,DDL 同步的支援情況如下。

物件類型

DDL 類型

DDL 語句

是否支援

ALTER

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A MODIFY COLUMN B

支援

TRUNCATE

TRUNCATE TABLE A

說明

延遲刪除情境下,同一個事務中會有兩條一樣的TRUNCATE TABLEDDL。此時,下遊消費需要按照等冪方式處理。

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_MySQL -> Kafka

同步 OceanBase 資料庫 MySQL 租戶的資料至 Kafka 時,DDL 同步的支援情況如下。

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

支援

ALTER TABLE A DROP INDEX/KEY B

支援

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

不支援

ALTER TABLE A ADD UNIQUE INDEX/KEY B

支援

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

不支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端和目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

支援

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援

OB_Oracle -> Kafka

同步 OceanBase 資料庫 Oracle 租戶的資料至 Kafka 時,DDL 同步的支援情況如下。

物件類型

DDL 類型

DDL 語句

是否支援

CREATE

CREATE TABLE A

支援

CREATE TABLE A LIKE B

支援

CREATE TABLE IF NOT EXISTS A

支援

CREATE TABLE AS SELECT

不支援

ALTER

ALTER TABLE A RENAME B

支援

ALTER TABLE A ADD COLUMN B

支援

ALTER TABLE A DROP COLUMN B

支援

ALTER TABLE A ALTER COLUMN SET DEFAULT

支援

ALTER TABLE A ALTER COLUMN DROP DEFAULT

支援

ALTER TABLE A CHANGE COLUMN

支援

ALTER TABLE A MODIFY COLUMN

支援

ALTER TABLE A ADD INDEX/KEY B

N/A

ALTER TABLE A DROP INDEX/KEY B

N/A

ALTER TABLE A ADD FULLTEXT INDEX/KEY B

N/A

ALTER TABLE A ADD UNIQUE INDEX/KEY B

N/A

ALTER TABLE A ADD CONSTRAINT B

支援

ALTER TABLE A DROP CONSTRAINT B

支援

ALTER TABLE A DROP PRIMARY KEY

支援

說明

僅源端和目標端 OceanBase 資料庫 V4.0.0 及之後版本支援

ALTER TABLE A ADD PARTITION B

支援

ALTER TABLE A DROP PARTITION B

支援

ALTER TABLE A TRUNCATE PARTITION B

支援

ALTER TABLE A PARTITION BY...

N/A

DROP

DROP TABLE A

支援

RENAME

RENAME TABLE A TO B

支援

TRUNCATE

TRUNCATE TABLE A

支援

索引

CREATE

CREATE INDEX A ON B(C)

支援

CREATE UNIQUE INDEX A ON B(C)

支援

DROP

DROP INDEX A ON B

支援