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