Você pode usar o Data Transmission Service (DTS) para migrar dados de um banco de dados Oracle autogerenciado para um projeto do DataHub, permitindo análises de streaming em tempo real e o desenvolvimento de aplicativos.
Pré-requisitos
Certifique-se de atender aos seguintes requisitos:
O DataHub está ativado e você criou um projeto do DataHub para receber os dados migrados. Para mais informações, consulte Get started with DataHub e Gerencie projetos
O banco de dados Oracle autogerenciado opera no modo ARCHIVELOG, com arquivos de log arquivados acessíveis e período de retenção adequado. Para mais informações, consulte Managing Archived Redo Log Files
O log suplementar está ativado no banco de dados Oracle autogerenciado, com
SUPPLEMENTAL_LOG_DATA_PKeSUPPLEMENTAL_LOG_DATA_UIdefinidos como Yes. Para mais informações, consulte Supplemental LoggingEntenda os recursos e os limites do DTS para a migração de dados do Oracle. Use o Advanced Database & Application Migration (ADAM) para avaliar a viabilidade e os custos da migração. Para mais informações, consulte Prepare an Oracle database e Overview
Para obter as versões compatíveis do banco de dados Oracle e do projeto do DataHub, consulte Overview of data migration scenarios .
Limitações
Limites do banco de dados de origem
Rede e conectividade
O servidor que hospeda o banco de dados de origem deve ter largura de banda de saída suficiente. A largura de banda insuficiente reduz a velocidade da migração.
Se o banco de dados de origem for um Oracle RAC conectado pelo Express Connect, especifique um VIP ao configurar o banco de dados de origem.
Se o banco de dados de origem for um Oracle RAC conectado por Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway ou Cloud Enterprise Network (CEN), use um único VIP em vez de um endereço IP Single Client Access Name (SCAN). Após especificar o VIP, o failover de nó não será compatível com o banco de dados Oracle RAC.
Restrições de tipo de dados
Se um campo VARCHAR2 no banco de dados Oracle de origem contiver uma string vazia (avaliada como nula no Oracle) e o campo de destino correspondente tiver uma restrição NOT NULL, a tarefa de migração falhará.
Requisitos de objetos
As tabelas a serem migradas devem ter restrições PRIMARY KEY ou UNIQUE, e todos os campos devem ser exclusivos. Caso contrário, registros duplicados poderão aparecer no banco de dados de destino.
No Oracle 12c ou posterior, os nomes das tabelas não podem exceder 30 bytes.
Ao migrar tabelas com modificações no banco de dados de destino (como renomear tabelas ou colunas), uma única tarefa aceita até 1.000 tabelas. Para mais de 1.000 tabelas, configure várias tarefas para migrar em lotes ou migre o banco de dados inteiro.
Requisitos de migração incremental
Os logs de redo e de arquivamento devem estar ativados.
-
Requisitos de retenção de log:
Apenas migração incremental de dados: armazene os logs de redo e de arquivamento por mais de 24 horas.
Migração completa e incremental de dados: armazene os logs de redo e de arquivamento por pelo menos sete dias. Após a conclusão da migração completa, reduza o período de retenção para mais de 24 horas.
Se o DTS não conseguir obter os logs de redo e de arquivamento, a tarefa poderá falhar. Em casos extremos, pode ocorrer inconsistência ou perda de dados. O Service Level Agreement (SLA) do DTS não garante a confiabilidade nem o desempenho do serviço se os requisitos de retenção de log não forem atendidos.
Operações durante a migração
Durante a migração de esquema e a migração completa de dados, não execute operações DDL que alterem os esquemas do banco de dados ou das tabelas. Caso contrário, a tarefa de migração falhará.
Durante a migração completa de dados, não grave dados no banco de dados de origem. Caso contrário, poderá ocorrer inconsistência entre os bancos de dados de origem e de destino. Para manter a consistência dos dados, selecione a migração de esquema, a migração completa e a migração incremental como tipos de migração.
Durante a migração de dados, não atualize campos LONGTEXT. Caso contrário, a tarefa falhará.
Outros limites
Uma única string no projeto do DataHub de destino não pode exceder 2 MB.
Somente tabelas podem ser selecionadas como objetos de migração. O DTS não é compatível com a migração de gatilhos.
Migre os dados em horários de menor movimento. Durante a migração completa, o DTS consome recursos de leitura e gravação dos bancos de dados de origem e de destino, o que pode aumentar a carga dos servidores.
Durante a migração completa, operações INSERT simultâneas causam fragmentação nas tabelas do cluster de destino. Após a conclusão da migração completa, o tamanho do tablespace usado no cluster de destino será maior que o do banco de dados de origem.
O DTS tenta retomar tarefas de migração com falha nos últimos sete dias. Antes de alternar as cargas de trabalho para o banco de dados de destino, pare ou libere as tarefas com falha. Como alternativa, execute a instrução
REVOKEpara revogar as permissões de gravação das contas que o DTS usa para acessar o banco de dados de destino. Caso contrário, os dados do banco de dados de origem substituirão os dados do banco de dados de destino após a retomada de uma tarefa com falha.Poderá ocorrer inconsistência entre os bancos de dados de origem e de destino se dados de outras fontes forem gravados no banco de dados de destino durante a migração.
Faturamento
| Tipo de migração | Taxa de configuração da tarefa | Taxa de transferência de dados |
|---|---|---|
| Migração de esquema | Gratuita. | Gratuita neste exemplo. Nota
Cobrada apenas quando os dados são migrados da alibaba cloud pela Internet. Para mais informações, consulte Billing overview. |
| Migração incremental de dados | Cobrada. Para mais informações, consulte Billing overview. |
Operações SQL compatíveis com a migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, atualize e exclua |
|
DDL |
crie TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE e TRUNCATE TABLE; crie VIEW, ALTER VIEW e DROP VIEW; crie PROCEDURE, ALTER PROCEDURE e DROP PROCEDURE; crie FUNCTION, DROP FUNCTION, crie TRIGGER e DROP TRIGGER; crie INDEX e DROP INDEX |
Permissões necessárias para contas de banco de dados
|
Tipo de banco de dados |
Migração de esquema |
Migração incremental de dados |
Referências |
|
Banco de dados Oracle autogerenciado |
Permissões do proprietário do esquema |
Permissões de granularidade fina |
Para migrar dados incrementais de um banco de dados Oracle, ative os logs de arquivamento e suplementar para obter os dados incrementais. Para mais informações, consulte a seção Configure an Oracle database do tópico "Prepare an Oracle database".
Procedimento
Etapa 1: Abrir a página de 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.
As operações podem variar de acordo com o modo e o layout do console do DMS. Para mais informações, consulte Simple mode e Customize the layout and style of the DMS console .
A página de Tarefas de Migração de Dados do novo console do DTS também está disponível.
Etapa 2: Selecionar uma região e criar uma tarefa
-
Na lista suspensa ao lado de Data Migration Tasks, selecione a região em que a instância de migração de dados reside.
No novo console do DTS, selecione a região no canto superior esquerdo.
Clique em Create Task.
Etapa 3: Configurar os bancos de dados de origem e de destino
Na página Create Task, configure as conexões dos bancos de dados de origem e de destino.
Após configurar os bancos de dados de origem e de destino, leia os Limits exibidos na parte superior da página. Caso contrário, a tarefa poderá falhar ou poderá ocorrer inconsistência de dados.
Configurações da tarefa
|
Parâmetro |
Descrição |
|
Task Name |
O DTS atribui automaticamente um nome à tarefa. Especifique um nome descritivo para facilitar a identificação. Não é necessário que o nome seja exclusivo. |
Configurações do banco de dados de origem
| Parâmetro | Descrição |
|---|---|
| Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) | Se você selecionar uma instância de banco de dados do DMS existente, o DTS preencherá automaticamente os parâmetros do banco de dados. Caso contrário, configure os parâmetros do banco de dados de origem manualmente. |
| Database Type | Selecione Oracle. |
| Access Method | Selecione um valor com base no local de implantação do banco de dados de origem. Neste exemplo, Self-managed Database on ECS está selecionado. Importante
Para outros métodos de acesso, configure o ambiente necessário para o banco de dados Oracle autogerenciado. Para mais informações, consulte Preparation overview. |
| Instance Region | A região em que o banco de dados Oracle de origem reside. Selecione a região correta para garantir a conectividade. |
| ECS Instance ID | O ID da instância do Elastic Compute Service (ECS) na qual o banco de dados Oracle de origem está implantado. |
| Port Number | O número da porta de serviço do banco de dados Oracle de origem. Valor padrão: 1521. |
| Oracle Type | A arquitetura do banco de dados Oracle de origem. Selecione Non-RAC Instance e especifique o parâmetro SID, ou selecione RAC or PDB Instance e especifique o parâmetro Service Name. Neste exemplo, RAC or PDB Instance está selecionado com o Service Name especificado. |
| Database Account | A conta do banco de dados Oracle autogerenciado. Para as permissões necessárias, consulte Permissões necessárias para contas de banco de dados. |
| Database Password | A senha da conta do banco de dados. |
Configurações do banco de dados de destino
|
Parâmetro |
Descrição |
|
Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) |
Se você selecionar uma instância de banco de dados do DMS existente, o DTS preencherá automaticamente os parâmetros do banco de dados. Caso contrário, configure os parâmetros do banco de dados de destino manualmente. |
|
Database Type |
Selecione DataHub. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
A região em que o projeto do DataHub de destino reside. |
|
Project |
O nome do Project de destino. |
Etapa 4: Testar a conectividade
Na parte inferior da página, clique em Test Connectivity and Proceed.
-
Se houver uma lista de permissões configurada para o banco de dados Oracle autogerenciado, adicione os blocos CIDR dos servidores do DTS à lista de permissões e clique em Test Connectivity and Proceed. O DTS lida com a configuração da lista de permissões de maneira diferente, dependendo do tipo de banco de dados:
Instâncias de banco de dados da alibaba cloud (como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB): o DTS adiciona automaticamente os blocos CIDR dos servidores do DTS à lista de permissões de endereços IP.
Bancos de dados autogerenciados no ECS: o DTS adiciona automaticamente os blocos CIDR às regras do grupo de segurança do ECS. Certifique-se de que a instância do ECS possa acessar o banco de dados. Para múltiplas instâncias do ECS, adicione manualmente os blocos CIDR a cada grupo de segurança.
Bancos de dados autogerenciados em um data center ou em uma cloud de terceiros: adicione manualmente os blocos CIDR dos servidores do DTS à lista de permissões de endereços IP do banco de dados. Para mais informações, consulte a seção CIDR blocks of DTS servers do tópico Add the CIDR blocks of DTS servers.
A adição de blocos CIDR públicos dos servidores do DTS a uma lista de permissões de banco de dados ou a um grupo de segurança do ECS introduz riscos de segurança. Antes de usar o DTS, reconheça os riscos potenciais e tome medidas preventivas, incluindo, mas não se limitando a: fortalecer a segurança de nomes de usuário e senhas, limitar as portas expostas, autenticar chamadas de API, verificar regularmente as listas de permissões ou regras de grupo de segurança e remover blocos CIDR não autorizados, ou conectar o banco de dados ao DTS por meio do Express Connect, VPN Gateway ou Smart Access Gateway.
Etapa 5: Configurar objetos de migração e configurações avançadas
Objetos de migração
| Parâmetro | Descrição |
|---|---|
| Migration Types | Selecione Schema Migration e Incremental Data Migration. Não é possível selecionar Full Data Migration. Nota
Se Incremental Data Migration não estiver selecionado, não grave dados no banco de dados de origem durante a migração para manter a consistência dos dados. |
| Naming Rules of Additional Columns | Quando o DTS migra dados para o DataHub, adiciona colunas adicionais ao tópico de destino. Se uma coluna adicional tiver o mesmo nome de uma coluna existente no tópico de destino, a tarefa de migração falhará. Selecione New Rule ou Previous Rule de acordo com seus requisitos. Aviso
Antes de configurar este parâmetro, verifique se as colunas adicionais apresentam conflitos de nome com as colunas existentes no tópico de destino. Conflitos de nome podem causar falha na tarefa e perda de dados. Para mais informações, consulte Modify the naming rules for additional columns. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: verifica se o banco de dados de destino contém tabelas com os mesmos nomes das tabelas no banco de dados de origem. Se houver nomes de tabelas idênticos, a pré-verificação retornará um erro e a tarefa não poderá ser iniciada. Nota
Se houver nomes de tabelas idênticos e as tabelas de destino não puderem ser excluídas ou renomeadas, use o recurso de mapeamento de nomes de objetos para renomear as tabelas migradas. Para mais informações, consulte Map object names. Ignore Errors and Proceed: ignora a pré-verificação de nomes de tabelas idênticos. Aviso
Selecionar Ignore Errors and Proceed pode causar inconsistência de dados. Se os esquemas coincidirem, o DTS ignorará os registros de dados com as mesmas chaves primárias. Se os esquemas diferirem, apenas colunas específicas serão migradas ou a tarefa falhará. |
| Capitalization of Object Names in Destination Instance | A capitalização dos nomes de bancos de dados, tabelas e colunas na instância de destino. Por padrão, DTS default policy está selecionada. Para mais informações, consulte Especifique a capitalização dos nomes dos objetos na instância de destino. |
| Source Objects | Selecione um ou mais objetos na seção Source Objects e clique em ícone Nota
Somente tabelas podem ser selecionadas como objetos de migração. |
| Selected Objects | - Para renomear um único objeto, clique em com o botão direito nele na seção Selected Objects. Para mais informações, consulte Map the name of a single object. - Para renomear vários objetos de uma vez, clique em Batch Edit no canto superior direito da seção Selected Objects. Para mais informações, consulte Map multiple object names at a time. Nota
O mapeamento de nomes de banco de dados não é compatível. Renomear um objeto pode fazer com que objetos dependentes falhem durante a migração. Os nomes de objetos incluem nomes de tabelas e colunas. - Para filtrar dados com condições WHERE, clique em com o botão direito na tabela na seção Selected Objects e configure as condições de filtro na caixa de diálogo. Para mais informações, consulte Defina condições de filtro. - Para configurar o parâmetro ShardKey, clique em com o botão direito na tabela na seção Selected Objects e desmarque Synchronize All Tables na caixa de diálogo. |
Configurações avançadas
Clique em Next: Advanced Settings para configurar os seguintes parâmetros.
| Parâmetro | Descrição |
|---|---|
| Select the dedicated cluster used to schedule the task | Por padrão, o DTS agenda a tarefa em um cluster compartilhado. Opcionalmente, adquira um cluster dedicado para executar a tarefa de migração. Para mais informações, consulte What is a DTS dedicated cluster. |
| Retry Time for Failed Connections | O tempo de nova tentativa quando uma conexão com o banco de dados de origem ou de destino falha. Valores válidos: 10 a 1440 minutos. Valor padrão: 720. Recomendamos definir este valor como maior que 30. Se o DTS reconectar dentro do tempo especificado, retomará a tarefa. Caso contrário, a tarefa falhará. Nota
Se várias tarefas compartilharem o mesmo banco de dados de origem ou de destino, o tempo de nova tentativa configurado mais recentemente entrará em vigor. O DTS cobra pela instância durante as novas tentativas. Defina o tempo de nova tentativa com base em seus requisitos e libere a instância do DTS prontamente após a liberação da instância de origem ou de destino. |
| The wait time before a retry when other issues occur in the source and destination databases. | O tempo de nova tentativa para outros problemas, como operações DDL ou DML com falha. Valores válidos: 1 a 1440 minutos. Valor padrão: 10. Recomendamos definir este valor como maior que 10. Se as operações forem bem-sucedidas dentro do tempo especificado, o DTS retomará a tarefa. Caso contrário, a tarefa falhará. Importante
Este valor deve ser menor que o valor de Retry Time for Failed Connections. |
| Enable Throttling for Incremental Data Migration | Indica se deve ativar o limitador para a migração incremental de dados. Configure os parâmetros RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga do servidor de destino. Nota
Disponível apenas quando Incremental Data Migration está selecionado em Migration Types. |
| Environment Tag | A tag de ambiente para identificar a instância do DTS. Selecione uma tag de acordo com seus requisitos. |
| Actual Write Code | O formato de codificação dos dados gravados no banco de dados de destino. |
| Configure ETL | Indica se deve ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte What is ETL?. Yes: ativa o ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte Configure ETL in a data migration or data synchronization task. No: desativa o ETL. |
| Monitoring and Alerting | Indica se deve configurar alertas para a tarefa de migração. Se a tarefa falhar ou a latência de migração exceder o limiar, os contatos de alerta serão notificados. No: desativa os alertas. Yes: ativa os alertas. Configure o limiar de alerta e as configurações de notificação. Para mais informações, consulte Configure monitoring and alerting for a new DTS task. |
Etapa 6: Executar a pré-verificação e iniciar a tarefa
-
Salve as configurações da tarefa e execute uma pré-verificação. Você também pode visualizar os parâmetros da openapi antes de iniciar a pré-verificação.
Para visualizar os parâmetros da API para a tarefa do DTS, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.
Clique em Next: Save Task Settings and Precheck na parte inferior da página.
- O DTS executa uma pré-verificação antes de iniciar a tarefa de migração. A tarefa só poderá ser iniciada após a aprovação da pré-verificação. - Se a pré-verificação falhar, clique em View Details ao lado de cada item com falha. Analise as causas, corrija os problemas e execute a pré-verificação novamente. - Se um alerta for gerado durante a pré-verificação: - Se o item de alerta não puder ser ignorado, clique em View Details ao lado do item com falha, corrija os problemas e execute a pré-verificação novamente. - Se o item de alerta puder ser ignorado, clique em Confirm Alert Details . Na caixa de diálogo View Details, clique em Ignore e, em seguida, clique em OK . Clique em Precheck Again para executar a pré-verificação novamente. Ignorar itens de alerta pode causar inconsistência de dados e expor seu negócio a riscos potenciais.
Aguarde até que a success rate atinja 100% e clique em Next: Purchase Instance.
-
Na página Purchase Instance, configure os seguintes parâmetros.
Parâmetro
Descrição
Resource Group Settings
O grupo de recursos para a instância de migração de dados. Valor padrão: default resource group. Para mais informações, consulte What is Resource Management?.
Instance Class
A classe da instância determina a velocidade de migração. Selecione uma classe de instância de acordo com o seu cenário. Para mais informações, consulte Specifications of data migration instances.
Marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.
Clique em Buy and Start para iniciar a tarefa de migração de dados. Você pode acompanhar o progresso da tarefa na lista de tarefas.