O Data Transmission Service (DTS) migra dados de um banco de dados OceanBase compatível com MySQL auto-gerenciado ou de uma instância ApsaraDB for OceanBase para o mecanismo LindormTable de uma instância Lindorm. Este tópico descreve a migração de um banco de dados OceanBase auto-gerenciado acessível pela Internet.
Pré-requisitos
Antes de começar, verifique se você tem:
Um banco de dados OceanBase auto-gerenciado executando o OceanBase Database Community Edition V4.x ou uma instância ApsaraDB for OceanBase com log binário habilitado. Para mais informações, consulte Operations related to the binlog service.
Uma instância Lindorm criada com o mecanismo LindormTable e armazenamento disponível superior ao tamanho total dos dados no banco de dados OceanBase de origem. Para mais informações, consulte Criar uma instância.
O recurso de compatibilidade com MySQL ativado na instância Lindorm de destino. Para mais informações, consulte Ativar o recurso de compatibilidade com MySQL.
Um namespace e uma wide table criados na instância Lindorm de destino. A wide table deve ser pré-particionada com base nos dados completos. Para mais informações, consulte Usar um cliente MySQL para conectar-se e usar o LindormTable, Usar o Lindorm-cli para conectar-se e usar o LindormTable, Usar o Lindorm Shell para conectar-se ao LindormTable, CREATE TABLE e Banco de dados de destino: uma instância Lindorm.
Crie namespaces, tabelas e colunas na instância Lindorm com os mesmos nomes dos objetos correspondentes no banco de dados OceanBase de origem.
Permissões necessárias
Conceda as seguintes permissões às contas usadas pelo DTS antes de configurar a tarefa de migração.
|
Banco de dados |
Migração completa de dados |
Migração incremental de dados |
|
OceanBase auto-gerenciado – usuário |
SELECT |
SELECT |
|
OceanBase auto-gerenciado – tenant |
Tenant regular |
Tenant regular |
|
ApsaraDB for OceanBase |
SELECT |
SELECT |
|
Instância Lindorm |
Leitura e gravação no namespace de destino |
Leitura e gravação no namespace de destino |
Para migração incremental de dados de um banco de dados OceanBase auto-gerenciado, instale o oblogproxy no servidor de origem e configure o tenant do sistema. O oblogproxy é um serviço de proxy que gerencia logs incrementais. Para mais informações, consulte Instalar e implantar o oblogproxy usando o pacote de instalação.
Para obter instruções sobre como criar contas e conceder permissões, consulte:
OceanBase auto-gerenciado: Criar um tenant, Criar um usuário e Conceder privilégios.
ApsaraDB for OceanBase: Criar um tenant, Criar um usuário de banco de dados e Privilégios do usuário.
Lindorm: Gerenciar usuários.
Para um banco de dados OceanBase, consulte Criar um tenant, Criar um usuário e Conceder permissões.
Limitações
Revise estas limitações antes de configurar a tarefa de migração.
Banco de dados de origem
Se a source for um ApsaraDB for OceanBase, adicione manualmente os blocos CIDR dos servidores DTS à lista de permissões de endereços IP da instância. Para mais informações, consulte Criar um grupo de lista de permissões e Adicionar os blocos CIDR dos servidores DTS.
O servidor de source precisa ter largura de banda de saída suficiente. Largura de banda insuficiente reduz a velocidade da migração.
As tabelas a serem migradas devem ter restrições PRIMARY KEY ou UNIQUE, com todos os campos únicos. Caso contrário, o destino poderá conter registros duplicados.
Ao selecionar tabelas como objetos para migrar com mapeamento de nomes de objetos, uma única tarefa suporta até 1.000 tabelas. Exceder esse limite causa um erro de solicitação. Divida o trabalho em várias tarefas ou migre todo o banco de dados em uma única tarefa.
Durante a migração completa de dados, não execute operações DDL que alterem esquemas de banco de dados ou tabelas. Caso contrário, a tarefa de migração falhará.
Se você executar apenas a migração completa de dados (sem migração incremental), não grave dados na source durante a migração. Para garantir a consistência dos dados, selecione tanto Full Data Migration quanto Incremental Data Migration.
Dados GEOMETRY só podem ser migrados usando migração completa de dados. A migração incremental de dados GEOMETRY não é suportada.
Geral
A migração de esquema não é suportada.
As tabelas devem conter pelo menos um campo que não seja chave primária. A migração apenas de campos de chave primária não é suportada.
O DTS grava dados apenas no mecanismo LindormTable da instância Lindorm.
A migração completa de dados utiliza recursos de leitura e gravação nos bancos de dados de source e de destino, o que pode aumentar a carga do servidor. Execute a migração completa de dados em horários de baixa demanda, quando a carga da CPU estiver abaixo de 30%.
Após a conclusão da migração completa de dados, o tablespace de destino será maior que o de source devido à fragmentação causada por operações INSERT simultâneas.
O DTS recupera valores de colunas FLOAT e DOUBLE usando
ROUND(COLUMN,PRECISION). A precisão padrão é de 38 dígitos para FLOAT e 308 dígitos para DOUBLE. Verifique se essas configurações de precisão atendem aos seus requisitos.O DTS tenta retomar tarefas com falha por até sete dias. Antes de alternar cargas de trabalho para o destino, pare ou libere a tarefa de migração, ou revogue as permissões de gravação da conta DTS no destino. Caso contrário, os dados de source poderão sobrescrever os dados de destino quando a tarefa for retomada.
Durante a migração completa e incremental de dados, o DTS desativa temporariamente as verificações de restrição de chave estrangeira e as operações em cascata no nível da sessão. Se você executar operações de atualização ou exclusão em cascata na source durante a migração, poderá ocorrer inconsistência de dados.
Faturamento
|
Tipo de migração |
Taxa de configuração de link |
Custo de transferência de dados |
|
Migração completa de dados |
Gratuita |
Cobrado quando os dados saem da Alibaba Cloud pela Internet. Para mais informações, consulte Visão geral do faturamento. |
|
Migração incremental de dados |
Cobrada. Para mais informações, consulte Visão geral do faturamento. |
— |
Operações SQL suportadas para migração incremental
|
Tipo de operação |
Instruções SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
CREATE TABLE, DROP TABLE, ADD COLUMN |
Criar uma tarefa de migração
Faça login no console DTS.
No painel de navegação à esquerda, clique em Data Migration.
Na barra de navegação superior, selecione a região onde sua instância DTS está localizada.
Clique em Create Task.
-
(Opcional) Clique em New Configuration Page no canto superior direito.
Pule esta etapa se o botão Back to Previous Version for exibido. Use a nova página de configuração quando disponível, pois parâmetros específicos podem diferir entre versões.
-
Configure os bancos de dados de source e de destino.
O banco de dados de source é um banco de dados OceanBase auto-gerenciado
Banco de dados de source
Parâmetro
Descrição
Task Name
Nome da tarefa DTS. O DTS gera um nome automaticamente. Especifique um nome descritivo para identificar a tarefa. Não é necessário que seja único.
Select Existing Connection
Selecione uma instância registrada existente para reutilizar suas configurações de conexão ou deixe em branco para configurar manualmente. Registre um banco de dados no DTS na página Database Connections ou na nova página de configuração. Para mais informações, consulte Gerenciar conexões de banco de dados. Se estiver usando o console DMS, selecione um banco de dados existente na lista suspensa Select a DMS database instance ou clique em Add DMS Database Instance para registrar um banco de dados. Para mais informações, consulte Registrar uma instância de banco de dados Alibaba Cloud e Registrar um banco de dados hospedado em um serviço de nuvem de terceiros ou um banco de dados auto-gerenciado.
Database Type
Selecione ApsaraDB OceanBase for MySQL.
Access Method
Selecione o método de acesso com base no local onde o banco de dados de source está implantado. Este exemplo usa Public IP Address. Para bancos de dados auto-gerenciados, conclua a configuração do ambiente antes da migração. Para mais informações, consulte Visão geral da preparação.
Instance Region
Região onde o banco de dados OceanBase de source reside. Se Public IP Address estiver selecionado e a região não estiver listada, selecione a região geograficamente mais próxima.
Domain Name or IP
Endpoint do banco de dados OceanBase de source.
Port Number
Porta de serviço do banco de dados OceanBase de source. Padrão: 2881.
IP Address in Log Proxy (Domain Name Not Supported)
Endereço IP do oblogproxy para o banco de dados OceanBase de source.
Port in Log Proxy
Porta de escuta do oblogproxy. Padrão: 2983.
Database Account
Conta do banco de dados de source. Para permissões necessárias, consulte Permissões necessárias.
Database Password
Senha da conta do banco de dados de source.
Banco de dados de destino
Parâmetro
Descrição
Select Existing Connection
Selecione uma instância registrada existente para reutilizar suas configurações de conexão ou deixe em branco para configurar manualmente. Registre um banco de dados no DTS na página Database Connections ou na nova página de configuração. Para mais informações, consulte Gerenciar conexões de banco de dados. Se estiver usando o console DMS, selecione um banco de dados existente na lista suspensa Select a DMS database instance ou clique em Add DMS Database Instance para registrar um banco de dados. Para mais informações, consulte Registrar uma instância de banco de dados Alibaba Cloud e Registrar um banco de dados hospedado em um serviço de nuvem de terceiros ou um banco de dados auto-gerenciado.
Database Type
Selecione Lindorm.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Região onde a instância Lindorm de destino reside.
Instance ID
ID da instância Lindorm de destino.
Database Account
Conta do banco de dados de destino. Para permissões necessárias, consulte Permissões necessárias.
Database Password
Senha da conta do banco de dados de destino.
-
Clique em Test Connectivity and Proceed. Adicione os blocos CIDR dos servidores DTS à lista de permissões do OceanBase antes de clicar em Test Connectivity.
ImportanteAdicionar blocos CIDR públicos a uma lista de permissões de banco de dados envolve riscos de segurança. Antes de usar o DTS para migrar dados, tome medidas preventivas, incluindo fortalecer credenciais de conta, restringir portas expostas, autenticar chamadas de API e auditar regularmente a lista de permissões. Para mais informações, consulte Adicionar os blocos CIDR dos servidores DTS.
-
Configure os objetos a serem migrados. Na página Configure Objects, defina os seguintes parâmetros:
Parâmetro
Descrição
Migration Types
Selecione Full Data Migration para uma migração única. Selecione tanto Full Data Migration quanto Incremental Data Migration para manter o destino sincronizado durante a migração. Se selecionar apenas a migração completa de dados, não grave na source durante a migração.
Processing Mode of Conflicting Tables
Precheck and Report Errors: O DTS verifica se há tabelas com nomes idênticos na source e no destino. Se houver correspondências, a pré-verificação falha e a tarefa não pode iniciar. Use o mapeamento de nomes de objetos para renomear tabelas conflitantes no destino. Ignore Errors and Proceed: O DTS ignora a verificação. Durante a migração completa de dados, os registros existentes no destino são mantidos. Durante a migração incremental de dados, os registros existentes no destino são sobrescritos. Se os esquemas forem diferentes, apenas colunas específicas serão migradas ou a tarefa falhará. Use com cautela.
Capitalization of Object Names in Destination Instance
Política de uso de maiúsculas e minúsculas para nomes de bancos de dados, tabelas e colunas no destino. Padrão: DTS default policy. Para mais informações, consulte Especificar o uso de maiúsculas e minúsculas em nomes de objetos na instância de destino.
Source Objects
Selecione objetos em Source Objects e clique no ícone de seta para movê-los para Selected Objects. É possível selecionar colunas, tabelas ou bancos de dados. Selecionar tabelas ou colunas exclui outros objetos, como visualizações, gatilhos e procedimentos armazenados.
Selected Objects
Clique com o botão direito em um objeto para renomeá-lo (mapeamento de nomes de objetos), adicionar condições de filtro WHERE ou selecionar operações SQL específicas. Para remover um objeto, clique nele e depois clique no ícone de remoção para movê-lo de volta para Source Objects. Renomear um objeto pode fazer com que objetos dependentes falhem na migração.
-
Clique em Next: Advanced Settings e configure os seguintes parâmetros:
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Adquira um cluster dedicado para maior estabilidade. Para mais informações, consulte O que é um cluster dedicado DTS.
Retry Time for Failed Connections
Período durante o qual o DTS tenta reconectar após falhas de conexão. Valores válidos: 10–1.440 minutos. Padrão: 720. Defina um valor maior que 30. Se a reconexão for bem-sucedida dentro desse período, a tarefa será retomada automaticamente. Quando várias tarefas compartilham a mesma source ou destino, o valor especificado mais recentemente entra em vigor. O DTS cobra pelas instâncias durante os períodos de nova tentativa.
Retry Time for Other Issues
Período durante o qual o DTS tenta novamente operações DDL ou DML com falha. Valores válidos: 1–1.440 minutos. Padrão: 10. Defina um valor maior que 10 e menor que Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Limite a migração completa de dados para reduzir a carga nos bancos de dados de source e de destino. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Migration estiver selecionado.
Enable Throttling for Incremental Data Migration
Limite a migração incremental de dados para reduzir a carga no banco de dados de destino. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Disponível apenas quando Incremental Data Migration estiver selecionado.
Environment Tag
(Opcional) Uma tag para identificar a instância DTS.
Configure ETL
Selecione Yes para ativar extração, transformação e carga (ETL) e insira instruções de processamento de dados. Selecione No para pular. Para mais informações, consulte Configurar ETL em uma tarefa de migração ou sincronização de dados.
Monitoring and Alerting
Selecione Yes para receber alertas quando a tarefa falhar ou a latência da migração exceder o limiar configurado. Configure o limiar de alerta e as configurações de notificação. Para mais informações, consulte Configurar monitoramento e alertas.
-
Salve as configurações da tarefa e execute uma pré-verificação.
Para visualizar os parâmetros da API para configurar esta tarefa, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.
Clique em Next: Save Task Settings and Precheck.
A tarefa executa uma pré-verificação antes de iniciar. Ela só pode começar após a aprovação na pré-verificação. Se a pré-verificação falhar, clique em View Details ao lado de cada item com falha, solucione o problema e execute a pré-verificação novamente. Para itens de alerta que podem ser ignorados, clique em Confirm Alert Details , clique em Ignore na caixa de diálogo, clique em OK e, em seguida, clique em Precheck Again . Ignorar itens de alerta pode causar inconsistência de dados.
Aguarde até que Success Rate atinja 100% e clique em Next: Purchase Instance.
-
Adquira uma instância de migração de dados.
-
Na página Purchase Instance, configure os seguintes parâmetros:
Parâmetro
Descrição
Resource Group
Grupo de recursos para a instância de migração de dados. Padrão: default resource group. Para mais informações, consulte O que é o Resource Management?
Instance Class
A classe da instância determina a velocidade da migração. Selecione de acordo com seus requisitos. Para mais informações, consulte Classes de instância de instâncias de migração de dados.
Leia e marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.
Clique em Buy and Start e, em seguida, clique em OK.
-
Visualize o progresso da tarefa na página Data Migration.