このトピックでは、OceanBase データベースの MySQL テナントから MySQL データベースに同期できる DDL 操作について説明します。
同期がサポートされている DDL 操作
CREATE TABLE説明CREATE TABLE AS SELECTはサポートされていません。DROP TABLETRUNCATE TABLEALTER TABLE CHANGE COLUMN説明列の長さを増やすことはできますが、列の型を変更することはできません。
ALTER TABLE ADD COLUMNALTER TABLE ALTER COLUMN SET DEFAULTおよびALTER TABLE ALTER COLUMN DROP DEFAULTALTER TABLE DROP COLUMNCREATE INDEXおよびALTER TABLE ADD INDEXDROP INDEXおよびALTER TABLE DROP INDEX
DDL 文の制限
同期対象のテーブルに、サポートされていない DDL 操作が含まれている場合、移行プロジェクトが失敗し、回復不能なデータ例外が発生する可能性があります。
テーブルに対する頻繁な DDL 操作はサポートされていません。ストアが DDL 操作を完了した後 (タイムスタンプに基づいて判断できます)、次の DDL 操作に進みます。そうでない場合、ストアが予期せず終了したり、回復不能なデータ例外が発生したりする可能性があります。
ストアを作成する前、およびストアの起動中は、DDL 操作を実行しないでください。ログのプルが含まれる場合は、ログのプルの開始時刻から現在時刻までの期間に DDL 操作を実行しないでください。 そうでない場合、ストアが予期せず終了したり、回復不能なデータ例外が発生したりする可能性があります。
RENAME TABLE文の前後のテーブル名は、両方とも同期対象のテーブルのリストに含まれているか、両方とも含まれていない必要があります。増分移行で DDL 操作を有効にすると、
DROP INDEX文がすべてのインデックスに対して実行され、ターゲットデータベースでインデックスが失われる可能性があります。