A sincronização de tabelas sombra no Data Management (DMS) cria automaticamente tabelas sombra em um banco de dados com base no esquema das tabelas de origem. Essas tabelas espelham a estrutura das originais, mas recebem um prefixo ou sufixo configurável. Isso permite seu uso seguro em testes de estresse de ponta a ponta sem afetar os dados de produção. O DMS oferece suporte a sincronizações únicas e agendadas.
Pré-requisitos
Antes de começar, verifique se você possui:
-
Um banco de dados de origem de um dos seguintes tipos:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB-X, AnalyticDB for MySQL V3.0 e bancos de dados MySQL de outras fontes
SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server e bancos de dados SQL Server de outras fontes
PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL, AnalyticDB for PostgreSQL e bancos de dados PostgreSQL de outras fontes
MariaDB: ApsaraDB RDS for MariaDB e bancos de dados MariaDB de outras fontes
ApsaraDB for OceanBase no modo MySQL
PolarDB for PostgreSQL (compatível com Oracle)
Permissões de consulta e alteração no banco de dados de origem. Consulte Visualize permissões próprias
A regra de segurança Enable execution capability ativada para o banco de dados onde você deseja criar as tabelas sombra. Consulte Ative capacidade de execução
Sem a regra de segurança Enable execution capability, o DMS consegue comparar esquemas, mas não executa instruções SQL para aplicar as alterações.
Crie tabelas sombra
Faça login no console do DMS V5.0.
-
Na barra de navegação superior, escolha Database Development > Schema Change > Shadow Table Synchronization.
No modo simples, passe o mouse sobre o ícone no canto superior esquerdo e escolha All Features > Database Development > Schema Change > Shadow Table Synchronization.
-
Na página Table Sync Tickets, configure os seguintes parâmetros:
Parâmetro
Descrição
Source Database
Banco de dados onde o sistema criará as tabelas sombra. Sua conta deve ter permissões de consulta e alteração neste banco. Consulte Visualize permissões próprias.
Prefix / Suffix
Prefixo ou sufixo adicionado ao nome de cada tabela de origem para formar o nome da tabela sombra. Formato:
<Prefix>+ nome da tabela de origem, ou nome da tabela de origem +<Suffix>. Padrão: prefixo__test_, que gera nomes como__test_<source_table_name>.Synchronized Table
Escopo das tabelas a sincronizar. Partial Tables: sincroniza apenas as tabelas selecionadas. All Tables: sincroniza todas as tabelas do banco de dados.
Synchronization Policy
Momento de execução da sincronização. Synchronize Now: executa uma única vez imediatamente após o envio do ticket. Scheduled Synchronization: executa em um cronograma recorrente definido por uma expressão crontab. O intervalo mínimo é de 1 hora. O cronograma padrão executa diariamente às 02:00.
Whether to Ignore Error
Tratamento de erros de execução de SQL pelo DMS. Not Ignore: interrompe a execução quando ocorre um erro. Ignore: ignora a instrução com falha e continua a executar as instruções restantes.
Clique em Submit. O DMS inicia a análise de esquema e compara os esquemas das tabelas de origem para determinar as instruções SQL necessárias. Se os esquemas mudarem durante esta etapa, clique em Re-analyze na etapa Schema Analysis para atualizar a análise.
Clique em Submit for Approval e aguarde a aprovação do ticket. Esta etapa encaminha o ticket pelo fluxo de trabalho de aprovação da sua organização. O DMS não executa nenhuma instrução SQL até que o ticket seja aprovado e você prossiga para a próxima etapa.
Clique em Submit and Synchronize to Target Database.
Revise as instruções SQL a executar e clique em Confirm Synchronization. O DMS executa as instruções SQL para sincronizar os esquemas. Clique em Details para visualizar os logs de operação, incluindo as instruções SQL, a duração da execução e os detalhes do agendamento.
Expressões Crontab
Use uma expressão crontab para agendar sincronizações recorrentes. Uma expressão é uma string composta por seis campos separados por espaços:
Second Minute Hour Day Month Week
Referência de campos
|
Campo |
Valores válidos |
Caracteres especiais |
|
Second |
0–59 |
|
|
Minute |
0–59 |
|
|
Hour |
0–23 |
|
|
Day |
1–31 |
|
|
Month |
1–12 ou JAN–DEC |
|
|
Week |
1–7 ou SUN–SAT (1 = Domingo, 2 = Segunda-feira, ..., 7 = Sábado) |
|
Especifique um valor para Day ou Week, mas não para ambos. Defina o campo não utilizado como ?.
Caracteres especiais
|
Caractere |
Descrição |
Exemplo |
|
|
Todos os valores |
|
|
|
Qualquer valor (apenas Day e Week) |
Espaço reservado para o campo (Day ou Week) não especificado |
|
|
Intervalo |
|
|
|
Início e intervalo |
|
|
|
Lista |
|
|
|
Último dia ou dia da semana (apenas Day e Week) |
|
|
|
Dia útil mais próximo de segunda a sexta (apenas Day) |
|
|
|
Último dia útil do mês |
— |
|
|
N-ésimo dia da semana no mês (apenas Week) |
|
Exemplos
|
Expressão |
Agendamento |
|
|
23:00 todos os sábados (7) e domingos (1) |
|
|
09:30 nos dias 5, 15 e 25 de cada mês |
|
|
00:00 a cada dois dias |
|
|
15:13:13 no dia 20 de cada mês |