Vous pouvez synchroniser les opérations DDL lors de la migration de données entre locataires MySQL d’OceanBase Database.
Opérations DDL prises en charge pour la synchronisation
-
Créez une table à l’aide de l’instruction
CREATE TABLE.La création de tables partitionnées est possible, mais l’utilisation de
CREATE TABLE AS SELECTn’est pas prise en charge. Les partitions et sous-partitions de type HASH, RANGE et LIST sont prises en charge. Supprimez une table à l’aide de l’instruction
DROP TABLE.Tronquez une table à l’aide de l’instruction
TRUNCATE TABLE.Renommez une table à l’aide des instructions
RENAME TABLEouALTER TABLE RENAME.Ajoutez une colonne à l’aide de l’instruction
ALTER TABLE ADD COLUMN.-
Modifiez une colonne à l’aide de l’instruction
ALTER TABLE MODIFY COLUMN.ImportantVous pouvez augmenter la longueur de la colonne, mais vous ne pouvez pas modifier son type.
Créez un index à l’aide de l’instruction
CREATE INDEX.Supprimez un index à l’aide de l’instruction
DROP INDEX.Ajoutez ou supprimez un commentaire sur une table ou une colonne à l’aide de l’instruction
COMMENT.
Limites de la synchronisation DDL
Si une table à synchroniser fait l’objet d’opérations DDL non prises en charge, le projet de migration de données risque d’être interrompu et des anomalies de données irrécupérables peuvent survenir.
Les opérations DDL fréquentes sur une même table ne sont pas prises en charge. Une fois qu’un composant Store a terminé une opération DDL (ce qui peut être déterminé selon l’horodatage), il passe à l’opération DDL suivante. Dans le cas contraire, le composant Store peut quitter inopinément le processus, entraînant des anomalies de données irrécupérables.
Assurez-vous qu’aucune opération DDL n’est exécutée avant la création d’un composant Store et pendant son démarrage. Si l’extraction des journaux est activée, vérifiez également qu’aucune opération DDL n’est effectuée entre l’heure de début d’extraction des journaux et l’heure actuelle. À défaut, le composant Store peut quitter inopinément le processus, ce qui peut provoquer des anomalies de données irrécupérables.
Les noms de table avant et après l’exécution de l’instruction
RENAME TABLEdoivent tous deux figurer dans la liste des tables à synchroniser, ou en être tous deux absents.La synchronisation d’une opération DDL de création de table impliquant l’instruction
case when indexn’est pas prise en charge.Lorsque la synchronisation DDL est activée, tout index supprimé dans la base de données source via l’instruction
DROP INDEXest également supprimé dans la base de données de destination. Cela peut entraîner une perte d’index dans la base de données de destination.