本文為您介紹不同類型的資料移轉或資料同步任務對錶和索引相關的 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 說明 延遲刪除情境下,同一個事務中會有兩條一樣的 | 支援 | |
索引 | 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 說明 延遲刪除情境下,同一個事務中會有兩條一樣的 | 支援 | |
索引 | 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 | 支援 |