全部產品
Search
文件中心

ApsaraDB for OceanBase:OceanBase 資料庫 Oracle 租戶至 Oracle 資料庫的同步 DDL

更新時間:Jul 01, 2024

同步 DDL 支援的範圍

  • 建立表CREATE TABLE

    重要

    包括分區表,不包括CREATE TABLE AS SELECT

  • 刪除表DROP TABLE

  • 清空表TRUNCATE TABLE

  • 添加分區ADD PARTITION

    支援添加一級分區和二級分區。其中一級和二級分區均支援添加 Range/List 分區,不支援添加 Hash 分區。

  • 刪除分區DROP PARTITION

    支援刪除單個或多個分區,以及刪除二級分區。

  • 清空分區TRUNCATE PARTITION

    支援清空單個或多個分區,以及清空二級分區。

  • 表重新命名RENAME TABLEALTER 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 不支援同步。