Use o Data Transmission Service (DTS) para migrar dados de um banco de dados Db2 for LUW autogerenciado para uma instância do ApsaraDB RDS for MySQL. O DTS é compatível com migração de esquema, migração completa de dados e migração incremental de dados. Assim, escolha a combinação ideal para sua estratégia de transição.
Pré-requisitos
Antes de começar, verifique se você:
Uma instância do ApsaraDB RDS for MySQL com armazenamento disponível maior que o tamanho total dos dados de origem do Db2 for LUW. Para mais informações, consulte Create an ApsaraDB RDS for MySQL instance.
Revisou as versões compatíveis do Db2 for LUW em Overview of data migration scenarios.
Apenas para migração incremental de dados: ative o registro de arquivamento (archive logging) no banco de dados Db2 for LUW de origem por meio dos parâmetros de configuração logarchmeth1 e logarchmeth2. Consulte a documentação da IBM sobre logarchmeth1 e logarchmeth2.
Modifique a configuração do logarchmeth e faça o backup do banco de dados de origem para que as alterações entrem em vigor. Caso contrário, pode ocorrer um erro durante a pré-verificação.
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de internet |
|
Migração de esquema e migração completa de dados |
Gratuita |
Gratuita |
|
Migração incremental de dados |
Cobrada. Consulte Billing overview. |
— |
Permissões necessárias
Conceda as seguintes permissões às contas de banco de dados que o DTS utiliza.
|
Banco de dados |
Migração completa de dados |
Migração de esquema |
Migração incremental de dados |
|
Db2 for LUW |
CONNECT e SELECT |
CONNECT e SELECT |
Administrador do banco de dados |
|
ApsaraDB RDS for MySQL |
Leitura e gravação no banco de dados de destino |
— |
— |
Crie contas e conceda permissões conforme as instruções:
Db2 for LUW: Creating group and user IDs for a Db2 database installation e Authorities overview
ApsaraDB RDS for MySQL: Create an account e Modify account permissions
Limitações
Migração de esquema
O DTS migra chaves estrangeiras do banco de dados de origem para o banco de dados de destino.
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. Executar operações em cascata ou exclua registros na origem durante a migração pode causar inconsistência de dados.
Banco de dados de origem
O servidor que hospeda o banco de dados de origem deve ter largura de banda de saída suficiente. Caso contrário, a velocidade de migração de dados diminuirá.
As tabelas devem ter restrições PRIMARY KEY ou UNIQUE com todos os campos exclusivos. Sem essas restrições, o banco de dados de destino pode conter registros duplicados.
Ao migrar tabelas individuais, uma única tarefa aceita no máximo 1.000 tabelas. Exceder esse limite causa um erro de solicitação. Para migrar mais de 1.000 tabelas, divida a migração em várias tarefas ou migre o banco de dados inteiro.
Para a migração incremental de dados, o recurso de registro de dados (data logging) deve estar ativado no banco de dados de origem. Caso contrário, o DTS retorna um erro durante a pré-verificação.
-
Requisitos de retenção de logs: a retenção insuficiente de logs pode causar falha na tarefa ou resultar em inconsistência ou perda de dados. Após a conclusão da migração completa de dados, você pode reduzir o período de retenção para mais de 24 horas. O não cumprimento desses requisitos significa que o contrato de nível de service (SLA) do DTS não garante confiabilidade ou desempenho.
Apenas migração incremental: retenha os logs por mais de 24 horas.
Migração completa e incremental combinadas: retenha os logs por pelo menos 7 dias.
Durante a migração completa de dados, evite operações DDL que alterem os esquemas do banco de dados ou das tabelas. Essas alterações causam falha na tarefa de migração.
Durante a migração apenas completa, evite gravar dados no banco de dados de origem. Para garantir a consistência dos dados, execute a migração completa e a migração incremental de dados juntas.
Migração incremental de dados
O DTS migra dados incrementais usando a tecnologia de replicação Change Data Capture (CDC) do Db2 for LUW. Essa tecnologia tem suas próprias limitações. Consulte General data restrictions for SQL Replication.
Operações SQL compatíveis durante a migração incremental de dados:
|
Tipo de operação |
Instruções SQL |
|
DML |
INSERT, UPDATE e DELETE |
Outras limitações
Migre os dados em horários de menor movimento. A migração completa de dados utiliza recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do servidor.
Operações INSERT simultâneas durante a migração completa de dados causam fragmentação nas tabelas de destino. Após a migração completa, o tablespace de destino fica maior que o de origem.
A gravação no banco de dados de destino usando ferramentas diferentes do DTS durante a migração pode causar inconsistência de dados. Use o Data Management (DMS) para operações DDL após a migração. Consulte Perform lock-free DDL operations.
Se uma instrução DDL falhar no banco de dados de destino, o DTS continuará em execução. Visualize as instruções DDL com falha nos logs da tarefa. Consulte View task logs.
Db2 for LUW autogerenciado
Uma alternância entre primário e secundário na origem durante a execução de uma tarefa de migração causa a falha da tarefa.
O DTS calcula a latência da migração comparando o carimbo de data/hora dos dados migrados mais recentes no banco de dados de destino com o carimbo de data/hora atual na origem. Se nenhuma operação DML for executada na origem por um período prolongado, os valores de latência podem ficar imprecisos. Atualize a latência executando uma operação DML na origem. Se você estiver migrando um banco de dados inteiro, crie uma tabela de heartbeat atualizada a cada segundo.
Migrar dados do Db2 for LUW para o ApsaraDB RDS for MySQL
Etapa 1: Abrir as tarefas de migração de dados
Faça login no console do Data Management (DMS).
Na barra de navegação superior, clique em DTS.
No painel de navegação à esquerda, escolha DTS (DTS) > Data Migration.
O layout e as operações do console podem variar. Consulte Simple mode e Customize the layout and style of the DMS console para obter mais detalhes. Você também pode acessar diretamente a Data Migration Tasks page in the new DTS console .
Etapa 2: Selecionar a região
Na lista suspensa ao lado de Data Migration Tasks, selecione a região onde a instância de migração de dados está localizada.
No novo console do DTS, selecione a região no canto superior esquerdo.
Etapa 3: Configurar os bancos de dados de origem e de destino
Clique em Create Task. Na página do assistente Create Task, configure os parâmetros a seguir.
Banco de dados de origem
|
Parâmetro |
Descrição |
|
Task Name |
O nome da tarefa de migração. O DTS atribui um nome automaticamente. Especifique um nome descritivo para identificar a tarefa facilmente. O nome não precisa ser exclusivo. |
|
Select an existing DMS database instance |
Opcional. Selecione uma instância de banco de dados do DMS existente para que o DTS preencha os parâmetros do banco de dados automaticamente. Se você pular esta etapa, configure os parâmetros manualmente. |
|
Database Type |
Selecione DB2 for LUW. |
|
Access Method |
O método de acesso para o banco de dados de origem. Este exemplo usa Self-managed Database on ECS. Para outros métodos de acesso, consulte Preparation overview. |
|
Instance Region |
A região onde está o banco de dados Db2 for LUW de origem. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No para este exemplo. |
|
ECS Instance ID |
O ID da instância do Elastic Compute Service (ECS) que hospeda o banco de dados Db2 for LUW de origem. |
|
Port Number |
A porta de service do banco de dados Db2 for LUW de origem. |
|
Database Name |
O nome do banco de dados Db2 for LUW de origem contendo os objetos a serem migrados. |
|
Database Account |
A conta do banco de dados de origem. Consulte a seção Permissões necessárias para obter mais detalhes. |
|
Database Password |
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 de banco de dados do DMS existente para que o DTS preencha os parâmetros do banco de dados automaticamente. Se você pular esta etapa, configure os parâmetros manualmente. |
|
Database Type |
Selecione MySQL. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
A região onde está a instância do ApsaraDB RDS for MySQL de destino. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No para este exemplo. |
|
RDS Instance ID |
O ID da instância do ApsaraDB RDS for MySQL de destino. |
|
Database Account |
A conta do banco de dados de destino. Consulte a seção Permissões necessárias para obter mais detalhes. |
|
Database Password |
A senha da conta do banco de dados. |
|
Encryption |
Selecione Non-encrypted ou SSL-encrypted. Se você selecionar SSL-encrypted, ative primeiro a criptografia SSL na instância do ApsaraDB RDS for MySQL. Consulte Configure the SSL encryption feature. |
Etapa 4: Testar a conectividade
Clique em Test Connectivity and Proceed.
O DTS adiciona automaticamente seus blocos CIDR à lista de permissões de endereços IP das instâncias de banco de dados do Alibaba Cloud ou às regras do grupo de segurança das instâncias do ECS. Para bancos de dados autogerenciados em um data center ou hospedados por um provedor de cloud terceirizado, adicione manualmente os blocos CIDR do DTS à lista de permissões de endereços IP do banco de dados. Consulte Add the CIDR blocks of DTS servers to the security settings of on-premises databases.
Se o DTS hospedar o banco de dados de origem em várias instâncias do ECS, adicione manualmente os blocos CIDR do DTS às regras do grupo de segurança de cada instância do ECS.
Adicionar blocos CIDR públicos do DTS a uma lista de permissões de endereços IP de banco de dados ou a regras de grupo de segurança do ECS introduz riscos de segurança. Antes de usar o DTS, tome medidas preventivas, incluindo, mas não se limitando a: fortalecer a segurança de contas e senhas, limitar portas expostas, autenticar chamadas de API, auditar regularmente a lista de permissões de endereços IP e as regras do grupo de segurança, além de conectar o banco de dados ao DTS por meio do Express Connect, VPN Gateway ou Smart Access Gateway.
Etapa 5: Configurar os objetos de migração
| Parâmetro | Descrição |
|---|---|
| Migration Types | Selecione os tipos de migração com base na sua estratégia de transição: <br>- Apenas migração de esquema e migração completa de dados: selecione Schema Migration e Full Data Migration.<br>- Migração sem tempo de inatividade com continuidade do service: selecione Schema Migration, Full Data Migration e Incremental Data Migration.<br><br> Nota
Se você não selecionar Incremental Data Migration, evite gravar no banco de dados de origem durante a migração para manter a consistência dos dados. |
| Processing Mode of Conflicting Tables | - Precheck and Report Errors: verifica se há tabelas com nomes idênticos na origem e no destino. Se existirem nomes idênticos, a pré-verificação falha e a tarefa não pode ser iniciada. Use o recurso de mapeamento de nomes de objetos para renomear tabelas, se necessário. Consulte Map object names.<br>- Ignore Errors and Proceed: ignora a verificação de nomes idênticos. Aviso
Isso pode causar inconsistência de dados. Se os esquemas forem diferentes entre a origem e o destino, apenas colunas específicas serão migradas ou a tarefa falhará. |
| Capitalization of Object Names in Destination Instance | Controla a capitalização de nomes de bancos de dados, nomes de tabelas e nomes de colunas no destino. O padrão é DTS default policy. Consulte Specify the capitalization of object names in the destination instance. |
| Source Objects | Selecione objetos na seção Source Objects e clique em |
| Selected Objects | Clique com o botão direito em um objeto para renomeá-lo ou definir condições de filtro WHERE. Clique em Batch Edit no canto superior direito para renomear vários objetos de uma vez. Consulte Map object names e Use SQL conditions to filter data. <br><br> Nota
O mapeamento de nomes de objetos pode causar inconsistência de dados se os objetos dependentes também não forem migrados. Para a migração incremental de operações SQL específicas em um objeto, clique com o botão direito no objeto em Selected Objects e selecione as operações SQL a serem incluídas. |
Etapa 6: Definir as configurações avançadas
Clique em Next: Advanced Settings.
Verificação de dados
Para configurar a verificação de dados, consulte Enable data verification.
Configurações avançadas
| Parâmetro | Descrição |
|---|---|
| Select the dedicated cluster used to schedule the task | Por padrão, o DTS agenda a tarefa para o cluster compartilhado. Compre e especifique um cluster dedicado para executar a tarefa em recursos dedicados. Consulte What is a DTS dedicated cluster. |
| Set Alerts | Configure alertas para falhas de tarefa ou latência que exceda um limiar. Selecione Yes para especificar um limiar de alerta e contatos. Consulte Configure monitoring and alerting. |
| Retry Time for Failed Connections | O intervalo de tempo em que o DTS tenta novamente uma conexão com falha após o início da tarefa. Valores válidos: 10 a 1.440 minutos. Padrão: 720 minutos. Defina este valor como superior a 30 minutos. Se o DTS reconectar dentro desse período, a tarefa será retomada. Caso contrário, a tarefa falhará. <br><br> Nota
Quando várias tarefas compartilham o mesmo banco de dados de origem ou de destino, o tempo de nova tentativa configurado mais recentemente tem precedência. O DTS cobra pela instância durante as novas tentativas. |
| The wait time before a retry when other issues occur in the source and destination databases | O intervalo de tempo em que o DTS tenta novamente operações DDL ou DML com falha após o início da tarefa. Valores válidos: 1 a 1.440 minutos. Padrão: 10 minutos. Defina este valor como superior a 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Limite a taxa de leitura e gravação durante a migração completa de dados para reduzir a carga nos servidores de banco de dados. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Este parâmetro está disponível apenas quando Full Data Migration está selecionado. |
| Enable Throttling for Incremental Data Migration | Limite a taxa de gravação durante a migração incremental de dados. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Este parâmetro está disponível apenas quando Incremental Data Migration está selecionado. |
| Environment Tag | Uma tag opcional para identificar a instância do DTS por ambiente. |
| Configure ETL | Configure o recurso de extração, transformação e carga (ETL) para processar dados durante a migração. Selecione Yes e insira instruções de processamento de dados no editor de código. Consulte What is ETL? e Configure ETL in a data migration or data synchronization task. |
Etapa 7: Salve as configurações e execute uma pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para visualizar os parâmetros da API para a configuração da tarefa do DTS, passe o ponteiro do mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters antes de prosseguir.
O DTS executa uma pré-verificação antes de iniciar a tarefa de migração.
Se a pré-verificação falhar, clique em View Details ao lado do item com falha, resolva o problema e execute a pré-verificação novamente.
-
Se um alerta aparecer para um item:
Se o alerta não puder ser ignorado, clique em View Details, resolva o problema e execute a pré-verificação novamente.
Se o alerta puder ser ignorado, clique em Confirm Alert Details, confirme os detalhes, em seguida, clique em Ignore > OK > Precheck Again. Ignorar alertas pode causar inconsistência de dados.
Etapa 8: Comprar a instância de migração
Aguarde até que a taxa de sucesso atinja 100% e, em seguida, clique em Next: Purchase Instance.
Na página Purchase Instance, configure os parâmetros a seguir.
|
Parâmetro |
Descrição |
|
Resource Group |
O grupo de recursos para a instância de migração. Padrão: default resource group. Consulte What is Resource Management? |
|
Instance Class |
A classe da instância determina a velocidade da migração. Selecione uma classe com base nos seus requisitos. Consulte Specifications of data migration instances. |
Etapa 9: Iniciar a migração
Marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms e, em seguida, clique em Buy and Start.
A tarefa de migração é iniciada. Acompanhe o progresso na lista de tarefas.