A sincronização de esquemas compara os esquemas de dois bancos de dados, gera as instruções DDL necessárias para eliminar as diferenças e executa essas instruções no banco de dados de destino, sem alterar os dados das linhas.
Use a sincronização de esquemas para manter a consistência entre ambientes: de produção para teste, de teste para teste ou de produção para produção.
Pré-requisitos
Antes de começar, verifique se você tem:
Um banco de dados de origem e um de destino de um tipo compatível
A regra de segurança Enable execution capability (if closed, other rules are invalid) ativada para o banco de dados de destino (consulte Ativar capacidade de execução)
Permissões de consulta no banco de dados de origem (consulte Visualizar permissões próprias)
Permissões para alterar tabelas no banco de dados de destino (consulte Visualizar permissões próprias)
Sem a regra de segurança Enable execution capability, o DMS compara esquemas, mas não executa as instruções SQL geradas.
Tipos de banco de dados compatíveis
|
Engine |
Supported products |
|
MySQL |
ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB-X, AnalyticDB for MySQL V3.0, bancos de dados MySQL de outras origens |
|
SQL Server |
ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server, bancos de dados SQL Server de outras origens |
|
PostgreSQL |
ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL, AnalyticDB for PostgreSQL, bancos de dados PostgreSQL de outras origens |
|
MariaDB |
ApsaraDB RDS for MariaDB, bancos de dados MariaDB de outras origens |
|
OceanBase |
ApsaraDB for OceanBase no modo MySQL |
|
PolarDB |
PolarDB for PostgreSQL (Compatible with Oracle) |
Como funciona a sincronização de esquemas
A sincronização de esquemas altera apenas a estrutura e nunca move dados entre bancos de dados.
Ao comparar esquemas, o comportamento do DMS varia conforme a existência de nomes de tabela correspondentes no destino:
|
Situation |
DMS behavior |
|
A tabela existe na origem, mas não no destino |
Cria a tabela no banco de dados de destino |
|
A tabela existe em ambos os bancos de dados |
Adiciona ou remove campos para igualar a tabela de destino à de origem |
|
A tabela existe no destino, mas não na origem |
Nenhuma ação — o DMS nunca exclui uma tabela do destino |
Remover um campo também exclui permanentemente todos os dados contidos nele. Revise cuidadosamente as instruções SQL geradas antes de confirmar a sincronização.
Sincronizar esquemas
O fluxo de trabalho consiste em quatro etapas: configure o ticket → analisar esquemas → obter aprovação → executar a sincronização.
Antes de começar: Agende a sincronização de esquemas fora dos horários de pico. A duração depende da quantidade de tabelas e da fila atual de tarefas.
Faça login no console do DMS V5.0.
-
Na barra de navegação superior, selecione Database Development > Schema Change > Schema Synchronization.
NotaNo modo simples, passe o mouse sobre o ícone
no canto superior esquerdo e escolha All Features > Database Development > Schema Change > Schema Synchronization. -
Na página Table Sync Tickets, configure os seguintes parâmetros:
AvisoSelecionar Ignore pode fazer com que o sistema ignore instruções DDL, resultando em uma sincronização incompleta ou inconsistente. Analise com atenção antes de selecionar esta opção.
Parameter
Description
Source database
Banco de dados de source para a sincronização de esquemas. Insira uma palavra-chave para pesquisar. (Opcional) Especifique um version number do esquema. Por padrão, o sistema usa a versão mais recente. Consulte Gerencie versões de esquema.
Destination database
Banco de dados de destino para a sincronização de esquemas. Insira uma palavra-chave para pesquisar. (Opcional) Especifique um version number do esquema. Por padrão, o sistema usa a versão mais recente. Consulte Gerencie versões de esquema.
Synchronized table
Tabelas a sincronizar. Selecione Partial Tables para definir nomes de tabelas de source e de destino (o destino assume o mesmo nome da source por padrão) ou All Tables para sincronizar todas as tabelas do banco de dados de source.
Whether to ignore error
Define como tratar erros durante a execução do SQL. A opção Not Ignore interrompe a execução ao encontrar um erro. A opção Ignore ignora a instrução com falha e prossegue com as demais.
Clique em Submit. O DMS inicia a análise de esquemas. Se houver alterações nos esquemas durante essa etapa, clique em Re-analyze na fase Schema Analysis.
Clique em Submit for Approval e aguarde a aprovação da solicitação.
Após a aprovação, clique em Submit and Synchronize to Target Database.
-
Revise as instruções SQL a executar. Clique em Confirm Synchronization. Após o início da execução, clique em Details para visualize os logs da operação, incluindo as instruções SQL, a duração da execução e detalhes do agendamento.
AvisoVerifique se há exclusões de campos antes de prosseguir. Remover um campo apaga seus dados permanentemente.
Quando a mensagem Synchronized. aparecer, os esquemas estarão sincronizados com sucesso no banco de dados de destino.
Próximos passos
Gerencie versões de esquema — versionar e reverter alterações de esquema
Visualize permissões próprias — verifique ou solicitar as permissões necessárias para a sincronização de esquemas