Use o Data Transmission Service (DTS) para migrar dados de uma instância ApsaraDB RDS for MySQL para um banco de dados Oracle autogerenciado.
Pré-requisitos
-
Crie um banco de dados Oracle autogerenciado como destino da migração.
NotaO banco de dados Oracle de destino deve ter mais espaço de armazenamento disponível do que os dados a serem migrados da instância ApsaraDB RDS for MySQL de origem.
Bancos de dados Oracle autogerenciados com arquitetura RAC exigem uma conexão VPC com a Alibaba Cloud. Para garantir a execução correta da tarefa do DTS, conecte o SCAN IP do Oracle RAC e o VIP de cada nó à VPC e configure as regras de roteamento necessárias. Para mais informações, consulte Visão geral das soluções para conectar um data center on-premises à Alibaba Cloud e Conectar um data center ao DTS por meio do VPN Gateway.
Observações de uso
Durante a migração completa e incremental de dados:
Inconsistências de dados podem ocorrer se existirem operações de atualização ou exclusão em cascata no banco de dados de origem.
Desative chaves estrangeiras ou triggers caso existam no banco de dados de destino. Caso contrário, a tarefa de migração de dados poderá falhar.
|
Tipo |
Descrição |
|
Limites do banco de dados de origem |
|
|
Outros limites |
|
|
Casos especiais |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de Internet |
|
Migração de schema e migração completa de dados |
Gratuito. |
Há cobrança de tráfego de Internet quando o parâmetro Access Method do banco de dados de destino está definido como Public IP Address. Para mais informações, consulte Visão geral do faturamento. |
|
Migração incremental de dados |
Pago. Para mais informações, consulte Visão geral do faturamento. |
Tipos de migração
-
Migração de schema
O DTS migra os schemas dos objetos de migração do banco de dados de origem para o banco de dados de destino.
-
Migração completa de dados
O DTS transfere todos os dados existentes nos objetos de migração do banco de origem para o banco de destino.
-
Migração incremental de dados
Após a migração completa, o DTS replica as atualizações incrementais do banco de origem para o banco de destino, minimizando o tempo de inatividade das aplicações autogerenciadas.
Operações SQL para migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE e DELETE |
|
DDL |
CREATE TABLE, ALTER TABLE, RENAME TABLE, TRUNCATE TABLE e DROP TABLE |
Permissões necessárias para contas de banco de dados
|
Banco de dados |
Migração de schema |
Migração completa |
Migração incremental |
|
ApsaraDB RDS for MySQL |
Permissão SELECT |
Permissão SELECT |
Permissões REPLICATION SLAVE, REPLICATION CLIENT e SELECT para os objetos de origem. O DTS concede essas permissões automaticamente à conta do banco de dados. |
|
Oracle |
Permissões de proprietário do schema. |
||
Para mais informações sobre criação e autorização de contas de banco de dados, consulte os seguintes tópicos:
Para uma instância ApsaraDB RDS for MySQL: Criar uma conta e Modificar permissões da conta.
Para um banco de dados Oracle autogerenciado: CREATE USER e GRANT.
Procedimento
Este exemplo utiliza um banco de dados Oracle autogerenciado em uma instância ECS como banco de destino.
-
Acesse a página da lista de tarefas de migração da região de destino usando um dos métodos abaixo.
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 conforme o modo e o layout do console DMS. Para mais detalhes, consulte Console no modo simples e Personalizar o layout e o estilo do console DMS.
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 ir à página de configuração da tarefa.
-
Configure os bancos de dados de origem e destino.
Categoria
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Select DMS Database Instance
Selecione uma instância existente conforme necessário.
-
As informações do banco de dados são preenchidas automaticamente ao usar uma instância existente. Não é necessário inseri-las novamente.
-
Insira as informações do banco de dados abaixo caso não utilize uma instância existente.
Database Type
Selecione MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região da instância ApsaraDB RDS for MySQL de origem.
Cross-account
Indica se o banco de dados de origem pertence a uma conta diferente da Alibaba Cloud. Neste exemplo, selecione No.
RDS Instance ID
Selecione o ID da instância ApsaraDB RDS for MySQL de origem.
Database Account
Insira a conta do banco de dados da instância ApsaraDB RDS for MySQL de origem. Para mais informações sobre as permissões necessárias, consulte Permissões necessárias para contas de banco de dados.
Database Password
Insira a senha da conta do banco de dados.
Connection Method
Escolha Non-encrypted ou SSL-encrypted conforme os requisitos do seu banco de dados. Ao definir este parâmetro como SSL-encrypted, é obrigatório ativar previamente a criptografia SSL na instância RDS for MySQL. Para mais informações, consulte Ativar rapidamente a criptografia SSL usando um certificado cloud.
Destination Database
Select DMS Database Instance
Selecione uma instância existente conforme necessário.
-
As informações do banco de dados são preenchidas automaticamente ao usar uma instância existente. Não é necessário inseri-las novamente.
-
Insira as informações do banco de dados abaixo caso não utilize uma instância existente.
Database Type
Selecione Oracle.
Access Method
Selecione Self-managed Database on ECS.
NotaÉ necessário preparar o ambiente se o banco de dados de destino for autogerenciado. Para mais informações, consulte Visão geral da preparação.
Instance Region
Selecione a região da instância Oracle autogerenciada de destino.
ECS Instance ID
Selecione o ID da instância ECS que hospeda o banco de dados Oracle autogerenciado de destino.
Port Number
Insira a porta de serviço do banco de dados Oracle autogerenciado de destino. Valor padrão: 1521.
Oracle Type
Selecione o tipo de instância Oracle. Neste exemplo, selecione RAC or PDB Instance.
-
Non-RAC Instance: Especifique o SID ao escolher esta opção.
-
RAC or PDB Instance: Especifique o Service Name ao escolher esta opção.
Database Account
Insira a conta do banco de dados da instância Oracle autogerenciada de destino.
Database Password
Insira a senha da conta do banco de dados.
-
-
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 IP do serviço DTS foram adicionados automática ou manualmente às configurações de segurança dos bancos de dados de origem e destino para permitir o acesso dos servidores DTS. Para mais informações, consulte Adicionar endereços IP de servidores DTS a uma lista de permissões.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que deseja migrar.
Parâmetro
Descrição
Migration Types
-
Selecione tanto Schema Migration quanto Full Data Migration caso precise apenas de uma migração completa.
-
Para migrar sem tempo de inatividade, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
Nota-
Garanta que exista um banco de dados e tabelas para receber os dados no destino caso não selecione Schema Migration. Também é possível utilizar o recurso de mapeamento de nomes de objetos na caixa Selected Objects conforme necessário.
-
Não grave novos dados na instância de origem durante a migração se não selecionar Incremental Data Migration, a fim de garantir a consistência dos dados.
Processing Mode for Existing Destination Tables
-
Precheck and Report Errors: Verifica se existem tabelas no banco de destino com os mesmos nomes das tabelas de origem. A pré-verificação é aprovada se tais tabelas não existirem. Caso contrário, a pré-verificação falha e a tarefa de migração não pode ser iniciada.
NotaAltere os nomes das tabelas no banco de destino se não for possível excluir ou renomear as tabelas com nomes iguais. Para mais informações, consulte Mapear nomes de tabelas e colunas.
-
Ignore Errors and Proceed: Ignora a verificação de tabelas com nomes iguais no banco de destino.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e expor seu negócio a riscos. Por exemplo:
-
Se um registro de destino tiver a mesma chave primária que um registro de origem e os schemas coincidirem:
-
Durante uma migração completa de dados, o DTS mantém o registro de destino e não migra o registro de origem.
-
Durante uma migração incremental de dados, o DTS sobrescreve o registro de destino com o registro de origem.
-
-
A inicialização de dados pode falhar se os bancos de origem e destino tiverem schemas diferentes, resultando em migração parcial ou falha total da migração.
-
Case Sensitivity Policy for Destination Object Names
Configure a sensibilidade a maiúsculas e minúsculas para nomes de bancos de dados, tabelas e colunas na instância de destino. Por padrão, a DTS default policy vem selecionada. Outras opções estão disponíveis para garantir que o uso de maiúsculas/minúsculas nos nomes dos objetos seja consistente com o banco de origem ou destino. Para mais informações, consulte Sensibilidade a maiúsculas e minúsculas de nomes de objetos na instância de destino.
Source Objects
Na caixa Source Objects, clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.NotaA granularidade para seleção de objetos de migração é schema, tabela e coluna. Outros objetos, como views, triggers e stored procedures, não serão migrados para o banco de destino se você selecionar apenas tabelas ou colunas como objetos de migração.
Selected Objects
Clique com o botão direito em um banco de dados na caixa Selected Objects. Na página Edit Schema, altere o Schema Name para o schema do banco de dados de destino no seu banco Oracle autogerenciado. Por padrão, o nome do schema é igual à Database Account. Para mais informações sobre o recurso de mapeamento de nomes de objetos, consulte Mapear nomes de tabelas e colunas.
Nota-
O uso de mapeamento de nomes de objetos pode causar falhas na migração de objetos dependentes.
-
Para definir uma condição
WHEREde filtragem de dados, clique com o botão direito na tabela a ser migrada na seção Selected Objects e defina a condição de filtro na caixa de diálogo exibida. Para mais informações, consulte Configurar condições de filtro. -
Para selecionar operações SQL para migração no nível de banco de dados ou tabela, clique com o botão direito em um objeto de migração na caixa Selected Objects e selecione as operações SQL desejadas na caixa de diálogo.
-
-
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. Para obter tarefas mais estáveis, adquira um cluster dedicado para executar tarefas de migração do DTS.
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 destino falhar, o DTS relata um erro e inicia imediatamente uma nova tentativa de conexão. A duração padrão de tentativa é de 720 minutos. Personalize o tempo de tentativa para um valor entre 10 e 1440 minutos. Recomendamos definir a duração para mais de 30 minutos. A tarefa de migração será retomada automaticamente se o DTS reconectar aos bancos de origem e destino dentro do período especificado. Caso contrário, a tarefa falhará.
Nota-
Para múltiplas instâncias DTS que compartilham a mesma origem ou destino, o tempo de tentativa de rede é determinado pela configuração da última tarefa criada.
-
Como há cobrança pela tarefa durante o período de tentativa de conexão, recomendamos personalizar o tempo de tentativa conforme as necessidades do seu negócio ou liberar a instância DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e destino.
Retry Time for Other Issues
Após o início da tarefa de migração, se ocorrer um problema não relacionado à conexão — como uma exceção na execução de DDL ou DML — no banco de origem ou destino, o DTS relata um erro e inicia imediatamente uma nova tentativa da operação. A duração padrão de tentativa é de 10 minutos. Personalize o tempo de tentativa para um valor entre 1 e 1440 minutos. Recomendamos definir a duração para mais de 10 minutos. A tarefa de migração será retomada automaticamente se as operações relacionadas forem bem-sucedidas dentro do período de tentativa especificado. 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 escrita nos bancos de origem e 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 destino.
Nota-
Este item de configuração está disponível apenas se você selecionar Full Data Migration em Migration Types.
-
Também é possível ajustar a velocidade da migração completa depois que a instância de migração estiver em execução.
Enable Throttling for Incremental Data Migration
Se necessário, também é possível definir limites de velocidade para a tarefa de migração incremental. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga no banco de destino.
Nota-
Este item de configuração está disponível apenas se você selecionar Incremental Data Migration em Migration Types.
-
Também é possível ajustar a velocidade da migração incremental depois que a instância de migração estiver em execução.
Environment Tag
Selecione uma tag de ambiente para identificar a instância de migração. Neste exemplo, nenhuma tag é necessária.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Escolha se deseja gravar informações SQL de heartbeat no banco de origem enquanto a instância DTS estiver em execução.
-
Yes: As informações SQL de heartbeat não são gravadas no banco de origem. Isso pode fazer com que a instância DTS relate atraso.
-
No: Grava informações SQL de heartbeat no banco de origem. Isso pode interferir em recursos como backup físico e clonagem do banco de origem.
Configure ETL
Conforme as necessidades do seu negócio, selecione se deseja configurar o recurso ETL para processar dados.
-
Yes: Configura o recurso ETL. Também é necessário inserir instruções de processamento de dados na caixa de texto.
-
No: Não configura o recurso ETL.
Monitoring and Alerting
Selecione se deseja configurar alertas e receber notificações de alerta conforme as necessidades do seu negócio.
-
No: Não configura alerta.
-
Yes: Configure alertas definindo um limiar de alerta e um notificações de alerta. O sistema envia uma notificação de alerta se a migração falhar ou se a latência exceder o limiar.
-
-
Clique em Next: Data Validation para configurar uma tarefa de validação de dados.
Para mais informações sobre o recurso de validação de dados, consulte Configurar validação de dados.
-
-
Salve a tarefa e execute uma pré-verificação.
Para visualizar os parâmetros de configuração desta instância ao chamar a operação da API, passe o ponteiro sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão exibido.
Clique em Next: Save Task Settings and Precheck na parte inferior da página se não precisar visualizar os parâmetros da API ou já tiver terminado de visualizá-los.
NotaO DTS realiza uma pré-verificação antes do início da tarefa de migração. A tarefa só começa após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item reprovado, corrija o problema conforme a instrução e execute a pré-verificação novamente.
-
Se um aviso for relatado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item reprovado, corrija o problema conforme a 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 executar a pré-verificação novamente. Ignorar um aviso pode causar problemas como inconsistência de dados e representar riscos ao seu negócio.
-
Adquira uma instância.
Quando a Success Rate atingir 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 O que é Resource Management?
Instance Class
O DTS oferece 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 baseada no seu cenário de negócio. Para mais informações, consulte Especificações de link de migração de dados.
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.
Acompanhe o progresso da tarefa de migração na página de lista Data Migration Tasks.
NotaA tarefa para automaticamente após a conclusão da migração completa se não incluir migração incremental. Após a parada da tarefa, seu Status muda para Completed.
A tarefa não para automaticamente se incluir migração incremental. A tarefa de migração incremental continua em execução. Enquanto a tarefa de migração incremental estiver ativa, o Status da tarefa será Running.