Use o Data Transmission Service (DTS) para manter um banco de dados Oracle autogerenciado sincronizado com uma instância PolarDB-X 2.0. O DTS gerencia a sincronização de schema, a sincronização completa de dados e a sincronização incremental de dados nesse caminho. Assim, seu banco de dados Oracle permanece atualizado com as alterações contínuas no PolarDB-X 2.0.
Pré-requisitos
Antes de começar, verifique se:
O banco de dados Oracle autogerenciado está criado e tem armazenamento disponível suficiente para todos os dados da instância PolarDB-X 2.0 de origem.
Existe um schema no banco de dados Oracle. O Oracle cria um schema automaticamente ao criar um usuário.
As contas de banco de dados de origem e de destino têm as permissões necessárias. Consulte Permissões necessárias para contas de banco de dados.
Limitações
Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras do banco de dados de origem para o banco de dados de destino.
Limitações do banco de dados de origem
|
Limitação |
Detalhes |
Solução alternativa |
|
Necessidade de chave primária ou restrição UNIQUE |
As tabelas devem ter uma restrição PRIMARY KEY ou UNIQUE, com todos os campos únicos. Caso contrário, o banco de dados de destino pode conter registros duplicados. |
Adicione uma restrição PRIMARY KEY ou UNIQUE às tabelas antes de criar a tarefa. |
|
Limite de quantidade de tabelas ao renomear objetos |
Se você selecionar tabelas como objetos de sincronização e precisar renomear tabelas ou colunas no destino, uma única tarefa suporta até 5.000 tabelas. Exceder esse limite causa erro de solicitação. |
Divida o trabalho em várias tarefas ou alterne da sincronização no nível de tabela para a sincronização no nível de banco de dados. |
|
Tabelas com letras maiúsculas nos nomes |
Apenas a sincronização de schema é suportada para essas tabelas. A sincronização completa e a incremental de dados não estão disponíveis. |
Renomeie as tabelas na origem para usar letras minúsculas antes de criar a tarefa ou limite o escopo da tarefa apenas à sincronização de schema. |
|
Parâmetro |
O log binário vem habilitado por padrão no PolarDB-X 2.0. Defina o parâmetro |
Defina |
Outras limitações
Execute tarefas de sincronização fora dos horários de pico. A sincronização inicial completa de dados consome recursos de leitura e gravação em ambos os bancos de dados e pode aumentar a carga do servidor.
Após a conclusão da sincronização inicial completa de dados, o tablespace de destino fica maior que o de origem devido à fragmentação causada por operações INSERT simultâneas.
Durante a sincronização, grave dados no banco de dados de destino exclusivamente por meio do DTS. Gravações de outras fontes podem causar inconsistência de dados.
É possível alterar os atributos de, no máximo, uma coluna. Não é possível modificar tipos de dados básicos.
O DTS cria um banco de dados chamado
dts_health_checke uma tabela chamadaha_health_checkna instância de origem. Ele atualiza essa tabela regularmente para avançar a posição do log binário.
Faturamento
|
Tipo de sincronização |
Taxa |
|
Sincronização de schema e sincronização completa de dados |
Gratuito |
|
Sincronização incremental de dados |
Pago. Consulte Visão geral do faturamento. |
Operações SQL sincronizáveis
O DTS suporta as seguintes operações DML para este caminho de sincronização: INSERT, UPDATE e DELETE.
|
Tipo de operação |
Instrução de operação SQL |
|
DML |
INSERT, UPDATE, DELETE |
Permissões necessárias para contas de banco de dados
Conceda as seguintes permissões antes de configurar a tarefa.
|
Banco de dados |
Permissões necessárias |
Referências |
|
Instância PolarDB-X 2.0 de origem |
SELECT nos objetos a sincronizar (para ler dados de origem), REPLICATION SLAVE e REPLICATION CLIENT (para ler logs binários para sincronização incremental) |
Gerenciar contas de banco de dados e Permissões necessárias para uma conta sincronizar dados |
|
Banco de dados Oracle autogerenciado de destino |
Permissões de proprietário no schema (para criar e gravar em tabelas no schema de destino) |
Criar uma tarefa de sincronização de dados
Etapa 1: Acessar a página Data Synchronization Tasks
Faça login no console do DMS.
Na barra de navegação superior, clique em DTS.
No painel de navegação à esquerda, escolha DTS (DTS) > Data Synchronization.
A navegação real pode variar dependendo do modo e do layout do seu DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS . Você também pode acessar diretamente a página Data Synchronization Tasks no novo console do DTS.
Etapa 2: Selecionar uma região
Na lista suspensa à direita de Data Synchronization Tasks, selecione a região onde deseja criar a tarefa.Página Data Synchronization Tasks do novo console do DTS
No novo console do DTS, selecione a região no canto superior esquerdo da página.
Etapa 3: Configurar bancos de dados de origem e de destino
Clique em Create Task. No assistente Create Task, configure os seguintes parâmetros.
Nome da tarefa
|
Parâmetro |
Descrição |
|
Task Name |
O DTS atribui um nome automaticamente. Especifique um nome descritivo para identificar a tarefa mais facilmente. O nome não precisa ser único. |
Banco de dados de origem
|
Parâmetro |
Descrição |
|
Select an existing DMS database instance |
Opcional. Selecione uma instância existente do DMS para preencher automaticamente os parâmetros abaixo ou deixe em branco e configure-os manualmente. |
|
Database Type |
Selecione PolarDB-X 2.0. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Selecione a região onde reside a instância PolarDB-X 2.0 de origem. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No para sincronizar dentro da mesma conta Alibaba Cloud. |
|
Instance ID |
Selecione a instância PolarDB-X 2.0 de origem. |
|
Database Account |
Insira a conta do banco de dados. Consulte Permissões necessárias para contas de banco de dados. |
|
Database Password |
Insira a senha da conta do banco de dados. |
Banco de dados de destino
|
Parâmetro |
Descrição |
|
Select an existing DMS database instance |
Opcional. Selecione uma instância existente do DMS para preencher automaticamente os parâmetros abaixo ou deixe em branco e configure-os manualmente. |
|
Database Type |
Selecione Oracle. |
|
Access Method |
Selecione Self-managed Database on ECS. Se utilizar um método de acesso diferente, configure primeiro o ambiente de rede. Consulte Visão geral da preparação. |
|
Instance Region |
Selecione a região onde reside o banco de dados Oracle. |
|
ECS Instance ID |
Selecione a instância ECS que hospeda o banco de dados Oracle. |
|
Port Number |
Insira a porta do serviço Oracle. Padrão: 1521. |
|
Oracle Type |
Selecione a arquitetura Oracle: Non-RAC Instance ou RAC or PDB Instance. Para uma instalação Oracle independente, selecione Non-RAC Instance e insira o SID (por exemplo, |
|
Database Account |
Insira a conta do banco de dados Oracle. Consulte Permissões necessárias para contas de banco de dados. |
|
Database Password |
Insira a senha da conta do banco de dados. |
Etapa 4: Testar conectividade
Clique em Test Connectivity and Proceed na parte inferior da página.
Adicione os blocos CIDR dos servidores DTS às configurações de segurança do banco de dados autogerenciado (como configurações de firewall) para permitir o acesso dos servidores DTS. Em seguida, clique em Test Connectivity and Proceed.
Se o banco de dados de origem ou de destino for uma instância de banco de dados Alibaba Cloud (como a instância PolarDB-X 2.0 de origem), o DTS adiciona automaticamente os blocos CIDR dos servidores DTS à lista de permissões da instância. Se o banco de dados Oracle estiver no ECS, o DTS adiciona automaticamente seus blocos CIDR de servidor às regras do grupo de segurança do ECS. Verifique se a instância ECS consegue alcançar o banco de dados Oracle. Se o banco de dados estiver em um data center local ou com um provedor de nuvem terceirizado, adicione manualmente os blocos CIDR do servidor DTS à lista de permissões do banco de dados. Consulte Adicionar os blocos CIDR dos servidores DTS às configurações de segurança de bancos de dados locais.
Adicionar blocos CIDR de servidores DTS à sua lista de permissões de banco de dados ou às regras de grupo de segurança do ECS pode introduzir riscos de segurança. Antes de prosseguir, tome as precauções adequadas: use credenciais fortes, limite as portas expostas, autentique chamadas de API e audite regularmente sua lista de permissões e regras de grupo de segurança. Para um isolamento mais forte, conecte o DTS ao seu banco de dados por meio do Express Connect, VPN Gateway ou Smart Access Gateway.
Etapa 5: Configurar objetos e definições de sincronização
Configure os seguintes parâmetros.
Tipos de sincronização
|
Parâmetro |
Descrição |
|
Synchronization Types |
Por padrão, Incremental Data Synchronization está selecionado. Selecione também Schema Synchronization e Full Data Synchronization. O DTS sincroniza primeiro os dados históricos (completo) e depois continua com as alterações em andamento (incremental). |
Tratamento de conflitos
|
Parâmetro |
Descrição |
|
Processing Mode of Conflicting Tables |
Escolha como o DTS lida com tabelas no destino que compartilham nomes com tabelas na origem. Precheck and Report Errors interrompe a tarefa se detectar nomes de tabela duplicados — recomendado para a maioria dos casos. Ignore Errors and Proceed ignora a pré-verificação e continua, mas pode causar inconsistência de dados — use com cautela. Se precisar resolver conflitos de nomenclatura sem excluir tabelas de destino, utilize o mapeamento de nomes de objetos para renomear as tabelas de destino antes de ativar esta opção. Consulte Mapear nomes de objetos. |
Capitalização de objetos
|
Parâmetro |
Descrição |
|
Capitalization of Object Names in Destination Instance |
Controla a capitalização dos nomes de banco de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Especificar a capitalização dos nomes de objetos. |
Selecionar objetos
Na seção Source Objects, selecione os objetos a sincronizar e clique no ícone de seta para movê-los para Selected Objects.
É possível selecionar colunas, tabelas ou bancos de dados como objetos de sincronização. Se você selecionar tabelas ou colunas, o DTS não sincronizará outros objetos, como visualizações, gatilhos ou procedimentos armazenados.
Após adicionar objetos aos Selected Objects, clique com o botão direito na entrada do banco de dados de destino e selecione Edit Schema. No campo Schema Name, insira o nome do schema Oracle que receberá os dados sincronizados.
Use letras maiúsculas para o nome do schema.
Para filtrar linhas, clique com o botão direito em uma tabela em Selected Objects e especifique condições SQL WHERE. Consulte Usar condições SQL para filtrar dados .
Se você usar o mapeamento de nomes de objetos para renomear um objeto, outros objetos dependentes podem falhar na sincronização.
Etapa 6: Configurar definições avançadas
Clique em Next: Advanced Settings e configure os seguintes parâmetros.
|
Parâmetro |
Descrição |
|
Select the dedicated cluster used to schedule the task |
Deixe o padrão para usar um cluster compartilhado. Para executar a tarefa em um cluster dedicado com garantias específicas de recursos, adquira um cluster dedicado primeiro. Consulte O que é um cluster dedicado do DTS. |
|
Set Alerts |
Selecione Yes para receber notificações quando a tarefa falhar ou a latência de sincronização exceder um limiar. Configure o limiar de alerta e os contatos. Consulte Configurar monitoramento e alertas. |
|
Retry Time for Failed Connections |
Janela de tempo em que o DTS tenta novamente conexões com falha após o início da tarefa. Intervalo: 10–1440 minutos. Padrão: 720. Defina este valor como superior a 30 minutos. Se a conexão não for restaurada dentro dessa janela, a tarefa falhará. Se várias tarefas compartilharem a mesma origem ou destino, aplica-se a menor janela de nova tentativa. Durante as novas tentativas, a instância DTS continua a gerar cobranças. |
|
The wait time before a retry when other issues occur in the source and destination databases |
Janela de nova tentativa para operações DDL ou DML com falha. Intervalo: 1–1440 minutos. Padrão: 10. Defina este valor como superior a 10 minutos. Este valor deve ser menor que o valor de Retry Time for Failed Connections. |
|
Enable Throttling for Full Data Migration |
Limite as consultas por segundo (QPS), registros por segundo (RPS) e bytes por segundo (BPS) para a sincronização completa de dados, a fim de reduzir a carga no banco de dados de destino. Disponível apenas quando Full Data Synchronization estiver selecionado. |
|
Enable Throttling for Incremental Data Synchronization |
Limite o RPS e o BPS para a sincronização incremental para reduzir a carga no banco de dados de destino. |
|
Environment Tag |
Opcional. Atribua uma tag de ambiente (por exemplo, produção ou staging) para identificar a instância DTS. |
|
Configure ETL |
Selecione Yes para transformar dados durante a sincronização usando instruções de extração, transformação e carregamento (ETL). Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. |
|
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks |
Selecione Yes para impedir que o DTS grave operações de tabela de heartbeat no banco de dados de origem. Isso evita afetar recursos como backup físico e clonagem, mas pode mostrar um deslocamento de latência na instância DTS. Selecione No para gravar operações de heartbeat, o que mantém as métricas de latência precisas, mas pode afetar os recursos do banco de dados de origem. |
Etapa 7: Executar a pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para visualizar os parâmetros da API usados para configurar esta tarefa, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters .
O DTS executa uma pré-verificação antes que a tarefa possa iniciar. Após a conclusão da pré-verificação:
Se todos os itens forem aprovados, prossiga para a próxima etapa.
Se um item falhar, clique em View Details ao lado do item com falha, corrija o problema e clique em Precheck Again.
-
Se um alerta for acionado:
Se o alerta não puder ser ignorado, clique em View Details, corrija o problema e execute a pré-verificação novamente.
Se o alerta puder ser ignorado, clique em Confirm Alert Details, clique em Ignore na caixa de diálogo View Details e clique em OK. Em seguida, clique em Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.
Aguarde até que a taxa de sucesso atinja 100% e clique em Next: Purchase Instance.
Etapa 8: Adquirir uma instância e iniciar a tarefa
Na página Purchase Instance, configure os seguintes parâmetros.
|
Parâmetro |
Descrição |
|
Billing Method |
Subscription: Pague antecipadamente por uma duração fixa. Mais econômico para uso de longo prazo. Pay-as-you-go: Cobrado por hora. Adequado para uso de curto prazo. Libere a instância quando não for mais necessária para interromper as cobranças. |
|
Resource Group |
Grupo de recursos para a instância. Padrão: default resource group. Consulte O que é Resource Management?. |
|
Instance Class |
Selecione uma especificação de sincronização com base nos seus requisitos de throughput. A velocidade de sincronização varia conforme a especificação. Consulte Especificações das instâncias de sincronização de dados. |
|
Subscription Duration |
Disponível para o método de faturamento Subscription. Opções: 1–9 meses ou 1, 2, 3 ou 5 anos. |
Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms e clique em Buy and Start.
A tarefa aparece na lista de tarefas. Monitore o progresso da sincronização a partir daí.
Próximos passos
Para monitorar a latência de sincronização e definir alertas, consulte Configurar monitoramento e alertas ao criar uma tarefa DTS.
Para renomear objetos no destino, consulte Mapear nomes de objetos.
Para filtrar linhas específicas durante a sincronização, consulte Usar condições SQL para filtrar dados.