O PolarDB for MySQL é um service de banco de dados de alto desempenho, seguro e confiável, com grande capacidade de armazenamento. Este documento descreve como migrar um banco de dados OceanBase para um cluster PolarDB for MySQL usando o Data Transmission Service (DTS).
Pré-requisitos
-
O banco de dados OceanBase de origem deve estar em uma versão compatível com o DTS.
Se o banco de dados de origem for o ApsaraDB for OceanBase, o DTS suporta apenas instâncias de cluster, não instâncias de tenant.
Se o banco de dados de origem for um OceanBase auto-hospedado, o DTS suporta apenas a Community Edition 4.X.
crie um cluster PolarDB for MySQL de destino com capacidade de armazenamento superior à do banco de dados OceanBase de origem. Para mais informações, consulte Custom purchase e Purchase a subscription cluster.
Observações de uso
O DTS migra chaves estrangeiras durante a migração de schema.
Durante a migração de dados completa e incremental, o DTS desativa temporariamente as verificações de restrição e as cascatas de chave estrangeira no nível da sessão. Atualizações ou exclusões em cascata no banco de dados de origem enquanto a tarefa está em execução podem causar inconsistência de dados.
O DTS não suporta realizar a migração completa em múltiplas etapas; a migração completa deve ser concluída em uma única operação. Caso precise migrar dados em lotes, configure várias tarefas de migração.
|
Tipo |
Descrição |
|
Limitações no banco de dados de origem |
|
|
Outras limitações |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da tarefa |
Custo de transferência de dados |
|
Migração de schema e migração completa de dados |
Gratuita. |
Sem cobrança para este exemplo. |
|
Migração incremental de dados |
Paga. Para mais informações, consulte Billing overview. |
Operações SQL suportadas para migração incremental
Tipo de operação | Instrução SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
|
Permissões de conta do banco de dados
|
Banco de dados |
Migração de schema |
Migração completa |
Migração incremental |
||
|
Banco de dados de origem |
OceanBase autogerenciado |
Usuário |
Permissão SELECT |
||
|
Tenant |
Tenant regular |
Tenant regular |
Tenant regular Importante
Para a migração incremental de dados, instale o oblogproxy (um service de proxy de log incremental) no servidor do banco de dados OceanBase e configure um tenant do sistema. Para mais informações, consulte Install and deploy oblogproxy. |
||
|
ApsaraDB for OceanBase |
Tenant |
Tenant regular |
Tenant regular |
Tenant regular |
|
|
Conta do banco de dados |
Permissão SELECT |
Permissão SELECT |
Permissões de leitura e gravação |
||
|
Banco de dados de destino |
PolarDB for MySQL |
Permissões de leitura e gravação |
|||
Para crie contas de banco de dados e conceder permissões, consulte os seguintes tópicos:
Para bancos de dados OceanBase autogerenciados, consulte Create a tenant, Create a user e Grant privileges.
Para uma instância do ApsaraDB for OceanBase, consulte Create a tenant e Create an account.
Para instâncias do PolarDB for MySQL, consulte crie e gerencie a database account.
Procedimento
-
acesse a página da lista de tarefas de migração da região de destino usando um dos seguintes métodos.
Pelo console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
Pelo console do DMS
NotaAs operações reais podem variar dependendo do modo e do layout do console do DMS. Para mais informações, consulte Simple mode console e Customize the layout and style of the DMS console.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task para acesse a página de configuração da tarefa.
-
Opcional: No canto superior direito da página, clique em New Configuration Page.
NotaSe você já estiver na nova página de configuração (o botão no canto superior direito é Back to Previous Version), pule esta etapa.
Os parâmetros nas páginas de configuração nova e antiga são diferentes. Recomendamos o uso da nova página de configuração.
-
Configure os bancos de dados de origem e de destino.
ApsaraDB for OceanBase for MySQL
Seção
Parâmetro
Descrição
N/D
Task Name
O DTS gera automaticamente um nome de tarefa. Recomendamos especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salve), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é chamado de Select a DMS database instance..
Se você não registrou a instância do banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione ApsaraDB OceanBase for MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região da instância de origem do ApsaraDB for OceanBase for MySQL.
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, é usada uma instância de banco de dados sob a conta atual da Alibaba Cloud. Selecione No.
Instance ID
Selecione o ID da instância de origem do ApsaraDB for OceanBase for MySQL.
Tenant ID
Selecione o ID do tenant da instância de origem do ApsaraDB for OceanBase for MySQL.
NotaPara obter informações sobre como visualize o ID do tenant, consulte Tenant details.
Database Account
insira a conta do banco de dados OceanBase de origem. Para obter informações sobre as permissões necessárias, consulte Required database account permissions.
Database Password
insira a senha correspondente à conta do banco de dados.
Destination Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salve), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é chamado de Select a DMS database instance..
Se você não registrou a instância do banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione PolarDB for MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região do cluster de destino do PolarDB for MySQL.
PolarDB Cluster ID
Selecione o ID do cluster de destino do PolarDB for MySQL.
Database Account
insira a conta do banco de dados para o cluster de destino do PolarDB for MySQL. Para obter informações sobre as permissões necessárias, consulte Required database account permissions.
Database Password
insira a senha da conta do banco de dados.
Encryption
Selecione um tipo de conexão conforme necessário. Para mais informações sobre o recurso de criptografia ssl, consulte Enable SSL encryption.
OceanBase autogerenciado
Seção
Parâmetro
Descrição
N/D
Task Name
O DTS gera automaticamente um nome de tarefa. Recomendamos especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salve), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é chamado de Select a DMS database instance..
Se você não registrou a instância do banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione ApsaraDB OceanBase for MySQL.
Access Method
Selecione uma opção com base no local de implantação do seu banco de dados OceanBase autogerenciado. Este exemplo usa Public IP Address.
Nota-
Antes de conectar um banco de dados autogerenciado ao DTS, conclua as preparações necessárias. Para mais informações, consulte Overview of preparations.
-
Para obter informações sobre problemas comuns que você pode encontrar ao configurar o Source Database para um banco de dados OceanBase autogerenciado, consulte FAQ.
Instance Region
Selecione a região onde o seu banco de dados OceanBase autogerenciado está localizado.
Domain Name or IP
insira o endpoint do seu banco de dados OceanBase autogerenciado.
Port Number
insira a porta de conexão do seu banco de dados OceanBase autogerenciado. O valor padrão é 2881.
IP Address in Log Proxy (Domain Name Not Supported)
insira o endereço IP do oblogproxy do seu banco de dados OceanBase autogerenciado.
Port in Log Proxy
insira a porta de listener do oblogproxy do seu banco de dados OceanBase autogerenciado. O valor padrão é 2983.
Database Account
insira a conta do banco de dados para o seu banco de dados OceanBase autogerenciado. Para obter informações sobre as permissões necessárias, consulte Required database account permissions.
Database Password
insira a senha correspondente à conta do banco de dados.
Destination Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salve), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é chamado de Select a DMS database instance..
Se você não registrou a instância do banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione PolarDB for MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região do cluster de destino do PolarDB for MySQL.
PolarDB Cluster ID
Selecione o ID do cluster de destino do PolarDB for MySQL.
Database Account
insira a conta do banco de dados para o cluster de destino do PolarDB for MySQL. Para obter informações sobre as permissões necessárias, consulte Required database account permissions.
Database Password
insira a senha da conta do banco de dados.
Encryption
Selecione um tipo de conexão conforme necessário. Para mais informações sobre o recurso de criptografia ssl, consulte Enable SSL encryption.
FAQ
-
Se o service do Log Proxy não estiver instalado para o banco de dados OceanBase, como especifique os parâmetros do Log Proxy?
Deixe os campos IP Address in Log Proxy (Domain Name Not Supported) e Port in Log Proxy vazios. Além disso, não selecione Incremental Data Migration para Migration Types na próxima etapa. Caso contrário, a tarefa falhará.
-
E se a região do meu banco de dados não estiver na lista suspensa Instance Region?
Você pode selecionar a região geograficamente mais próxima do seu banco de dados.
-
Se o banco de dados OceanBase estiver implantado em um cluster, o que devo insira em Domain Name or IP?
insira o endereço IP do OBServer node especificado ao configurar o cluster.
-
Como especifique o Port Number do banco de dados OceanBase?
Se o banco de dados OceanBase estiver implantado em um único nó, você pode manter o valor padrão.
Se o banco de dados OceanBase estiver implantado em um cluster, você deve insira a SQL port especificada ao configurar o cluster.
-
Como especifique a Database Account para o banco de dados OceanBase?
A Database Account deve usar o formato
<username>@<tenant_name>. Por exemplo, uma conta para o usuáriodtstestno tenantdtsdeve ser insira comodtstest@dts.
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página. Na caixa de diálogo CIDR Blocks of DTS Servers exibida, clique em Test Connectivity.
NotaCertifique-se de que os segmentos de endereço IP do service DTS sejam adicionados automática ou manualmente às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso a partir dos servidores do DTS. Para mais informações, consulte Add DTS server IP addresses to a whitelist.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que deseja migrar.
Parâmetro
Descrição
Migration Types
Se precisar realizar apenas uma migração completa, selecione Schema Migration e Full Data Migration.
Para realizar uma migração sem tempo de inatividade, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
NotaSe não selecionar Schema Migration, certifique-se de que exista um banco de dados e tabelas para receber os dados no banco de dados de destino. Você também pode usar o recurso de mapeamento de nomes de objetos na caixa Selected Objects conforme necessário.
Se não selecionar Incremental Data Migration, não grave novos dados na instância de origem durante a migração de dados para garantir a consistência dos dados.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Verifica se existem tabelas com os mesmos nomes no banco de dados de destino. Se não existirem, a pré-verificação é aprovada. Se existirem, um erro é reportado durante a pré-verificação e a tarefa de migração de dados não inicia.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser facilmente exclua ou renomeada, você poderá alterar o nome da tabela no banco de dados de destino. Para mais informações, consulte Object name mapping.
Ignore Errors and Proceed: Ignora a verificação de tabelas com os mesmos nomes.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e riscos aos negócios. Por exemplo:
Se os schemas das tabelas forem consistentes e um registro no banco de dados de destino tiver o mesmo valor de chave primária que um registro no banco de dados de origem:
Durante a migração completa, o DTS mantém o registro no banco de dados de destino. O registro do banco de dados de origem não é migrado.
Durante a migração incremental, o DTS não mantém o registro no banco de dados de destino. O registro do banco de dados de origem sobrescreve o registro no banco de dados de destino.
Se os schemas das tabelas forem inconsistentes, apenas algumas colunas de dados podem ser migradas, ou a migração pode falhar. Prossiga com cautela.
Capitalization of Object Names in Destination Instance
Você pode configurar a política de diferenciação de maiúsculas e minúsculas para os nomes dos objetos migrados, como bancos de dados, tabelas e colunas, na instância de destino. Por padrão, DTS default policy está selecionado. Você também pode escolha manter a diferenciação consistente com a política padrão do banco de dados de origem ou de destino. Para mais informações, consulte Case sensitivity of object names in the destination database.
Source Objects
Na caixa Source Objects, clique em objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.NotaA granularidade para selecionar objetos de migração é banco de dados, tabela e coluna. Se selecionar apenas tabelas ou colunas como objetos de migração, outros objetos como views, triggers e stored procedures não serão migrados para o banco de dados de destino.
Selected Objects
-
Para alterar o nome de um único objeto de migração na instância de destino, clique com o botão direito no objeto na caixa Selected Objects. Para mais informações, consulte Map individual schema, table, and column names.
-
Para alterar os nomes de vários objetos de migração na instância de destino, clique em Selected Objects no canto superior direito da caixa Batch Edit. Para mais informações, consulte Map multiple schema, table, and column names.
Nota-
O uso do recurso de mapeamento de nomes de objetos pode causar inconsistências de dados ou falhas na migração de outros objetos dependentes. Por exemplo, se você usar o mapeamento de colunas para uma migração parcial de tabela ou se os schemas das tabelas forem inconsistentes, os dados nas colunas que existem na origem, mas não no destino, serão perdidos.
-
Para filtrar dados usando uma cláusula WHERE, clique com o botão direito na tabela que deseja migrar na caixa Selected Objects e especifique a condição de filtro na caixa de diálogo exibida. Para mais informações, consulte Set filter conditions.
-
Para selecionar operações SQL para a migração incremental de dados no nível do banco de dados ou da tabela, clique com o botão direito no objeto na caixa Selected Objects e selecione as operações SQL desejadas na caixa de diálogo exibida.
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Não é necessário selecionar um. Se desejar tarefas mais estáveis, adquira um dedicated cluster para execute tarefas de migração do DTS.
Select the engine type of the destination database
Selecione o tipo de mecanismo do banco de dados de destino de acordo com seus requisitos.
-
InnoDB: O mecanismo de armazenamento padrão.
-
X-Engine: Um mecanismo de armazenamento de banco de dados para processamento de transações online (OLTP).
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou de destino falhar, o DTS reportará um erro e começará imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Personalize o tempo de nova tentativa para um valor entre 10 e 1440 minutos. Recomendamos defina a duração para mais de 30 minutos. Se o DTS reconectar aos bancos de dados de origem e de destino dentro da duração especificada, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaPara várias instâncias do DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como você é cobrado pela tarefa durante o período de nova tentativa de conexão, recomendamos personalizar o tempo de nova tentativa com base nas suas necessidades de negócios, ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.
Retry Time for Other Issues
Após o início da tarefa de migração, se ocorrer um problema de não conectividade, como uma exceção de execução DDL ou DML, no banco de dados de origem ou de destino, o DTS reportará um erro e começará imediatamente a tentar repetir a operação. A duração padrão de nova tentativa é de 10 minutos. Personalize o tempo de nova tentativa para um valor entre 1 e 1440 minutos. Recomendamos defina a duração para mais de 10 minutos. Se as operações relacionadas forem bem-sucedidas dentro da duração de nova tentativa especificada, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o valor de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Se necessário, ative o throttling para a tarefa de migração completa. defina Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Full Data Migration para Migration Types.
Você também pode adjust the full migration speed após a instância de migração estar em execução.
Enable Throttling for Incremental Data Migration
Se necessário, você também pode escolha defina limites de velocidade para a tarefa de migração incremental. defina RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Incremental Data Migration para Migration Types.
Você também pode adjust the incremental migration speed após a instância de migração estar em execução.
Environment Tag
Você pode selecionar uma tag de ambiente para identificar a instância de acordo com seus requisitos. Este exemplo não requer uma tag de ambiente.
Configure ETL
Com base nas suas necessidades de negócios, selecione se deseja configurar o ETL feature para processar dados.
Yes: Configura o recurso ETL. Você também deve insira data processing statements na caixa de texto.
No: Não configura o recurso ETL.
Monitoring and Alerting
Selecione se deseja defina alertas e receber notificações de alerta com base nas suas necessidades de negócios.
No: Não defina um alerta.
Yes: Configure alertas defina um alert threshold e um alert notifications. Se uma migração falhar ou a latência exceder o limiar, o sistema envia uma notificação de alerta.
-
-
-
salve a tarefa e execute uma pré-verificação.
Para visualize os parâmetros de configuração desta instância ao chamar a operação da API, mova o ponteiro sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters na dica exibida.
Se não precisar visualize ou já tiver terminado de visualize os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes do início da tarefa de migração, o DTS realiza uma pré-verificação. A tarefa só inicia após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
-
Se um aviso for reportado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again para pular o item de alerta e execute a pré-verificação novamente. Se optar por ignorar um aviso, isso pode causar problemas como inconsistência de dados e representar riscos aos seus negócios.
-
Adquira a instância.
Quando a Success Rate for de 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione a especificação de link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
New Instance Class
Resource Group Settings
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é o grupo de recursos padrão. Para mais informações, consulte What is resource management?
Instance Class
O DTS fornece especificações de migração com diferentes níveis de desempenho. A especificação do link afeta a velocidade da migração. Selecione uma especificação com base no seu cenário de negócios. Para mais informações, consulte Data migration link specifications.
Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Clique em Buy and Start. Na caixa de diálogo OK exibida, clique em OK.
Você pode acompanhar o progresso da tarefa de migração na página de lista Data Migration Tasks.
NotaSe a tarefa de migração não incluir a migração incremental, ela será interrompida automaticamente após a conclusão da migração completa. Após a interrupção, seu Status muda para Completed.
Se a tarefa de migração incluir a migração incremental, ela não será interrompida automaticamente. A tarefa de migração incremental continuará em execução. Enquanto a tarefa de migração incremental estiver em execução, o Status da tarefa será Running.