O Data Transmission Service (DTS) migra dados de um banco de dados Oracle autogerenciado para uma instância do ApsaraDB RDS for MySQL . O DTS oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados, que você pode combinar para concluir a migração sem interromper suas aplicações.
Pré-requisitos
-
Você possui um banco de dados Oracle autogerenciado de origem e uma instância de destino do ApsaraDB RDS for MySQL .
Nota-
Para criar a instância de destino do ApsaraDB RDS for MySQL , consulte Criar uma instância do ApsaraDB RDS for MySQL.
-
Para as versões compatíveis do banco de dados de origem e da instância de destino, consulte Visão geral das soluções de migração.
-
Você habilitou o modo ARCHIVELOG para o banco de dados Oracle autogerenciado, definiu um período de retenção adequado para os arquivos de log arquivados e garantiu que os arquivos de log arquivados estejam acessíveis. Para obter mais informações, consulte ARCHIVELOG.
Você habilitou o supplemental logging para o banco de dados Oracle autogerenciado e definiu os parâmetros supplemental_log_data_pk e supplemental_log_data_ui como YES. Para obter mais informações, consulte Supplemental Logging.
Antes de executar uma migração de dados, recomendamos que você compreenda os recursos e as limitações do DTS para origens Oracle e use o ADAM para realizar uma avaliação do banco de dados. Isso garante uma migração tranquila para a nuvem. Para obter mais informações, consulte Limitações e preparativos para bancos de dados Oracle e Visão geral da avaliação de banco de dados.
Limitações
O DTS migra chaves estrangeiras durante a migração de esquema.
Durante a migração completa e incremental de dados, o DTS desabilita temporariamente as verificações de restrições e 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 oferece suporte à execução de uma migração completa em várias etapas; a migração completa deve ser concluída em uma única operação. Se você precisar migrar dados em lotes, configure várias tarefas de migração.
|
Tipo |
Descrição |
|
Limitações do banco de dados de origem |
|
|
Outras limitações |
|
|
Casos especiais |
Quando o banco de dados de destino é o ApsaraDB RDS for MySQL
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego pela Internet |
|
Migração de esquema e migração total de dados |
Gratuito. |
Quando o Método de acesso parâmetro do banco de dados de destino está definido como Endereço IP público, você é cobrado pelo tráfego pela Internet. 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
|
Tipo |
Descrição |
|
Migração de esquema |
O DTS migra as definições de esquema dos objetos selecionados para o banco de dados de destino. O DTS suporta migração de esquema para tabelas e índices com as seguintes limitações:
Nota
O DTS não suporta migração de esquema para views, sinônimos, stored procedures, funções, pacotes ou tipos definidos pelo usuário. Aviso
Esta é uma migração de banco de dados heterogêneo. Durante a migração de esquema, os tipos de dados podem não corresponder totalmente entre os bancos de dados de origem e de destino. Avalie o impacto dos mapeamentos de tipos de dados em suas cargas de trabalho. Para mais informações, consulte Mapeamento de tipos de dados para bancos de dados heterogêneos. |
|
Migração total de dados |
O DTS migra todos os dados existentes dos objetos selecionados no banco de dados Oracle auto-gerenciado para o banco de dados de destino. |
|
Migração incremental de dados |
Após a migração total de dados, o DTS captura continuamente redo logs do banco de dados Oracle auto-gerenciado e migra as alterações incrementais para o banco de dados de destino. A migração incremental de dados permite que você conclua a migração sem problemas, sem tirar suas aplicações auto-gerenciadas do ar. |
Operações SQL para migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE e DELETE |
|
DDL |
|
Mapeamento de tipos de dados
Para mais informações, consulte Mapeamento de tipos de dados entre bancos de dados heterogêneos.
Antes de começar
Faça login no banco de dados Oracle auto-gerenciado a ser migrado, crie uma conta para coleta de dados e conceda as permissões necessárias a essa conta.
Se você já criou uma conta com as permissões listadas abaixo, pode pular esta etapa.
|
Banco de dados |
Migração de schema |
Migração completa de dados |
Migração incremental de dados |
|
Banco de dados Oracle auto-gerenciado |
Privilégios de proprietário do schema |
Privilégios de proprietário do schema |
Privilégios refinados |
|
ApsaraDB RDS for MySQL instância |
Privilégios de escrita no banco de dados de destino |
||
Para criar uma conta de banco de dados e conceder permissões:
Para um banco de dados Oracle auto-gerenciado, consulte Preparação da conta do banco de dados, CREATE USERe GRANT.
-
Para uma instância do ApsaraDB RDS for MySQL , consulte Criar uma conta e Modificar permissões da conta.
Para migrar dados incrementais, você também deve habilitar o log de arquivamento e o log suplementar. Para mais informações, consulte configuração do banco de dados.
Procedimento
Navegue até a página da lista de tarefas de migração da região de destino usando um dos seguintes métodos.
No console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Migração de Dados.
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 do DMS. Para mais informações, consulte Console do modo simples e Personalizar o layout e o estilo do console do DMS.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Tarefas de Migração de Dados, selecione a região onde a instância de migração está localizada.
Clique em Criar Tarefa para acessar a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
AvisoApós selecionar as instâncias de origem e de destino, recomendamos que você leia atentamente os limites exibidos na parte superior da página. Caso contrário, a tarefa pode falhar ou pode ocorrer inconsistência de dados.
Seção
Parâmetro
Descrição
N/A
Nome da Tarefa
O DTS gera automaticamente um nome para a tarefa. Recomendamos que você especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Banco de Dados de Origem
Tipo de Banco de Dados
Selecione Oracle.
Método de Acesso
Selecione um tipo de conexão com base na implantação do seu banco de dados de origem. Este tópico usa Banco de Dados Auto-gerenciado com IP Público como exemplo.
NotaSe o seu banco de dados auto-gerenciado usar um tipo de conexão diferente, você também deve concluir as preparações.
Região da Instância
Selecione a região do banco de dados Oracle de origem.
Nome do host ou endereço IP
Insira o endpoint do banco de dados Oracle auto-gerenciado.
Porta
Insira a porta de serviço do banco de dados Oracle auto-gerenciado. O valor padrão é 1521.
NotaNeste exemplo, a porta de serviço deve estar acessível publicamente.
Tipo de Oracle
-
Instância Não-RAC: Se você selecionar esta opção, também deverá especificar o SID.
-
Instância RAC ou PDB: Se você selecionar esta opção, também deverá especificar o Service Name.
Este exemplo usa Instância Não-RAC.
Conta do Banco de Dados
Insira a conta do banco de dados Oracle de origem. Para as permissões necessárias, consulte Preparações.
Senha do Banco de Dados
Insira a senha da conta do banco de dados.
Banco de Dados de Destino
Tipo de Banco de Dados
Selecione MySQL.
Método de Acesso
Selecione Instância Alibaba Cloud.
Região da Instância
Selecione a região da instância ApsaraDB RDS for MySQL de destino.
ID da Instância RDS
Selecione o ID da instância ApsaraDB RDS for MySQL de destino.
Conta do Banco de Dados
Insira a conta do banco de dados para a instância ApsaraDB RDS de destino. Para as permissões necessárias, consulte Preparações.
Senha do Banco de Dados
Insira a senha da conta do banco de dados.
Método de Conexão
Selecione Não criptografado ou Criptografado por SSL com base nos requisitos do seu banco de dados. Se você definir este parâmetro como Criptografado por SSL, é necessário habilitar previamente a criptografia SSL na instância RDS for MySQL. Para mais informações, consulte Habilitar rapidamente a criptografia SSL usando um certificado em nuvem.
-
Após concluir a configuração, clique em Testar Conectividade e Prosseguir na parte inferior da página. Na caixa de diálogo Blocos CIDR dos Servidores DTS exibida, clique em Testar Conectividade.
NotaCertifique-se de que os segmentos de endereço IP do serviço DTS sejam 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 whitelist.
-
Configure os objetos da tarefa.
-
Na página Configurar Objetos , configure os objetos que você deseja migrar.
Parâmetro
Descrição
Tipos de Migração
Se você precisar apenas executar uma migração completa, selecione ambas as opções: Migração de Schema e Migração Completa de Dados.
Para executar uma migração sem tempo de inatividade, selecione Migração de Schema, Migração Completa de Dadose Migração Incremental de Dados.
NotaSe você não selecionar Migração de Schema, deverá garantir que exista no banco de dados de destino um banco de dados e tabelas para receber os dados. Você também pode usar o recurso de mapeamento de nomes de objetos na caixa Objetos Selecionados conforme necessário.
Se você não selecionar Migração Incremental de Dados, não grave novos dados na instância de origem durante a migração de dados para garantir a consistência dos dados.
Modo de Processamento para Tabelas de Destino Existentes
Pré-verificar e Reportar Erros: Verifica se existem tabelas com os mesmos nomes no banco de dados de destino. Se não existirem tabelas com os mesmos nomes, a pré-verificação é aprovada. Se existirem tabelas com os mesmos nomes, um erro será reportado durante a pré-verificação e a tarefa de migração de dados não será iniciada.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser facilmente excluída ou renomeada, você pode alterar o nome da tabela no banco de dados de destino. Para obter mais informações, consulte Mapeamento de nomes de objetos.
Ignorar Erros e Prosseguir: Ignora a verificação de tabelas com os mesmos nomes.
AvisoSelecionar Ignorar Erros e Prosseguir pode causar inconsistência de dados e riscos ao negócio. Por exemplo:
Se os esquemas 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 substitui o registro no banco de dados de destino.
Se os esquemas das tabelas forem inconsistentes, apenas algumas colunas de dados poderão ser migradas ou a migração poderá falhar. Prossiga com cautela.
Objetos de Origem
Na caixa Objetos de Origem , clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Objetos Selecionados .Objetos Selecionados
-
Para alterar o nome de um único objeto de migração na instância de destino, clique com o botão direito do mouse no objeto na caixa Objetos Selecionados . Para obter mais informações, consulte Mapear nomes individuais de esquemas, tabelas e colunas.
-
Para alterar os nomes de vários objetos de migração na instância de destino, clique em Objetos Selecionados no canto superior direito da caixa Edição em Lote . Para obter mais informações, consulte Mapear vários nomes de esquemas, tabelas e colunas.
Nota-
Se você usar o recurso de mapeamento de nomes de objetos, outros objetos que dependem do objeto renomeado poderão falhar na migração.
-
Para filtrar dados usando uma cláusula WHERE, clique com o botão direito do mouse na tabela a ser migrada no painel Objetos Selecionados e especifique a condição de filtro. Para obter mais informações, consulte Definir condições de filtro.
-
Para selecionar as operações SQL para migração incremental de dados no nível do banco de dados ou da tabela, clique com o botão direito do mouse no objeto de migração na Objetos Selecionados e selecione as operações SQL desejadas.
-
Clique em Próximo: Configurações Avançadas para configurar parâmetros avançados.
Parâmetro
Descrição
Cluster Dedicado para Agendamento de Tarefas
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Não é necessário selecionar um. Se você desejar tarefas mais estáveis, pode adquirir um cluster dedicado para executar tarefas de migração do DTS.
Tempo de Nova Tentativa para Falhas de Conexão
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 iniciará imediatamente uma nova tentativa de conexão. A duração padrão de nova tentativa é de 720 minutos. Você pode personalizar o tempo de nova tentativa para um valor entre 10 e 1440 minutos. Recomendamos definir a duração como superior a 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 múltiplas 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 necessidades do seu negócio 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.
Tempo de Nova Tentativa para Outros Problemas
Após o início da tarefa de migração, se ocorrer um problema não relacionado à conectividade, como uma exceção de execução de DDL ou DML, no banco de dados de origem ou de destino, o DTS reportará um erro e iniciará imediatamente uma nova tentativa da operação. A duração padrão de nova tentativa é de 10 minutos. Você pode personalizar o tempo de nova tentativa para um valor entre 1 e 1440 minutos. Recomendamos definir a duração como superior a 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 Tempo de Nova Tentativa para Outros Problemas deve ser menor que o valor de Tempo de Nova Tentativa para Falhas de Conexão.
Habilitar Limitação para Migração Completa de Dados
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, você pode habilitar a limitação para a tarefa de migração completa. Você pode definir Consultas por segundo (QPS) para o banco de dados de origem, RPS da Migração Completa de Dados, e Velocidade de migração de dados para migração completa (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Migração Completa de Dados para Tipos de Migração.
Você também pode ajustar a velocidade da migração completa depois que a instância de migração estiver em execução.
Habilitar Limitação para Migração Incremental de Dados
Se necessário, você também pode optar por definir limites de velocidade para a tarefa de migração incremental. Você pode definir RPS da Migração Incremental de Dados e Velocidade de migração de dados para migração incremental (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se você selecionar Migração Incremental de Dados para Tipos de Migração.
Você também pode ajustar a velocidade da migração incremental após a instância de migração estar em execução.
Tag de Ambiente
Você pode selecionar uma tag de ambiente para identificar a instância. Este parâmetro é opcional.
Código de Escrita Real
Selecione o tipo de codificação de caracteres para gravar dados no banco de dados de destino.
Configurar ETL
Escolha se deseja habilitar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte O que é ETL? Valores válidos:
-
Sim: Habilita o recurso ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte Configurar ETL em uma tarefa de migração ou sincronização de dados.
-
Não: Desabilita o recurso ETL.
Monitoramento e Alertas
Selecione se deseja definir alertas e receber notificações de alerta com base nas necessidades do seu negócio.
Não: Não define um alerta.
Sim: Configure alertas definindo um limite de alerta e um notificações de alerta. Se uma migração falhar ou a latência exceder o limite, o sistema envia uma notificação de alerta.
Clique em Próximo: Validação de Dados 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 de API, passe o ponteiro do mouse sobre o ícone Próximo: Salvar Configurações da Tarefa e Pré-verificar botão e clique em Visualizar parâmetros da OpenAPI na janela que aparece.
Se você não precisar visualizar ou já tiver terminado de visualizar os parâmetros da API, clique em Próximo: Salvar configurações da tarefa e pré-verificação na parte inferior da página.
NotaAntes que a tarefa de migração seja iniciada, o DTS executa uma pré-verificação. A tarefa só é iniciada após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em Ver Detalhes ao lado do item com falha, corrija o problema conforme a 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 Ver Detalhes ao lado do item com falha, corrija o problema conforme a instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, você pode clicar em Confirmar Detalhes do Alerta, Ignorar, OKe Pré-verificar Novamente para pular o item de alerta e executar a pré-verificação novamente. Se você optar por ignorar um aviso, isso poderá causar problemas como inconsistência de dados e representar riscos ao seu negócio.
-
Adquira a instância.
Quando a Taxa de Sucesso for 100%, clique em Próximo: Adquirir Instância.
Na página Comprar , selecione a especificação do link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
Nova Classe de Instância
Configurações do Grupo de Recursos
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é default resource group. Para mais informações, consulte O que é gerenciamento de recursos?
Classe da Instância
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. Você pode selecionar uma especificação com base no seu cenário de negócios. Para mais informações, consulte Especificações do link de migração de dados.
Após concluir a configuração, leia e selecione Termos de Serviço do Data Transmission Service (Pay-as-you-go).
Clique em Comprar e Iniciar. Na OK caixa de diálogo exibida, clique em OK.
Você pode visualizar o progresso da tarefa de migração na Tarefas de Migração de Dados página de lista.
NotaSe a tarefa de migração não incluir migração incremental, ela será interrompida automaticamente após a conclusão da migração completa. Após a interrupção da tarefa, seu Status muda para Concluído.
Se a tarefa de migração incluir migração incremental, ela não será interrompida automaticamente. A tarefa de migração incremental continua em execução. Enquanto a tarefa de migração incremental estiver em execução, o Status da tarefa é Em Execução.