aws database migration service · tarefas de migração executadas pelo aws dms ..... 1 como o aws...

319
AWS Database Migration Service Guia do usuário Versão da API API versão 2016-01-01

Upload: trinhdung

Post on 11-Nov-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration ServiceGuia do usuário

Versão da API API versão 2016-01-01

Page 2: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

AWS Database Migration Service: Guia do usuárioCopyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

Page 3: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Table of ContentsO que é o AWS Database Migration Service? ......................................................................................... 1

Tarefas de migração executadas pelo AWS DMS ............................................................................ 1Como o AWS DMS funciona no nível básico ................................................................................. 2

Como o AWS DMS funciona ................................................................................................................ 4Uma visão detalhada do AWS DMS .............................................................................................. 4Componentes ............................................................................................................................. 5Origens ................................................................................................................................... 10Destinos .................................................................................................................................. 10Com outros serviços da AWS ..................................................................................................... 11

Suporte a AWS CloudFormation ......................................................................................... 11Criação de um ARN .......................................................................................................... 12

Configuração .................................................................................................................................... 14Cadastre-se na AWS ................................................................................................................. 14Criar um usuário do IAM ............................................................................................................ 14Planejamento de migração para o AWS Database Migration Service ................................................. 16

Conceitos básicos ............................................................................................................................. 17Início de uma migração de banco de dados .................................................................................. 17Etapa 1: bem-vindo ................................................................................................................... 18Etapa 2: criar uma instância de replicação ................................................................................... 18Etapa 3: especificar endpoints de origem e de destino ................................................................... 23Etapa 4: criar uma tarefa ........................................................................................................... 28Monitoramento de tarefa ............................................................................................................ 31

Segurança ....................................................................................................................................... 33Permissões do IAM necessárias ................................................................................................. 33Funções do IAM para a CLI e a API ........................................................................................... 36Controle de acesso minucioso .................................................................................................... 40

Uso de nomes de recursos para controle de acesso .............................................................. 40Uso de tags para controle de acesso ................................................................................... 42

Configuração de uma chave de criptografia .................................................................................. 47Segurança de rede ................................................................................................................... 48Como usar o SSL ..................................................................................................................... 49

Limitações no uso de SSL com o AWS Database Migration Service .......................................... 50Gerenciamento de certificados ............................................................................................ 51Habilitação de SSL para um endpoint de SQL Server ou PostgreSQL compatível com MySQL ....... 51Suporte SSL para um endpoint do Oracle ............................................................................ 53

Alteração da senha do banco de dados ....................................................................................... 57Limites ............................................................................................................................................ 58

Limites do AWS Database Migration Service ................................................................................. 58Replication Instance .......................................................................................................................... 59

Detalhes sobre a instância de replicação ...................................................................................... 60Instâncias de replicação públicas e privadas ................................................................................. 62Manutenção do AWS DMS ......................................................................................................... 62

Janela de manutenção do AWS DMS .................................................................................. 62Versões do mecanismo de replicação .......................................................................................... 65

Reprovação de uma versão de instância de replicação ........................................................... 65Atualizar a versão do mecanismo de uma instância de replicação ............................................ 66

Configurar uma rede para uma instância de replicação ................................................................... 67Configurações de rede para migração de banco de dados ...................................................... 68Criação de um grupo de sub-rede de replicação .................................................................... 73

Configuração de uma chave de criptografia .................................................................................. 75Criar uma instância de replicação ............................................................................................... 75Modificar uma instância de replicação ......................................................................................... 79Reinicialização de uma instância de replicação ............................................................................ 82Exclusão de uma instância de replicação .................................................................................... 84

Versão da API API versão 2016-01-01iii

Page 4: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Declarações DDL compatíveis .................................................................................................... 85Endpoints ........................................................................................................................................ 86

Origens para a migração de dados ............................................................................................. 86Uso do Oracle como origem ............................................................................................... 87Uso do SQL Server como origem ...................................................................................... 102Uso de um banco de dados Azure SQL como origem ........................................................... 113Uso do PostgreSQL como origem ..................................................................................... 113Uso do MySQL como origem ............................................................................................ 125Uso do SAP ASE como origem ......................................................................................... 134Uso do MongoDB como origem ........................................................................................ 137Uso do Amazon S3 como origem ...................................................................................... 142Uso do IBM Db2 como origem .......................................................................................... 147

Destinos para a migração de dados ........................................................................................... 150Uso do Oracle como destino ............................................................................................. 151Uso do SQL Server como destino ..................................................................................... 156Uso do PostgreSQL como destino ..................................................................................... 160Uso do MySQL como destino ........................................................................................... 163Uso do Amazon Redshift como destino .............................................................................. 168Uso do SAP ASE como destino ........................................................................................ 174Uso do Amazon S3 como destino ...................................................................................... 176Uso do Amazon DynamoDB como destino .......................................................................... 180

Criação de endpoints de origem e destino .................................................................................. 193Tarefas .......................................................................................................................................... 197

Criar um relatório de avaliação de tarefa .................................................................................... 199Criar uma tarefa ...................................................................................................................... 201

Configurações de tarefa ................................................................................................... 207Configuração do suporte a LOB ........................................................................................ 221Criação de várias tarefas ................................................................................................. 221

Tarefas de replicação contínua ................................................................................................. 222Pontos de início de CDC nativo ........................................................................................ 223

Modificação de uma tarefa ....................................................................................................... 225Recarregamento de tabelas durante uma tarefa ........................................................................... 225

Console de gerenciamento da AWS ................................................................................... 226Mapeamento de tabela ............................................................................................................ 227

Mapeamento de tabela de transformação e seleção usando o Console de Gerenciamento daAWS ............................................................................................................................. 227Mapeamento de tabela de seleção e transformação usando JSON ........................................ 232Uso de filtros de origem ................................................................................................... 238

Monitoramento de tarefas ................................................................................................................. 242Status da tarefa ...................................................................................................................... 242Estado da tabela durante as tarefas .......................................................................................... 243Monitorar tarefas de replicação usando o Amazon CloudWatch ...................................................... 244Métricas do Data Migration Service ............................................................................................ 246

Métricas de instâncias de replicação .................................................................................. 247Métricas de tarefas de replicação ...................................................................................... 248

Gerenciamento de logs do AWS DMS ........................................................................................ 249Registro de chamadas à API do AWS DMS usando o AWS CloudTrail ............................................ 250

Configuração do registro de eventos no CloudTrail ............................................................... 251Entradas de eventos do AWS Database Migration Service em arquivos de log do CloudTrail ........ 251

Validação de tarefas ........................................................................................................................ 252Estatísticas da tarefa de replicação ............................................................................................ 252Solução de problemas ............................................................................................................. 254Limitações .............................................................................................................................. 255

Marcação de recursos ..................................................................................................................... 257API ....................................................................................................................................... 258

Utilização de eventos e notificações ................................................................................................... 260Categorias e mensagens de eventos do AWS DMS ..................................................................... 261

Versão da API API versão 2016-01-01iv

Page 5: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Assinatura de notificação de eventos do AWS DMS ..................................................................... 263Console de gerenciamento da AWS ................................................................................... 263API do AWS DMS ........................................................................................................... 264

Migração de grandes armazenamentos de dados usando o AWS DMS e o Snowball ................................. 265Visão geral do processo ........................................................................................................... 265Procedimentos passo a passo para migrar dados usando o AWS DMS e o AWS Snowball .................. 267

Etapa 1: criar um trabalho do AWS Snowball ...................................................................... 267Etapa 2: instalar a SCT ................................................................................................... 267Etapa 3: instalar e configurar o SCT DMS Agent ................................................................. 267Etapa 4: desbloquear o dispositivo AWS Snowball Edge ....................................................... 268Etapa 5: criar um novo projeto da AWS SCT ...................................................................... 268Etapa 6: configurar o perfil da AWS SCT ............................................................................ 268Etapa 7: registrar o DMS Agent ........................................................................................ 270Etapa 8: instalar o driver do banco de dados de origem ........................................................ 271Etapa 9: configurar a AWS SCT para acessar o bucket do Amazon S3 .................................... 273Etapa 10: criar uma tarefa local e DMS .............................................................................. 273Etapa 11: executar e monitorar a tarefa local e DMS na SCT ................................................. 275Etapa 11: gerenciar o dispositivo AWS Snowball .................................................................. 275Snowball para o Amazon S3 ............................................................................................. 276

Solução de problemas ..................................................................................................................... 277Tarefas de migração de execução lenta ..................................................................................... 277Barra de status de tarefa não se move ...................................................................................... 278Chaves externas e índices secundários ausentes ........................................................................ 278Problemas de conexão do Amazon RDS .................................................................................... 278

Mensagem de erro: Incorrect thread connection string: incorrect thread value 0 ........................ 278Problemas de rede .................................................................................................................. 279CDC travado após carregamento completo ................................................................................. 279Erros de violação de chave primária ao reiniciar uma tarefa ........................................................... 279Falha no carregamento inicial do schema ................................................................................... 279Tarefas falham com erro desconhecido ...................................................................................... 280Tarefa recomeça o carregamento de tabelas desde o início ........................................................... 280Número de tabelas por tarefa ................................................................................................... 280Solução de problemas específicos ao Oracle .............................................................................. 280

Efetuação de pull de dados de exibições ............................................................................ 280Migração de LOBs do Oracle 12c ...................................................................................... 281Alternância entre Oracle LogMiner e Binary Reader .............................................................. 281Erro: Oracle CDC stopped 122301 Oracle CDC maximum retry counter exceeded. .................... 281Adição automática de registro suplementar a um endpoint de origem do Oracle ........................ 282Alterações de LOB não estão sendo capturadas .................................................................. 282Erro: ORA-12899: value too large for column <column-name> ................................................ 282Tipo de dados NUMBER sendo mal interpretado ................................................................. 282

Solução de problemas específicos ao MySQL ............................................................................. 283Tarefa de CDC falhando para o endpoint da instância de banco de dados do Amazon RDSporque o registro binário está desabilitado .......................................................................... 283Conexões a uma instância de destino MySQL são desconectadas durante uma tarefa ................ 283Adição de autocommit a um endpoint compatível com MySQL ............................................... 284Desabilitação de chaves externas em um endpoint de destino compatível com MySQL ............... 284Caracteres substituídos por interrogações ........................................................................... 285Entradas de log "Bad event" ............................................................................................. 285Captura de dados de alteração com MySQL 5.5 .................................................................. 285Crescimento da retenção de log binário para instâncias de banco de dados do Amazon RDS ....... 285Mensagem de log: Some changes from the source database had no impact when applied to thetarget database. .............................................................................................................. 285Erro: Identifier too long .................................................................................................... 285Erro: Unsupported Character Set Causes Field Data Conversion to Fail ................................... 286Erro: página de código 1252 para UTF8 [120112] Uma conversão de dados de campo falhou ...... 286

Solução de problemas específicos ao PostgreSQL ....................................................................... 287

Versão da API API versão 2016-01-01v

Page 6: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Tipos de dados JSON que estão sendo truncados ............................................................... 287Colunas de um tipo de dados definido pelo usuário não estão sendo migradas corretamente ....... 287Erro: No schema has been selected to create in .................................................................. 288Exclusões e atualizações a uma tabela não estão sendo replicadas usando CDC ...................... 288Declarações de truncamento não estão sendo propagadas .................................................... 288Impedir que o PostgreSQL capture DDL ............................................................................. 288Seleção do schema onde objetos de banco de dados para a captura DDL são criados ............... 288Tabelas do Oracle ausentes após a migração para o PostgreSQL .......................................... 288Tarefa utilizando exibição como origem não tem nenhuma linha copiada .................................. 289

Solução de problemas específicos ao Microsoft SQL Server .......................................................... 289Permissões especiais para a conta de usuário do AWS DMS usar CDC .................................. 289Erros que capturam alterações para banco de dados do SQL Server ...................................... 289Colunas de identidade ausentes: ....................................................................................... 289Erro: SQL Server Does Not Support Publications ................................................................. 290Alterações que não aparecem no destino ........................................................................... 290

Solução de problemas específicos ao Amazon Redshift ................................................................ 290Carregamento para um cluster do Amazon Redshift em uma região diferente da instância dereplicação do AWS DMS .................................................................................................. 290Erro: Relation "awsdms_apply_exceptions" already exists ...................................................... 291Erros com tabelas cujos nomes começam com “awsdms_changes” ......................................... 291Tabelas em cluster com nomes como dms.awsdms_changes000000000XXXX .......................... 291Permissões necessárias para trabalhar com o Amazon Redshift ............................................. 291

Solução de problemas específicos do Amazon Aurora MySQL ....................................................... 291Erro: CHARACTER SET UTF8 fields terminated by ',' enclosed by '"' lines terminated by '\n' ........ 292

Melhores práticas ............................................................................................................................ 293Aprimoramento do desempenho ................................................................................................ 293Dimensionamento de uma instância de replicação ....................................................................... 295Redução do carregamento no banco de dados de origem ............................................................. 296Uso do log de tarefas .............................................................................................................. 296Conversão de schema ............................................................................................................. 296Migração de Large Binary Objects (LOBs - Objetos binários grandes) ............................................. 297

Uso do Modo LOB limitado ............................................................................................. 297Replicação contínua ................................................................................................................ 298Alteração do usuário e esquema de um destino do Oracle ........................................................... 298Aumento do desempenho ao migrar tabelas grandes ................................................................... 299

Referência ...................................................................................................................................... 300Tipos de dados do AWS DMS .................................................................................................. 300

Notas de release ............................................................................................................................ 302Notas de release do AWS DMS 2.4.3 ........................................................................................ 302Notas de release do AWS DMS 2.4.2 ........................................................................................ 302Notas de release do AWS DMS 2.4.1 ........................................................................................ 304Notas de release do AWS DMS 2.4.0 ........................................................................................ 305Notas de release do AWS DMS 2.3.0 ........................................................................................ 307

Histórico do documento .................................................................................................................... 310Atualizações anteriores ............................................................................................................ 310

AWS Glossary ................................................................................................................................ 313

Versão da API API versão 2016-01-01vi

Page 7: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTarefas de migração executadas pelo AWS DMS

O que é o AWS Database MigrationService?

O AWS Database Migration Service (AWS DMS) é um serviço de nuvem que facilita a migração de bancosde dados relacionais, data warehouses, bancos de dados NoSQL e outros tipos de armazenamentos dedados. Você pode usar o AWS DMS para migrar seus dados para a Nuvem AWS, entre instâncias locaisou entre combinações de nuvem e configurações locais.

Com o &dmsshort, você pode executar migrações avulsas e replicar as alterações em andamento paramanter as origens e os destinos em sincronia. Se você quiser mudar os mecanismos de banco de dados,poderá usar a AWS Schema Conversion Tool (AWS SCT) para traduzir seu esquema de banco de dadospara a nova plataforma. Em seguida, use o AWS DMS para migrar os dados. Como o AWS DMS faz parteda Nuvem AWS, você obtém a eficiência de custos, a velocidade de comercialização, a segurança e aflexibilidade que os serviços da AWS oferecem.

Para obter informações sobre quais regiões da AWS oferecem suporte ao AWS DMS, consulte Trabalharcom instância de replicação do AWS DMS (p. 59). Para obter mais informações sobre o custo damigração de bancos de dados, consulte a página Definição de preços no AWS Database MigrationService.

Tarefas de migração executadas pelo AWS DMSO AWS DMS assume muitas das tarefas difíceis ou tediosas envolvidas em um projeto de migração:

• Em uma solução tradicional, você precisa executar análises de capacidade, adquirir hardware esoftware, instalar e administrar sistemas e testar e depurar a instalação. O AWS DMS gerenciaautomaticamente a implantação, o gerenciamento e o monitoramento de todo o hardware e de todo osoftware necessários para a migração. A migração pode estar ativa e em execução em minutos depoisdo início do processo de configuração do AWS DMS.

• Com o AWS DMS, você pode expandir (ou reduzir) seus recursos de migração conforme necessáriopara que correspondam à sua carga de trabalho real. Por exemplo, se você determinar que precisade armazenamento adicional, poderá aumentar facilmente o armazenamento alocado e reiniciar amigração, geralmente em minutos. Por outro lado, se descobrir que não está usando toda a capacidadedos recursos configurados, você poderá fazer um downsize que corresponda à sua carga de trabalhoreal.

• O AWS DMS usa um modelo de pagamento por utilização. Você paga pelos recursos do &dmsshort,apenas quando os usa, em vez de modelos de licenciamento tradicionais com custos de compra iniciaise cobranças contínuas de manutenção.

• O AWS DMS gerencia automaticamente toda a infraestrutura que oferece suporte a seu servidor demigração, incluindo hardware e software, aplicação de patches de software e relatórios de erros.

• O AWS DMS fornece recurso de failover automático. Se seu servidor de replicação primário falharpor qualquer motivo, um servidor de replicação de backup poderá assumir com pouca ou nenhumainterrupção do serviço.

• O AWS DMS pode ajudar você a alternar para um mecanismo de banco de dados moderno, talvezmais econômico, do que o mecanismo de banco de dados que você está executando agora. Porexemplo, o AWS DMS pode ajudá-lo a aproveitar os serviços de banco de dados gerenciados fornecidospelo Amazon RDS ou Amazon Aurora. Ou pode ajudá-lo a migrar para o serviço de data warehousegerenciado fornecido pelo Amazon Redshift, por plataformas NoSQL, como o Amazon DynamoDB ou

Versão da API API versão 2016-01-011

Page 8: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComo o AWS DMS funciona no nível básico

por plataformas de armazenamento de baixo custo, como o Amazon S3. Por outro lado, se você desejarmigrar para fora da infraestrutura antiga, mas continuar a usar o mesmo mecanismo de banco de dados,o AWS DMS também oferece suporte a esse processo.

• O AWS DMS oferece suporte a praticamente todos os mecanismos de DBMS mais populares atuaiscomo fontes de dados, incluindo o Oracle, Microsoft SQL Server, MySQL, MariaDB, PostgreSQL, Db2LUW, SAP, MongoDB e Amazon Aurora.

• O AWS DMS fornece uma grande variedade de mecanismos de destino disponíveis, incluindo o Oracle,o Microsoft SQL Server, o PostgreSQL, o MySQL, o Amazon Redshift, o SAP ASE, o S3 e o AmazonDynamoDB.

• Você pode migrar de qualquer uma das fontes de dados suportadas para qualquer um dos destinos dedados compatíveis. O AWS DMS oferece suporte total a migrações de dados heterogêneas entre osmecanismos compatíveis.

• O AWS DMS garante que a migração de dados seja segura. Os dados em repouso são criptografadoscom criptografia AWS Key Management Service (AWS KMS). Durante a migração, você pode usar oSecure Socket Layers (SSL) para criptografar os dados em trânsito enquanto viajam da origem para odestino.

Como o AWS DMS funciona no nível básicoNo nível mais básico, o AWS DMS é um servidor na Nuvem AWS que executa software de replicação.Você cria uma conexão de origem e de destino para informar ao AWS DMS de onde extrair e para ondecarregar. Em seguida, você pode programar uma tarefa que é executada neste servidor para mover osdados. O AWS DMS cria as tabelas e as chaves primárias associados se ainda não existirem no destino.Você pode pré-criar as tabelas de destino manualmente, se preferir. Ou pode usar o AWS SCT para criaralgumas ou todas as tabelas de destino, índices, visualizações, triggers e assim por diante.

O diagrama a seguir ilustra o processo do AWS DMS.

Execute o processo do AWS DMS, do início ao fim

1. Para iniciar um projeto de migração, identifique os armazenamentos de dados de origem e dedestino. Esses armazenamentos de dados podem residir em qualquer um dos mecanismos de dadosmencionados anteriormente.

2. Na origem e no destino, configure os endpoints no AWS DMS que especificam as informaçõesde conexão para os bancos de dados. Os endpoints usam os drivers ODBC apropriados para secomunicar com a origem e o destino.

3. Provisione uma instância de replicação, que é um servidor que o AWS DMS configuraautomaticamente com software de replicação.

Versão da API API versão 2016-01-012

Page 9: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComo o AWS DMS funciona no nível básico

4. Crie uma tarefa de replicação que especifica as tabelas de dados reais a serem migradas e as regrasde transformação de dados a serem aplicadas. O AWS DMS gerencia a execução da tarefa dereplicação e fornece o status no processo de migração.

Para saber mais, consulte:

• Se não estiver familiarizado com o AWS DMS, mas estiver familiarizado com outros serviços da AWS,comece com o Como o AWS Database Migration Service funciona (p. 4). Esta seção mostra emdetalhes os principais componentes do AWS DMS e o processo geral de como configurar e executaruma migração.

• Se desejar alternar mecanismos de banco de dados, a AWS Schema Conversion Tool pode converter oesquema do banco de dados existente, incluindo tabelas, índices e a maior parte do código do aplicativo,para a plataforma de destino.

• Para obter informações sobre os serviços da AWS relacionados que você pode precisar para criar suaestratégia de migração, consulte Produtos de Nuvem AWS.

• Os Amazon Web Services fornecem vários serviços de banco de dados. Para obter orientação sobrequal é o melhor serviço para o seu ambiente, consulte Executar bancos de dados na AWS.

• Para obter uma visão geral de todos os produtos da AWS, consulte O que é a computação em nuvem?

Versão da API API versão 2016-01-013

Page 10: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUma visão detalhada do AWS DMS

Como o AWS Database MigrationService funciona

AWS Database Migration Service (AWS DMS) é um serviço da web que pode ser usado para migrar dadosde um datastore de origem para outro de destino. Esses dois armazenamentos de dados são chamadosde endpoints. Você pode migrar entre endpoints de origem e destino que usam o mesmo mecanismo debanco de dados, como de um banco de dados Oracle para um banco de dados Oracle. Você também podemigrar entre endpoints de origem e destino que usam mecanismos de banco de dados diferentes, como deum banco de dados Oracle para um banco de dados PostgreSQL. O único requisito para usar o AWS DMSé que um dos endpoints deve estar em um serviço da AWS. Não é possível usar o AWS DMS para migrarde um banco de dados no local para outro banco de dados no local.

Para obter mais informações sobre o custo da migração de bancos de dados, consulte a página Definiçãode preços no AWS Database Migration Service.

Use os seguintes tópicos para entender melhor o AWS DMS.

Tópicos• Uma visão detalhada do AWS DMS (p. 4)• Componentes do AWS Database Migration Service (p. 5)• Origens para o AWS Database Migration Service (p. 10)• Destinos para o AWS Database Migration Service (p. 10)• Uso do AWS DMS com outros serviços da AWS (p. 11)

Uma visão detalhada do AWS DMSPara executar uma migração de armazenamento de dados, o AWS DMS se conecta ao armazenamentode dados de origem, lê os dados de origem, formata-os para o consumo do armazenamento de dadosde destino. Em seguida, carrega os dados no armazenamento de dados de destino. A maior parte desseprocesso ocorre na memória, mas grandes transações podem exigir buffer para o disco. Transaçõesarmazenadas em cache e arquivos de log também são gravados no disco.

De maneira detalhada, ao usar o AWS DMS, você faz o seguinte:

• Crie um servidor de replicação.• Crie endpoints de origem e de destino que tenham informações de conexão sobre seus datastores.• Crie uma ou mais tarefas de migração para migrar dados entre os armazenamentos de dados de origem

e de destino.

Uma tarefa pode consistir em três fases principais:

• O carregamento completo de dados existentes• A aplicação de alterações armazenadas em cache• Replicação contínua

Durante uma migração de carga total, onde os dados existentes da origem são movidos para o destino,o AWS DMS carrega os dados das tabelas no armazenamento de dados de origem para as tabelas

Versão da API API versão 2016-01-014

Page 11: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComponentes

no armazenamento de dados de destino. Enquanto o carregamento completo está em andamento, asalterações feitas às tabelas que estão sendo carregadas são armazenadas em cache no servidor dereplicação: essas são as alterações armazenadas em cache. É importante observar que o AWS DMS nãocaptura alterações de uma tabela específica até que o carregamento completo da tabela comece. Emoutras palavras, o ponto onde a captura de alterações começa é diferente para cada tabela individual.

Quando o carregamento completo de uma tabela específica é concluído, o AWS DMS começaimediatamente a aplicar as alterações armazenadas em cache à tabela. Quando todas as tabelastiverem sido carregadas, o AWS DMS começará a coletar as alterações como transações para a fase dareplicação contínua. Após o AWS DMS aplicar todas as alterações armazenadas em cache, as tabelasficam consistentes de maneira transacional. Nesse momento, o AWS DMS entra na fase da replicaçãocontínua, aplicando as alterações como transações.

No início dessa fase, uma lista de pendências de transações costuma causar atrasos entre os bancos dedados de origem e de destino. A migração acaba alcançando um estado estável após trabalhar nessalista de pendências de transações. Nesse momento, você pode desligar suas aplicações, permitir que astransações restantes sejam aplicadas ao destino e atualizar suas aplicações, agora apontando para obanco de dados de destino.

O AWS DMS cria objetos de schema de destino necessários para realizar a migração. Contudo, ele usauma abordagem minimalista e cria somente os objetos necessários para migrar os dados de maneiraeficaz. Ou seja, o AWS DMS cria tabelas, chaves primárias e, em alguns casos, índices únicos, mas nãocria nenhum outro objeto que não seja necessário para migrar os dados da origem efetivamente. Porexemplo, ele não cria índices secundários, restrições de chave não primária ou padrões de dados.

Na maioria dos casos, ao executar uma migração, você também migrará todo ou a maior parte do schemade origem. Se estiver realizando uma migração homogênea (entre dois bancos de dados do mesmo tipode mecanismo), você migrará o schema usando as ferramentas nativas do mecanismo para exportar eimportar o schema em si, sem nenhum dado.

Se a migração for heterogênea (entre dois bancos de dados que usam tipos de mecanismos diferentes),você poderá usar a AWS Schema Conversion Tool (AWS SCT) para gerar um schema de destinocompleto. Se usar a ferramenta, as dependências entre tabelas, como limitações de chaves externas,deverão ser desativadas durante as fases de "carregamento completo" e de "aplicação de alteraçãoarmazenada em cache" da migração. Se o desempenho for um problema, remover ou desabilitar osíndices secundários durante o processo de migração ajudará. Para obter mais informações sobre a AWSSCT, consulte AWS Schema Conversion Tool na documentação da AWS SCT.

Componentes do AWS Database Migration ServiceEsta seção descreve os componentes internos do AWS DMS e como eles funcionam em conjunto pararealizar a migração de dados. Entender os componentes estruturais do AWS DMS pode ajudá-lo a migrardados de forma mais eficiente e fornecer uma melhor compreensão ao solucionar ou investigar problemas.

Uma migração do AWS DMS é composta por três componentes: uma instância de replicação, endpoints deorigem e de destino, e uma tarefa de replicação. Crie uma migração do AWS DMS ao criar a instância dereplicação, os endpoints e as tarefas necessários em uma região da AWS.

Instância de replicação

Em um alto nível, uma instância de replicação do AWS DMS é simplesmente uma instância doAmazon Elastic Compute Cloud (Amazon EC2) gerenciada que hospeda uma ou mais tarefas dereplicação.

A figura a seguir mostra um exemplo de instância de replicação que executa várias tarefas dereplicação associadas.

Versão da API API versão 2016-01-015

Page 12: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComponentes

Uma única instância de replicação pode hospedar uma ou mais tarefas de replicação, de acordo comas características da migração e com a capacidade do servidor de replicação. O AWS DMS forneceuma variedade de instâncias de replicação para que possa escolher a configuração ideal para o seucaso de uso. Para obter mais informações sobre as diversas classes de instâncias de replicação,consulte Seleção da instância de replicação do AWS DMS correta para a migração (p. 60).

O AWS DMS cria a instância de replicação em uma instância do Amazon Elastic Compute Cloud(Amazon EC2). Algumas das classes de instância menores são suficientes para testar o serviço oupara migrações pequenas. Se a migração envolve um grande número de tabelas ou se você pretendeexecutar várias tarefas de replicação simultâneas, considere usar uma das instâncias maiores.Recomendamos essa abordagem porque o AWS DMS pode consumir uma quantidade significativa dememória e de CPU.

Dependendo da classe de instância do Amazon EC2 selecionada, a instância de replicação vem com50 GB ou 100 GB de armazenamento físico de dados. Essa quantidade normalmente é suficiente paraa maioria dos clientes. No entanto, se a migração envolve grandes transações ou um grande volumede alterações de dados, talvez deseje aumentar a alocação de armazenamento de base. A captura dedados de alteração (CDC) pode fazer com que os dados sejam gravados no disco, de acordo com avelocidade com que o destino consegue gravar as alterações.

O AWS DMS fornece alta disponibilidade e suporte a failover usando a implantação Multi-AZ. Em umaimplantação Multi-AZ, o AWS DMS provisiona e mantém automaticamente uma réplica em esperada instância de replicação em outra Zona de disponibilidade. A instância de replicação primária éreplicada em sincronia para a réplica em espera. Se a instância de replicação primária falhar ouparar de responder, a instância em espera retoma qualquer tarefa em execução com o mínimode interrupção. Como a primária está replicando constantemente seu estado para a de espera, aimplantação Multi-AZ implica alguma sobrecarga no desempenho.

Para obter informações mais detalhadas sobre a instância de replicação do AWS DMS, consulteTrabalhar com instância de replicação do AWS DMS (p. 59).

Versão da API API versão 2016-01-016

Page 13: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComponentes

Endpoints

O AWS DMS usa um endpoint para acessar o armazenamento de dados de origem ou de destino. Asinformações de conexão específicas são diferentes, dependendo do seu armazenamento de dados,mas no geral deve-se fornecer as seguintes informações ao criar um endpoint.• Tipo de endpoint – origem ou destino.• Tipo de mecanismo – tipo de mecanismo do banco de dados, como Oracle, Postgres ou Amazon

S3.• Nome do servidor – nome do servidor ou endereço IP, acessível pelo AWS DMS• Porta – número da porta usada para conexões de servidor do banco de dados.• Criptografia – modo SSL, se usado para criptografar a conexão.• Credenciais – nome de usuário e senha para uma conta com os direitos de acesso necessários.

Ao criar um endpoint usando o console do AWS DMS, o console exige um teste de conexão doendpoint. O teste deve ser bem-sucedido antes de usar o endpoint em uma tarefa do DMS. Comoas informações de conexão, os critérios de teste específicos são diferentes para diferentes tipos demecanismos. No geral, o AWS DMS verifica se o banco de dados existe no determinado nome deservidor e porta, e se as credenciais fornecidas podem ser usadas para se conectar ao banco dedados com os privilégios necessários para executar uma migração. Se o teste de conexão for bem-sucedido, o AWS DMS faz download e armazena as informações do esquema, incluindo definiçõesde tabela e definições de chave primária/exclusiva, que podem ser usadas posteriormente durante aconfiguração da tarefa.

Um único endpoint pode ser usado por mais de uma tarefa de replicação. Por exemplo, você podeter dois aplicativos distintos no que diz respeito à lógica hospedados no mesmo banco de dados deorigem que deseja migrar separadamente. Você deve criar duas tarefas de replicação, uma para cadaconjunto de tabelas do aplicativo, mas pode usar o mesmo endpoint do AWS DMS em ambas astarefas.

Personalize o comportamento de um endpoint usando atributos de conexão adicionais. Essesatributos podem controlar vários comportamentos, como detalhes de registro em log, tamanhode arquivo e outros parâmetros. Cada tipo de mecanismo de armazenamento de dados temdiferentes atributos de conexão adicionais disponíveis. Você pode encontrar os atributos de conexãoadicionais específicos para cada armazenamento de dados na seção de origem ou destino dessearmazenamento de dados. Para obter uma lista de datastores de origem e de destino compatíveis,consulte Origens para o AWS Database Migration Service (p. 10) e Destinos para o AWS DatabaseMigration Service (p. 10).

Para obter mais informações detalhadas sobre endpoints do AWS DMS, consulte Trabalhar comendpoints do AWS DMS (p. 86).

Tarefas de replicação

Use uma tarefa de replicação do AWS DMS para mover um conjunto de dados do endpoint de origempara o endpoint de destino. A criação de uma tarefa de replicação é a última etapa necessária antesde iniciar uma migração.

Ao criar uma tarefa de replicação, especifique as seguintes configurações de tarefa:• Instância de replicação – a instância que hospedará e executará a tarefa• Endpoint de origem• Endpoint de destino• Opções do tipo de migração – um tipo de migração pode ser um dos seguintes:

• Carregamento total (migração de dados existentes) – se houver condições para uma interrupçãolonga o suficiente para copiar os dados existentes, esta é uma boa opção. Ela migra somente osdados do seu banco de dados de origem para o seu banco de dados de destino, criando tabelasquando necessário.

Versão da API API versão 2016-01-017

Page 14: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComponentes

• Carregamento total + CDC (migração de dados existentes e replicação de alterações contínuas) –esta opção realiza um carregamento completo de dados enquanto captura alterações na origem.Após o carregamento completo ser concluído, as alterações capturadas serão aplicadas aodestino. Por fim, a aplicação de alterações alcança uma condição estável. Nesse momento, vocêpode desligar as suas aplicações, permitir que as alterações restantes passem até o destino ereiniciar as aplicações apontando para o destino.

• Somente CDC (somente replicação somente de alterações de dados) – em algumas situações,pode ser mais eficiente copiar dados existentes usando um método diferente do AWS DMS. Porexemplo, em uma migração homogênea, utilizar ferramentas de exportação/importação nativaspode ser mais eficaz para o carregamento de dados em massa. Nessa situação, é possível usaro AWS DMS para replicar alterações que começam ao iniciar o carregamento em massa parasincronizar seus bancos de dados de origem e de destino e mantê-los assim.

Para obter uma explicação completa sobre as opções do tipo de migração, consulte Criar umatarefa (p. 201).

• Opções do Target table preparation mode (Modo de preparação da tabela de destino). Para obteruma explicação completa sobre os modos da tabela de destino, consulte Criar uma tarefa (p. 201).• Do nothing (Não executar nenhuma ação) – o AWS DMS pressupõe que as tabelas de destino

estão pré-criadas no destino.• Drop tables on target (Descartar tabelas no destino) – o AWS DMS descarta e recria as tabelas de

destino.• Truncate (Truncar) – se você criou tabelas no destino, o AWS DMS trunca elas antes que a

migração comece. Se não existirem tabelas e você selecionar essa opção, o AWS DMS cria astabelas ausentes.

• Opções do modo de LOB. Para obter uma explicação completa sobre os modos de LOB, consulteConfiguração de suporte a LOB para bancos de dados de origem na tarefa do AWS DMS (p. 221).• Don't include LOB columns (Não incluir colunas de LOB) – as colunas de LOB são excluídas da

migração.• Full LOB mode (Modo LOB total) – migra LOBs completos, independentemente do tamanho.

O AWS DMS migra LOBs por partes, em blocos controlados pelo parâmetro Max LOB size(Tamanho máximo de LOB). Esse modo é mais lento que usar o Limited LOB mode (Modo LOBlimitado).

• Limited LOB mode (Modo LOB limitado) – trunca LOBs de acordo com o valor especificado peloparâmetro Max LOB size (Tamanho máximo de LOB). Esse modo é mais rápido que usar o FullLOB mode (Modo LOB total).

• Table mappings (Mapeamentos de tabela) – indica as tabelas para migração• Data transformations (Transformações de dados) – alteração dos nomes de esquema, tabela e

coluna• validação de dados• Registro em log do CloudWatch

Use a tarefa para migrar dados do endpoint de origem para o endpoint de destino, e o processamentoda tarefa acontece na instância de replicação. Especifique quais tabelas e esquemas serão migradose qualquer processamento especial, como requisitos de registro em log, dados da tabela de controle egerenciamento de erros.

Conceitualmente, uma tarefa de replicação do AWS DMS executa duas funções distintas, comomostrado no diagrama a seguir:

Versão da API API versão 2016-01-018

Page 15: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComponentes

O processo de carregamento total apresenta compreensão direta. Os dados são extraídos da origemem um modo de extração em lote e carregados diretamente no destino. Você pode especificar onúmero de tabelas para extrair e carregar em paralelo no console do AWS DMS em AdvancedSettings (Configurações avançadas).

Para obter mais informações sobre as tarefas do AWS DMS, consulte Trabalho com tarefas do AWSDMS (p. 197).

Replicação contínua ou alteração da captura de dados (CDC)

Também é possível usar uma tarefa do AWS DMS para capturar alterações contínuas noarmazenamento de dados de origem enquanto migra os dados para um destino. O processo decaptura de alterações que o AWS DMS usa ao replicar alterações contínuas de um endpoint deorigem coleta alterações aos logs de banco de dados usando a API nativa do mecanismo do banco dedados.

No processo de CDC, a tarefa de replicação é projetada para transmitir as alterações da origem parao destino, usando buffers na memória para manter os dados em trânsito. Se os buffers na memória seesgotarem por qualquer motivo, a tarefa de replicação repassará alterações pendentes para o Cachede alteração no disco. Isso pode ocorrer, por exemplo, se o AWS DMS estiver capturando alteraçõesda origem mais rápido que a aplicação delas no destino. Nesse caso, você verá a latência de destinoda tarefa exceder a latência de origem da tarefa.

Verifique isso ao navegar até a tarefa no console do AWS DMS e abrir a guia Task Monitoring(Monitoramento de tarefa). Os gráficos CDCLatencyTarget e CDCLatencySource são mostradosna parte inferior da página. Se você tiver uma tarefa que mostra a latência de destino, entãoprovavelmente há algum ajuste no endpoint de destino necessário para aumentar a taxa de aplicação.

A tarefa de replicação também usa armazenamento para logs de tarefa, conforme discutido acima. Oespaço em disco que vem pré-configurado com a instância de replicação normalmente é suficientepara o registro em log e alterações repassadas. Se precisar de espaço adicional em disco, porexemplo, ao usar a depuração detalhada para investigar um problema de migração, é possívelmodificar a instância de replicação para alocar mais espaço.

Migração de código e schema

O AWS DMS não realiza conversão de schema ou de código. É possível usar ferramentas comoOracle SQL Developer, MySQL Workbench ou pgAdmin III para mover o schema se a origem e odestino forem o mesmo mecanismo de banco de dados. Se você deseja converter um esquemaexistente em um mecanismo de banco de dados diferente, use a AWS SCT. Ela pode criar umschema de destino, além de poder gerar e criar um schema inteiro: tabelas, índices, exibições e assimpor diante. Também é possível usar a AWS SCT para converter PL/SQL ou TSQL para PgSQL eoutros formatos. Para obter mais informações sobre a AWS SCT, consulte AWS Schema ConversionTool.

Versão da API API versão 2016-01-019

Page 16: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioOrigens

Sempre que possível, o AWS DMS tenta criar o schema de destino para você. Às vezes, ele nãoconsegue criar o schema; por exemplo, o AWS DMS não cria um schema de destino do Oraclepor motivos de segurança. Para destinos de banco de dados MySQL, é possível usar atributosde conexão extras para o AWS DMS migrar todos os objetos para o banco de dados e o schemaespecificados ou criar cada banco de dados e schema conforme encontra o schema na origem.

Origens para o AWS Database Migration ServiceVocê pode usar os seguintes datastores como endpoints de origem de migração de dados usando o AWSDatabase Migration Service.

Bancos de dados locais e de instância EC2

• Versões do Oracle 10.2 e superior, 11g e até a 12.1, para as edições Enterprise, Standard, StandardOne e Standard Two

• Versões do Microsoft SQL Server 2005, 2008, 2008R2, 2012, 2014 e 2016, para as edições Enterprise,Standard, Workgroup e Developer. As edições Web e Express não são compatíveis.

• MySQL, versões 5.5, 5.6 e 5.7.• MariaDB (compatível como fonte de dados compatível com o MySQL).• PostgreSQL versão 9.4 e superior.• MongoDB versões 2.6.x e 3.x e as posteriores.• SAP Adaptive Server Enterprise (ASE) versões 12.5, 15, 15.5, 15.7, 16 e posteriores.• Versões do Db2 LUW:

• Versão 9.7, todos os Fix Packs são compatíveis.• Versão 10.1, todos os Fix Packs são compatíveis.• Versão 10.5, todos os Fix Packs são compatíveis, exceto Fix Pack 5.

Microsoft Azure

• Banco de dados do SQL Azure.

Bancos de dados de instância Amazon RDS e Amazon S3

• Versões do Oracle 11g (versões 11.2.0.3.v1 e superior) e 12c, para as edições Enterprise, Standard,Standard One e Standard Two.

• Versões do Microsoft SQL Server 2008R2, 2012, 2014 e 2016 para as edições Enterprise, Standard,Workgroup e Developer. As edições Web e Express não são compatíveis.

• MySQL, versões 5.5, 5.6 e 5.7.• MariaDB (compatível como fonte de dados compatível com o MySQL).• PostgreSQL 9.4 e superior. A captura de dados de alteração (CDC) é compatível apenas com as

versões 9.4.9 e superior e 9.5.4 e superior. O parâmetro rds.logical_replication, necessáriopara CDC, é compatível apenas com essas versões e versões superiores.

• Amazon Aurora (compatível como fonte de dados compatível com o MySQL).• Amazon S3.

Destinos para o AWS Database Migration ServiceVocê pode usar os seguintes datastores como endpoints de destino de migração de dados usando o AWSDatabase Migration Service.

Versão da API API versão 2016-01-0110

Page 17: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCom outros serviços da AWS

Bancos de dados locais e de instância Amazon EC2

• Versões do Oracle 10g, 11g, 12c, para as versões Enterprise, Standard, Standard One e Standard Two• Versões do Microsoft SQL Server 2005, 2008, 2008R2, 2012, 2014 e 2016, para as edições Enterprise,

Standard, Workgroup e Developer. As edições Web e Express não são compatíveis.• MySQL, versões 5.5, 5.6 e 5.7• MariaDB (compatível como destino de dados compatível com o MySQL)• PostgreSQL, versões 9.4 e superior• Versões do SAP Adaptive Server Enterprise (ASE) 15, 15.5, 15.7, 16 e posteriores

Bancos de dados da instância do Amazon RDS, Amazon Redshift, Amazon DynamoDB e AmazonS3

• Versões do Oracle 11g (versões 11.2.0.3.v1 e superior) e 12c, para as edições Enterprise, Standard,Standard One e Standard Two

• Versões do Microsoft SQL Server 2008R2, 2012 e 2014, para as edições Enterprise, Standard,Workgroup e Developer. As edições Web e Express não são compatíveis.

• MySQL, versões 5.5, 5.6 e 5.7• MariaDB (compatível como destino de dados compatível com o MySQL)• PostgreSQL, versões 9.4 e superior• Amazon Aurora com compatibilidade do MySQL• Compatibilidade entre Amazon Aurora e PostgreSQL• Amazon Redshift• Amazon S3• Amazon DynamoDB

Uso do AWS DMS com outros serviços da AWSUse o AWS DMS com diversos outros serviços da AWS:

• Use uma instância do Amazon EC2 ou instância de banco de dados do Amazon RDS como destino parauma migração de dados.

• Use a Schema Conversion Tool (AWS SCT) da AWS para converter o esquema de origem e o códigoSQL em um esquema de destino equivalente e código SQL.

• Use o Amazon S3 como um local de armazenamento para os dados ou use-o como uma etapaintermediária ao migrar grandes quantidades de dados.

• Use o AWS CloudFormation para configurar os recursos da AWS para gerenciamento ou implantaçãoda infraestrutura. Por exemplo, você pode provisionar recursos do AWS DMS, como instâncias dereplicação, tarefas, certificados e endpoints. Crie um modelo que descreve todos os recursos da AWSdesejados, e o AWS CloudFormation cuida do provisionamento e da configuração desses recursos paravocê.

Compatibilidade do AWS DMS com o AWSCloudFormationVocê pode provisionar recursos do AWS Database Migration Service usando o AWS CloudFormation.O AWS CloudFormation é um serviço que ajuda você a modelar e configurar recursos da AWS parao gerenciamento ou a implantação da infraestrutura. Por exemplo, você pode provisionar recursos do

Versão da API API versão 2016-01-0111

Page 18: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de um ARN

AWS DMS, como instâncias de replicação, tarefas, certificados e endpoints. Você cria um modelo quedescreve todos os recursos da AWS desejados, e o AWS CloudFormation cuida do provisionamento e daconfiguração desses recursos para você.

Como desenvolvedor ou administrador do sistema, você pode criar e gerenciar coleções desses recursospara usar em tarefas de migração repetitivas ou implantar recursos em sua organização. Para obter maisinformações sobre o AWS CloudFormation, consulte Conceitos do AWS CloudFormation no Guia dousuário do AWS CloudFormation..

O AWS DMS oferece suporte à criação dos seguintes recursos usando o AWS CloudFormation:

• AWS::DMS::Certificate• AWS::DMS::Endpoint• AWS::DMS::EventSubscription• AWS::DMS::ReplicationInstance• AWS::DMS::ReplicationSubnetGroup• AWS::DMS::ReplicationTask

Criação de um nome de recurso da Amazon (ARN)para o AWS DMSSe você usar a AWS CLI ou a API do AWS Database Migration Service para automatizar a migraçãodo banco de dados, será necessário saber trabalhar com um nome de recurso da Amazon (ARN).Os recursos criados no Amazon Web Services são identificados por um ARN, que é um identificadorexclusivo. Se você usar a AWS CLI ou a API do AWS DMS para configurar a migração do banco de dados,deverá fornecer o ARN do recurso com o qual deseja trabalhar.

Um ARN de um recurso do AWS DMS usa a seguinte sintaxe:

arn:aws:dms:<region>:<account number>:<resourcetype>:<resourcename>

Nesta sintaxe:

• <região> é o ID da região da AWS em que o recurso do AWS DMS foi criado, como us-west-2.

A tabela a seguir mostra nomes de regiões da AWS e os valores que você deve usar ao criar um ARN.

Região Nome

Região Ásia-Pacífico (Tóquio) ap-northeast-1

Região da Ásia-Pacífico (Seul) ap-northeast-2

Região da Ásia-Pacífico (Mumbai) ap-south-1

Região Ásia-Pacífico (Cingapura) ap-southeast-1

Região Ásia-Pacífico (Sydney) ap-southeast-2

Região do Canadá (Central) ca-central-1

Região UE (Frankfurt) eu-central-1

Região UE (Irlanda) eu-west-1

Região da UE (Londres) eu-west-2

Versão da API API versão 2016-01-0112

Page 19: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de um ARN

Região Nome

Região América do Sul (São Paulo) sa-east-1

Leste dos EUA (Norte da Virgínia) Região us-east-1

Região do Leste dos EUA (Ohio) us-east-2

Região do Oeste dos EUA (Norte da Califórnia) us-west-1

Região Oeste dos EUA (Oregon) us-west-2

• <número da conta> é o número da conta com os traços omitidos. Para saber o número da sua conta,faça login na sua conta da AWS em http://aws.amazon.com, selecione Minha conta/console e Minhaconta.

• <tiporecurso> é o tipo de recurso do AWS DMS.

A tabela a seguir mostra os tipos de recursos que devem ser usados para criar um ARN para um recursoespecífico do AWS DMS.

Tipo de recurso doAWS DMS

Formato de Nome de região da Amazon (ARN)

Instância de replicação arn:aws:dms:<region>: <account>:rep: <resourcename>

Endpoint arn:aws:dms:<region>:<account>:endpoint: <resourcename>

Tarefa de replicação arn:aws:dms:<region>:<account>:task:<resourcename>

Grupo de sub-rede arn:aws:dms:<region>:<account>:subgrp:<resourcename>

• <nomerecurso> é o nome do recurso atribuído ao recurso do AWS DMS. Esta string é geradaarbitrariamente.

A tabela a seguir mostra exemplos de ARNs de recursos do AWS DMS com uma conta da AWS de123456789012, que foi criada na região Leste dos EUA (Norte da Virgínia) e tem um nome de recurso:

Tipo de recurso Amostra de ARN

Instância de replicação arn:aws:dms:us-east-1:123456789012:rep:QLXQZ64MH7CXF4QCQMGRVYVXAI

Endpoint arn:aws:dms:us-east-1:123456789012:endpoint:D3HMZ2IGUCGFF3NTAXUXGF6S5A

Tarefa de replicação arn:aws:dms:us-east-1:123456789012:task:2PVREMWNPGYJCVU2IBPTOYTIV4

Grupo de sub-rede arn:aws:dms:us-east-1:123456789012:subgrp:test-tag-grp

Versão da API API versão 2016-01-0113

Page 20: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCadastre-se na AWS

Configuração do AWS DatabaseMigration Service

Antes de usar o AWS Database Migration Service (AWS DMS) pela primeira vez, conclua as seguintestarefas:

1. Cadastre-se na AWS (p. 14)2. Criar um usuário do IAM (p. 14)3. Planejamento de migração para o AWS Database Migration Service (p. 16)

Cadastre-se na AWSQuando você se cadastra na Amazon Web Services (AWS), a sua conta é automaticamente cadastradaem todos os serviços da AWS, incluindo o AWS DMS. Você será cobrado apenas pelos serviços que usar.

Com o AWS DMS, você paga apenas pelos recursos que usa. A instância de replicação do AWS DMS quevocê criou ficará ativa (e não executada em um sandbox). Você terá as taxas de utilização padrão do AWSDMS pela instância até que a encerre. Para obter mais informações sobre as taxas de uso do AWS DMS,consulte a página de produtos do AWS DMS. Se for cliente novo da AWS, você poderá começar a usargratuitamente o AWS DMS. Para obter mais informações, consulte Nível gratuito da AWS.

Se fechar a conta da AWS, todos as configurações e recursos do AWS DMS associados à conta serãoexcluídos após dois dias. Esses recursos incluem todas as instâncias de replicação, configuração deendpoint de origem e de destino, tarefas de replicação e certificados SSL. Se após dois dias você decidirusar o AWS DMS novamente, crie novamente os recursos necessários.

Caso você já tenha uma conta da AWS, passe para a próxima tarefa.

Se você ainda não tiver uma conta da AWS, use o procedimento a seguir para criar uma.

Para cadastrar-se na AWS

1. Abra https://aws.amazon.com/ e escolha Create an AWS Account.2. Siga as instruções online.

Observe o número da conta da AWS, porque você precisará dele na próxima tarefa.

Criar um usuário do IAMOs serviços na AWS, como o AWS DMS, exigem que você forneça credenciais no acesso para que sejadeterminado se você tem permissão para acessar seus recursos. O console requer sua senha. Você podecriar chaves de acesso para sua conta da AWS para acessar a interface de linha de comando ou a API.Entretanto, não recomendamos que você acesse a AWS usando as credenciais da sua conta da AWS, esim o AWS Identity and Access Management (IAM). Crie um usuário IAM e depois adicione o usuário aum grupo de IAM com permissões administrativas ou conceda permissões administrativas a esse usuário.Depois você pode acessar o AWS usando um URL especial e credenciais para o usuário IAM.

Versão da API API versão 2016-01-0114

Page 21: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar um usuário do IAM

Se tiver se cadastrado no AWS, mas não criou um usuário do IAM para você mesmo, pode criar umusando o console do IAM.

Para criar um usuário IAM para você mesmo e adicionar o usuário a um grupo de Administradores

1. Use seu endereço de e-mail e senha da conta da AWS para fazer login como Usuário raiz da conta daAWS no console do IAM em https://console.aws.amazon.com/iam/.

Note

Recomendamos que você siga as melhores práticas para utilizar o usuário do IAMAdministrador abaixo e armazene as credenciais do usuário raiz com segurança.Cadastre-se como usuário raiz para executar somente algumas tarefas de gerenciamento deserviços e contas.

2. No painel de navegação do console, escolha Users e Add user.3. Para User name, digite Administrator.4. Marque a caixa de seleção ao lado do acesso do Console de gerenciamento da AWS, selecione

Personalizar senha e digite nova senha de usuário na caixa de texto. Também é possível selecionarRequire password reset (Exigir redefinição de senha) para forçar o usuário a criar uma nova senha napróxima vez em que fizer login.

5. Escolha Próximo: Permissões.6. Na página Set permissions, escolha Add user to group.7. Escolha Criar grupo.8. Na caixa de diálogo Create group (Criar grupo), em Group name (Nome do grupo), digite

Administradores.9. Em Filter policies (Filtrar políticas), marque a caixa de seleção em AWS managed - job function

(Função de trabalho gerenciada pela AWS).10. Na lista de políticas, marque a caixa de seleção AdministratorAccess. A seguir escolha Criar grupo.11. Suporte a lista de grupos, selecione a caixa de seleção para seu novo grupo. Escolha Atualizar caso

necessário, para ver o grupo na lista.12. Escolha Próximo: Análise para ver uma lista de associações de grupos a serem adicionadas ao novo

usuário. Quando você estiver pronto para continuar, selecione Criar usuário.

Você pode usar esse mesmo processo para criar mais grupos e usuários, e conceder aos seus usuáriosacesso aos seus recursos de conta AWS. Para obter informações sobre como usar políticas para restringiras permissões de usuários a funcionalidades específicas da AWS, acesse Access Management e ExamplePolicies.

Para fazer o login como esse novo usuário do IAM, faça o logout fora do AWS e use o seguinte URL, ondeyour_aws_account_id é o número de conta da AWS sem os hifens (por exemplo, se o número de contada AWS for 1234-5678-9012, sua ID de conta da AWS será 123456789012):

https://your_aws_account_id.signin.aws.amazon.com/console/

Insira o nome e a senha de usuário do IAM que você acabou de criar. Quando você está conectado, abarra de navegação exibe "your_user_name @ your_aws_account_id".

Se não quiser que o URL da página de cadastro contenha o ID da sua conta da AWS, crie um alias daconta. No painel do IAM, selecione Customize e digite um alias, como o nome da sua empresa. Para fazero login depois de criar o alias de uma conta, use o seguinte URL.

https://your_account_alias.signin.aws.amazon.com/console/

Versão da API API versão 2016-01-0115

Page 22: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPlanejamento de migração para oAWS Database Migration Service

Para verificar o link de login para usuários do IAM da sua conta, abra o console do IAM e verifique AWSAccount Alias, no painel.

Planejamento de migração para o AWS DatabaseMigration Service

Ao planejar uma migração de banco de dados usando o AWS Database Migration Service, considere oseguinte:

• Você precisará configurar uma rede que conecta seus bancos de dados de origem e de destino a umainstância de replicação do AWS DMS. Isto pode ser uma operação simples como conectar dois recursosdo AWS na mesma VPC como a instância de replicação, ou mais complexa como definir configuraçõespara a conexão de bancos de dados locais a uma instância de banco de dados do Amazon RDSem VPN. Para obter mais informações, consulte Configurações de rede para migração de banco dedados (p. 68)

• Endpoints de origem e destino – é preciso saber quais informações e tabelas do banco de dados deorigem devem ser migradas para o banco de dados de destino. O AWS DMS oferece suporte básicoà migração de schemas, incluindo a criação de tabelas e chaves primárias. No entanto, o AWS DMSnão cria automaticamente índices secundários, chaves estrangeiras, contas de usuário, entre outrascoisas, no banco de dados de destino. Observe que, dependendo do mecanismo de banco de dadosde origem e destino utilizado, pode ser necessário configurar o registro suplementar ou modificaroutras configurações para um banco de dados de origem ou destino. Consulte as seções Origenspara a migração de dados (p. 86) e Destinos para a migração de dados (p. 150) para obter maisinformações.

• Migração de schema/código – O AWS DMS não faz conversão de schemas ou de código. Você podeusar ferramentas como o Oracle SQL Developer, MySQL Workbench, ou pgAdmin III para converterseu schema. Se você deseja converter um schema existente para um mecanismo de banco de dadosdiferente, use a Ferramenta de conversão de esquema da AWS. Ela pode criar um schema de destino,além de poder gerar e criar um schema inteiro: tabelas, índices, exibições e assim por diante. Tambémé possível usar a ferramenta para converter PL/SQL ou TSQL para PgSQL e outros formatos. Para obtermais informações sobre a Ferramenta de conversão de esquema da AWS, consulte AWS SchemaConversion Tool .

• Tipos de dados incompatíveis – alguns tipos de dados precisam ser convertidos em tipos de dadosequivalentes para o banco de dados de destino. Consulte a seção de origem ou de destino de seuarmazenamento de dados para encontrar mais informações sobre os tipos de dados compatíveis.

Versão da API API versão 2016-01-0116

Page 23: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioInício de uma migração de banco de dados

Conceitos básicos do AWS DatabaseMigration Service

O AWS Database Migration Service (AWS DMS) ajuda você a migrar bancos de dados para a AWScom facilidade e segurança. É possível migrar dados de e para os bancos de dados comerciais decódigo aberto mais usados, como Oracle, MySQL e PostgreSQL. O serviço é compatível com migraçõeshomogêneas, como de Oracle para Oracle, e migrações heterogêneas, entre plataformas de banco dedados diferentes, como de Oracle para PostgreSQL ou de MySQL para Oracle.

Para obter informações sobre o custo da migração de banco de dados usando o AWS Database MigrationService, consulte a página de definição de preço do AWS Database Migration Service.

Tópicos• Início de uma migração de banco de dados com o AWS Database Migration Service (p. 17)• Etapa 1: bem-vindo (p. 18)• Etapa 2: criar uma instância de replicação (p. 18)• Etapa 3: especificar endpoints de origem e de destino (p. 23)• Etapa 4: criar uma tarefa (p. 28)• Monitoramento de tarefa (p. 31)

Início de uma migração de banco de dados com oAWS Database Migration Service

É possível começar uma migração de banco de dados de diversas formas. Você pode utilizar o assistentede console do AWS DMS como um guia em cada etapa do processo ou executar cada etapa selecionandoa tarefa adequada no painel de navegação. Você também pode usar o AWS CLI. Para obter informaçõessobre como usar o CLI com o AWS DMS, visite AWS CLI para AWS DMS.

Para usar o assistente, selecione Getting started no painel de navegação no console do AWS DMS. Useo assistente para ajudar a criar a sua primeira migração de dados. Seguindo o processo do assistente,aloque uma instância de replicação que realize todos os processos da migração, especifique um bancode dados de origem e de destino e crie uma tarefa ou um conjunto de tarefas para definir as tabelas e osprocessos de replicação que você deseja usar. Em seguida, o AWS DMS cria a instância de replicação erealiza as tarefas nos dados que estão sendo migrados.

Como alternativa, você pode criar cada componente de uma migração de banco de dados do AWS DMSselecionando os itens no painel de navegação. Para uma migração de banco de dados, faça o seguinte:

• Conclua as tarefas descritas em Configuração do AWS Database Migration Service (p. 14)• Atribua uma instância de replicação que realize todos os processos da migração• Especifique um endpoint de banco de dados de origem e de destino• Crie uma tarefa ou um conjunto de tarefas para definir as tabelas e os processos de replicação que

deseja usar

Versão da API API versão 2016-01-0117

Page 24: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 1: bem-vindo

Etapa 1: bem-vindoSe você começar a migração de banco de dados usando o assistente do console do AWS DMS verá apágina de boas-vindas, que explica o processo de migração de banco de dados usando o AWS DMS.

Como iniciar uma migração de banco de dados na página de boas-vindas do console

• Escolha Avançar.

Etapa 2: criar uma instância de replicaçãoA primeira tarefa da migração de um banco de dados é criar uma instância de replicação com poder dearmazenamento e processamento suficiente para realizar as tarefas que você atribui e migrar dados dobanco de dados de origem para o banco de dados de destino. O tamanho necessário dessa instância variade acordo com a quantidade de dados necessários para migrar e as tarefas que ela deve realizar. Paraobter mais informações sobre as instâncias de replicação, consulte Trabalhar com instância de replicaçãodo AWS DMS (p. 59).

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS. Observeque você também pode realizar esta etapa selecionando Replication instances, no painel de navegação doconsole do AWS DMS, e Create replication instance.

Como criar uma instância de replicação usando o console da AWS

1. No painel de navegação, clique em Replication instances.2. Selecione Criar instância de replicação.

Versão da API API versão 2016-01-0118

Page 25: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 2: criar uma instância de replicação

3. Na página Create replication instance, especifique as informações da instância de replicação. A tabelaa seguir descreve as configurações.

Para esta opção Faça o seguinte

Name Digite um nome para a instância de replicação que contémde 8 a 16 caracteres ASCII imprimíveis (excluindo /,", e@). O nome deve ser exclusivo à sua conta na regiãoque você selecionou. É possível optar por adicionarinteligência ao nome, como incluir a região e a tarefa quevocê está realizando, por exemplo west2-mysql2mysql-instance1.

Description Digite uma breve descrição da instância de replicação.

Instance class Escolha uma classe de instância com a configuraçãonecessária para a migração. Lembre-se de que ainstância deve ter poder de armazenamento, de rede ede processamento suficiente para concluir a migraçãocom êxito. Para obter mais informações sobre comodeterminar a melhor classe de instância para a migração,consulte Trabalhar com instância de replicação do AWSDMS (p. 59).

Versão da API API versão 2016-01-0119

Page 26: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 2: criar uma instância de replicação

Para esta opção Faça o seguinte

Versão do mecanismo de replicação Por padrão, a instância de replicação executa a versãomais recente do software do mecanismo de replicação doAWS DMS. Recomendamos que você aceite esse padrão;no entanto, você pode escolher uma versão do mecanismoanterior, se necessário.

VPC Escolha o Amazon Virtual Private Cloud (Amazon VPC)que deseja usar. Se o seu banco de dados de origeme de destino estão em um VPC, escolha-o. Se o seubanco de dados de origem e de destino estão em VPCsdiferentes, assegure que ambos estejam em sub-redespúblicas e sejam publicamente acessíveis e escolha oVPC onde a instância de replicação deve ficar. A instânciade replicação deve poder acessar os dados no VPC deorigem. Se os bancos de dados de origem e de destinonão estão em um VPC, selecione o VPC onde a instânciade replicação deve ficar.

Multi-AZ Use este parâmetro opcional para criar uma réplica emespera da instância de replicação em outra Zona dedisponibilidade para suporte a failover. Se você pretendeusar captura de dados de alteração (CDC) ou replicaçãocontínua, ative esta opção.

Publicly accessible Escolha esta opção se quiser que a instância de replicaçãoseja acessível pela Internet.

4. Selecione a guia Advanced, mostrada a seguir, para definir valores para configurações de rede ecriptografia, se necessários. A tabela a seguir descreve as configurações.

Versão da API API versão 2016-01-0120

Page 27: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 2: criar uma instância de replicação

Versão da API API versão 2016-01-0121

Page 28: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 2: criar uma instância de replicação

Para esta opção Faça o seguinte

Allocated storage (GB) O armazenamento é consumido principalmentepor arquivos de log e transações armazenadas emcache. Para transações armazenadas em cache, oarmazenamento só é usado quando elas devem sergravadas em disco. Portanto, o AWS DMS não utiliza umaquantia significativa de armazenamento. Veja algumasexceções:

• Tabelas muito grandes que incorrem em uma cargade transação significativa. Carregar uma tabelagrande pode demorar um tempo, então transaçõesarmazenadas em cache têm mais chances de sergravadas em disco durante o carregamento de umatabela grande.

• Tarefas que são configuradas para pausar antes decarregar transações armazenadas em cache. Nessecaso, todas as transações são armazenadas em cacheaté que o carregamento seja concluído para todas astabelas. Com essa configuração, uma boa parte doarmazenamento pode ser consumida por transaçõesarmazenadas em cache.

• Tarefas configuradas com tabelas sendo carregadas noAmazon Redshift. Contudo, essa configuração não é umproblema quando o Amazon Aurora é o destino.

Na maioria dos casos, a alocação padrão dearmazenamento é suficiente. Entretanto, convém prestaratenção em métricas relacionadas ao armazenamento eescalá-lo se achar que você está consumindo mais do quea alocação padrão.

Replication Subnet Group Escolha o grupo de sub-rede de replicação no VPCselecionado onde deseja que instância de replicaçãoseja criada. Se o banco de dados de origem está em umVPC, escolha o grupo de sub-rede que contém o bancode dados de origem como local da instância de replicação.Para obter mais informações sobre grupos de sub-rede dereplicação, consulte Criação de um grupo de sub-rede dereplicação (p. 73).

Availability zone Escolha a Zona de disponibilidade onde o seu banco dedados de origem está.

VPC Security group(s) A instância de replicação é criada em um VPC. Se o bancode dados de origem está em um VPC, selecione o securitygroup de VPC que fornece acesso à instância de banco dedados onde o banco de dados reside.

Versão da API API versão 2016-01-0122

Page 29: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 3: especificar endpoints de origem e de destino

Para esta opção Faça o seguinte

KMS master key Escolha a chave de criptografia a ser usada paracriptografar o armazenamento de replicação e asinformações de conexão. Se você escolher (Default)aws/dms, a chave padrão do AWS Key ManagementService (AWS KMS) associada à sua conta e regiãoserá usada. Uma descrição e o número da sua contaaparecem juntamente com o ARN da chave. Para obtermais informações sobre o uso da chave de criptografia,consulte Configuração de uma chave de criptografia eespecificação de permissões do KMS (p. 47).

5. Especifique as configurações de Manutenção. A tabela a seguir descreve as configurações. Para obtermais informações sobre as configurações de manutenção, consulte Janela de manutenção do AWSDMS (p. 62)

Para esta opção Faça o seguinte

Auto minor version upgrade Selecione para que as atualizações secundárias domecanismo sejam aplicadas automaticamente à instânciade replicação durante a janela de manutenção.

Maintenance window Escolha o período semanal durante o qual pode ocorrer amanutenção do sistema, em UTC (Universal CoordinatedTime).

Padrão: uma janela de 30 minutos selecionadaaleatoriamente a partir de um bloco de tempo de 8 horaspor região, ocorrendo em um dia da semana aleatório.

6. Selecione Create replication instance.

Etapa 3: especificar endpoints de origem e dedestino

Enquanto a instância de replicação é criada, você pode especificar os datastores de origem e de destino.Os datastores de origem e de destino podem estar em uma instância do Amazon Elastic Compute Cloud

Versão da API API versão 2016-01-0123

Page 30: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 3: especificar endpoints de origem e de destino

(Amazon EC2), uma instância do Amazon Relational Database Service (Amazon RDS) ou um banco dedados local.

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS. Observeque você também pode realizar esta etapa selecionando Endpoints, no painel de navegação do consoledo AWS DMS, e Create endpoint. Ao usar o assistente de console, os endpoints de origem e de destinosão criados na mesma página. Quando o assistente de console não é usado, cada endpoint é criadoseparadamente.

Como especificar endpoints do banco de dados de origem ou de destino usando o console daAWS

1. Na página Connect source and target database endpoints, especifique as suas informações deconexão do banco de dados de origem ou de destino. A tabela a seguir descreve as configurações.

Versão da API API versão 2016-01-0124

Page 31: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 3: especificar endpoints de origem e de destino

Para esta opção Faça o seguinte

Endpoint identifier Digite o nome que deseja usar para identificar o endpoint.Talvez você queira incluir o tipo de endpoint no nome,como oracle-origem ou PostgreSQL-destino. Onome deve ser exclusivo para todas as instâncias dereplicação.

Versão da API API versão 2016-01-0125

Page 32: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 3: especificar endpoints de origem e de destino

Para esta opção Faça o seguinte

Source engine e Target engine Escolha o tipo de mecanismo de banco de dados que é oendpoint.

Server name Digite o nome do servidor. Para um banco de dadoslocal, ele pode ser o endereço IP ou o hostnamepúblico. Para uma instância de banco de dados doAmazon RDS, ele pode ser o endpoint (tambémchamado de nome DNS) da instância de banco dedados, como mysqlsrvinst.abcd12345678.us-west-2.rds.amazonaws.com.

Port Digite a porta usada pelo banco de dados.

SSL mode Escolha um modo SSL se você deseja habilitar acriptografia de conexão para esse endpoint. Dependendodo modo selecionado, talvez você seja solicitado afornecer informações de certificado e de certificado doservidor.

User name Digite o nome do usuário com as permissões necessáriaspara permitir a migração de dados. Para obter informaçõessobre as permissões necessárias, consulte a seção desegurança do mecanismo de banco de dados de origemou de destino neste guia do usuário.

Password Digite a senha da conta com as permissões necessárias.Se quiser usar caracteres especiais na senha, como "+" ou"&", coloque a senha inteira entre chaves "{}".

2. Selecione a guia Advanced, mostrada a seguir, para definir valores para string de conexão e chave decriptografia, se necessário. Para testar a conexão do endpoint, selecione Run test.

Versão da API API versão 2016-01-0126

Page 33: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 3: especificar endpoints de origem e de destino

Para esta opção Faça o seguinte

Extra connection attributes Digite os parâmetros de conexão adicional aqui. Paraobter mais informações sobre os atributos de conexãoextra, consulte a seção da documentação de seuarmazenamento de dados.

KMS master key Escolha a chave de criptografia a ser usada paracriptografar o armazenamento de replicação e asinformações de conexão. Se você escolher (Default)aws/dms, a chave padrão do AWS Key ManagementService (AWS KMS) associada à sua conta e regiãoserá usada. Para obter mais informações sobre o usoda chave de criptografia, consulte Configuração de umachave de criptografia e especificação de permissões doKMS (p. 47).

Versão da API API versão 2016-01-0127

Page 34: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 4: criar uma tarefa

Etapa 4: criar uma tarefaCrie uma tarefa para especificar as tabelas a serem migradas, mapear dados usando um schema dedestino e criar tabelas novas no banco de dados de destino. É possível escolher o tipo de migração comoparte da criação de uma tarefa: migrar dados existentes, migrar dados existentes e replicar alteraçõescontínuas ou replicar somente alterações de dados.

Usando o AWS DMS, você pode especificar o mapeamento preciso dos dados entre os bancos de dadosde origem e de destino. Antes de especificar o mapeamento, analise a seção da documentação sobre omapeamento de tipo de dados do banco de dados de origem e de destino.

É possível escolher iniciar uma tarefa assim que terminar de especificar as informações sobre ela napágina Create task ou iniciar a tarefa na página do painel assim que terminar de especificar essasinformações.

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS eespecificado informações sobre a instância de replicação e os endpoints usando o assistente de console.Observe que você também pode realizar esta etapa selecionando Tasks, no painel de navegação doconsole do AWS DMS, e Create task.

Como criar uma tarefa de migração

1. Na página Create Task, especifique as opções de tarefa. A tabela a seguir descreve as configurações.

Versão da API API versão 2016-01-0128

Page 35: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 4: criar uma tarefa

Para esta opção Faça o seguinte

Task name Digite um nome para a tarefa.

Task description Digite uma descrição para a tarefa.

Source endpoint Exibe o endpoint de origem que será utilizado.

Target endpoint Exibe o endpoint de destino que será utilizado.

Replication instance Exibe a instância de replicação que será utilizada.

Migration type Escolha o método de migração que deseja usar. Vocêpode escolher que apenas os dados existentes sejammigrados para o banco de dados de destino ou que asalterações contínuas sejam enviadas para o banco dedados de destino além dos dados migrados.

Start task on create Quando esta opção estiver selecionada, a tarefa começaráassim for criada.

2. Selecione a guia Task Settings, mostrada a seguir, e especifique valores para tabela de destino,suporte a LOB e habilitação de registro. As configurações de tarefa mostradas dependem do valorselecionado de Migration type. Por exemplo, ao selecionar Migrate existing data, as seguintes opçõessão exibidas:

Para esta opção Faça o seguinte

Target table preparation mode Do nothing - os dados e metadados das tabelas de destinonão são alterados.

Drop tables on target - as tabelas são abandonadas enovas tabelas são criadas no lugar.

Truncate - as tabelas são truncadas sem afetar osmetadados delas.

Include LOB columns in replication Don't include LOB columns - as colunas de LOB serãoexcluídas da migração.

Versão da API API versão 2016-01-0129

Page 36: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 4: criar uma tarefa

Para esta opção Faça o seguinteFull LOB mode - migra LOBs completos,independentemente do tamanho. LOBs são migrados porpartes, em blocos controlados de acordo com o tamanho.Este método é mais lento que Limited LOB Mode.

Limited LOB mode - trunca LOBs no "tamanho máximo deLOB". Este método é mais rápido que Full LOB Mode.

Max LOB size (kb) Em Limited LOB Mode, as colunas de LOB queultrapassam o tamanho máximo de LOB são truncadas notamanho de LOB máximo especificado.

Enable logging Habilita o registro pelo Amazon CloudWatch.

Ao selecionar Migrate existing data and replicate, em Migration type, as seguintes opções sãoexibidas:

Para esta opção Faça o seguinte

Target table preparation mode Do nothing - os dados e metadados das tabelas de destinonão são alterados.

Drop tables on target - as tabelas são abandonadas enovas tabelas são criadas no lugar.

Truncate - as tabelas são truncadas sem afetar osmetadados delas.

Versão da API API versão 2016-01-0130

Page 37: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMonitoramento de tarefa

Para esta opção Faça o seguinte

Stop task after full load completes Don't stop - não interrompe a tarefa. Aplica alteraçõesarmazenadas em cache imediatamente e prossegue.

Stop before applying cached changes - interrompe a tarefaantes da aplicação de alterações armazenadas em cache.Isso permitirá que você adicione índices secundários quepodem acelerar a aplicação de alterações.

Stop after applying cached changes - interrompe a tarefaapós as alterações armazenadas em cache terem sidoaplicadas. Isso permitirá que você adicione chavesexternas, triggers, etc., se estiver usando TransactionalApply.

Include LOB columns in replication Don't include LOB columns - as colunas de LOB serãoexcluídas da migração.

Full LOB mode - migra LOBs completos,independentemente do tamanho. LOBs são migrados porpartes, em blocos controlados de acordo com o tamanho.Este método é mais lento que Limited LOB Mode.

Limited LOB mode - trunca LOBs no "tamanho máximo deLOB". Este método é mais rápido que Full LOB Mode.

Max LOB size (kb) Em Limited LOB Mode, as colunas de LOB queultrapassam o tamanho máximo de LOB são truncadas notamanho de LOB máximo especificado.

Enable logging Habilita o registro pelo Amazon CloudWatch.

3. Selecione a guia Table mappings, mostrada a seguir, para definir valores para o mapeamento deschema e o método de mapeamento. Se você escolher Custom, poderá especificar o schema dedestino e valores de tabela. Para obter mais informações sobre o mapeamento de tabela, consulteUso do mapeamento de tabela para especificar as configurações da tarefa (p. 227).

4. Assim que tiver terminado as configurações de tarefa, selecione Create task.

Monitoramento de tarefaSe você escolher Start task on create ao criar uma tarefa, ela começará a migrar os dados imediatamenteassim que Create task for selecionado. É possível exibir informações de monitoramento e estatísticas

Versão da API API versão 2016-01-0131

Page 38: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMonitoramento de tarefa

sobre a sua tarefa escolhendo a tarefa em execução no Console de Gerenciamento da AWS. A capturade tela a seguir mostra as estatísticas de uma tabela de migração de banco de dados. Para obter maisinformações sobre monitoramento, consulte Monitorar tarefas do AWS DMS (p. 242)

Versão da API API versão 2016-01-0132

Page 39: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPermissões do IAM necessárias

Segurança para o AWS DatabaseMigration Service

O AWS Database Migration Service (AWS DMS) usa vários processos para proteger os dados durante amigração. O serviço criptografa o armazenamento usado pela instância de replicação e as informações deconexão do endpoint usando um AWS Key Management Service (KMS) exclusivo à sua conta da AWS. Hásuporte para Secure Sockets Layer (SSL). O AWS Database Migration Service também exigirá que vocêtenha as permissões apropriadas se efetuar login como usuário do AWS Identity and Access Management(IAM).

O VPC baseado no serviço Amazon Virtual Private Cloud (Amazon VPC) que você usa com a suainstância de replicação deve estar associado a um security group com regras que permitam que o tráfegoem todas as portas saia do VPC. Essa abordagem permite a comunicação da instância de replicação comos endpoints do banco de dados de origem e de destino, desde que a entrada correta esteja habilitadanesses endpoints.

Caso queira ver logs de migração de banco de dados, serão necessárias as permissões de logapropriadas do Amazon CloudWatch para a função IAM que está sendo usada.

Tópicos• Permissões do IAM necessárias para o uso do AWS DMS (p. 33)• Criação de funções IAM a serem usadas com o AWS CLI e a API do AWS DMS (p. 36)• Controle de acesso minucioso com o uso de nomes de recursos e tags (p. 40)• Configuração de uma chave de criptografia e especificação de permissões do KMS (p. 47)• Segurança de rede do AWS Database Migration Service (p. 48)• Uso de SSL com o AWS Database Migration Service (p. 49)• Alteração da senha do banco de dados (p. 57)

Permissões do IAM necessárias para o uso doAWS DMS

Será necessário usar determinadas permissões e funções IAM para utilizar o AWS DMS. Se fizer logincomo usuário do IAM e desejar usar o AWS DMS, o administrador da sua conta deverá anexar a políticadiscutida nessa seção ao usuário, grupo ou função do IAM usado para executar o AWS DMS. Para obtermais informações sobre permissões do IAM, consulte o Guia do usuário do IAM.

O seguinte conjunto de permissões fornece acesso ao AWS DMS, além de permissões para determinadasações necessárias de outros serviços da Amazon, como AWS KMS, IAM, Amazon Elastic Compute Cloud(Amazon EC2) e Amazon CloudWatch. O CloudWatch monitora a migração do AWS DMS em tempo reale coleta e monitora métricas que indicam o andamento da migração. É possível usar logs do CloudWatchpara depurar problemas com uma tarefa.

Note

Você pode restringir ainda mais o acesso a recursos do AWS DMS usando a atribuição de tags.Para obter mais informações sobre como restringir o acesso a recursos do AWS DMS usandoatribuição de tags, consulte Controle de acesso minucioso com o uso de nomes de recursos etags (p. 40)

Versão da API API versão 2016-01-0133

Page 40: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPermissões do IAM necessárias

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "*" }

Versão da API API versão 2016-01-0134

Page 41: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPermissões do IAM necessárias

]}

A discriminação dessas permissões pode ajudar você a entender melhor a necessidade de cada uma.

Esta seção é necessária para permitir que o usuário chame as operações de API do AWS DMS.

{ "Effect": "Allow", "Action": "dms:*", "Resource": "*"}

Esta seção é necessária para permitir que o usuário liste suas chaves de KMS disponíveis e o alias deexibição no console. Esta entrada não é necessária quando o KMSkey ARN é conhecido e quando se usaapenas o CLI.

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "*" }

Esta seção é necessária para determinados tipos de endpoints que exigem que uma função ARN sejapassada com o endpoint. Além disso, se as funções necessárias do AWS DMS não forem criadas comantecedência, o console do AWS DMS poderá criar a função. Se todas as funções forem configuradascom antecedência, haverá necessidade de iam:GetRole e iam:PassRole. Para obter mais informaçõessobre funções do , consulte Criação de funções IAM a serem usadas com o AWS CLI e a API do AWSDMS (p. 36).

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "*" }

Esta seção é necessária, pois o AWS DMS precisa criar a instância EC2 e configurar a rede para ainstância de replicação que é criada. Esses recursos existem na conta do cliente, por isso, a capacidadede executar essas ações em nome do cliente é necessária.

{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute",

Versão da API API versão 2016-01-0135

Page 42: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioFunções do IAM para a CLI e a API

"ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "*" }

Esta seção é necessária para permitir que o usuário consiga visualizar métricas de instância de replicação.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "*" }

Esta seção é necessária para permitir que o usuário veja os logs de replicação.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }

Esta seção é necessária ao usar o Redshift como destino. Ele permite que o AWS DMS valide se o clusterdo Redshift está configurado adequadamente para o AWS DMS.

{ "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "*" }

O console do AWS DMS cria várias funções que são automaticamente anexadas à sua conta da AWSquando você o usa. Se você usar o AWS Command Line Interface (AWS CLI) ou a API do AWS DMS paraa migração, será necessário adicionar essas funções à sua conta. Para obter mais informações sobrea adição dessas funções, consulte Criação de funções IAM a serem usadas com o AWS CLI e a API doAWS DMS (p. 36).

Criação de funções IAM a serem usadas com oAWS CLI e a API do AWS DMS

Se você usar o AWS CLI ou a API do AWS DMS para a migração de banco de dados, será necessárioadicionar três funções IAM à sua conta da AWS antes de usar os recursos do AWS DMS. Duas delas sãodms-vpc-role e dms-cloudwatch-logs-role. Se você usa o Amazon Redshift como banco de dadosde destino, também será necessário adicionar a função IAM dms-access-for-endpoint à sua conta daAWS.

Versão da API API versão 2016-01-0136

Page 43: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioFunções do IAM para a CLI e a API

As políticas gerenciadas são atualizadas automaticamente. Se você estiver usando uma políticapersonalizada com as funções IAM, verifique periodicamente se há atualizações para a política gerenciadanesta documentação. Veja os detalhes da política gerenciada usando uma combinação dos comandosget-policy e get-policy-version.

Por exemplo, o seguinte comando get-policy recupera informações na função.

aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

As informações retornadas do comando são as seguintes.

{ "Policy": { "PolicyName": "AmazonDMSVPCManagementRole", "Description": "Provides access to manage VPC settings for AWS managed customer configurations", "CreateDate": "2015-11-18T16:33:19Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPAJHKIGMBQI4AEFFSYO", "DefaultVersionId": "v3", "Path": "/service-role/", "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole", "UpdateDate": "2016-05-23T16:29:57Z" }}

O seguinte comando get-policy-version recupera informações de políticas.

aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v3

As informações retornadas do comando são as seguintes.

{ "PolicyVersion": { "CreateDate": "2016-05-23T16:29:57Z", "VersionId": "v3", "Document": { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*",

Versão da API API versão 2016-01-0137

Page 44: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioFunções do IAM para a CLI e a API

"Effect": "Allow" } ] }, "IsDefaultVersion": true }}

Os mesmos comandos podem ser usados para obter informações sobre as políticas gerenciadasAmazonDMSCloudWatchLogsRole e AmazonDMSRedshiftS3Role.

Note

Se você usa o console do AWS DMS para a migração do seu banco de dados, essas funções sãoadicionadas à sua conta da AWS automaticamente.

Os procedimentos a seguir criam as funções IAM dms-vpc-role, dms-cloudwatch-logs-role edms-access-for-endpoint.

Como criar a função IAM dms-vpc-role para uso com o AWS CLI ou a API do AWS DMS

1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo comodmsAssumeRolePolicyDocument.json.json.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ]}

Crie a função usando o AWS CLI, utilizando o seguinte comando.

aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json

2. Anexe a política AmazonDMSVPCManagementRole a dms-vpc-role usando o seguinte comando.

aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

Como criar a função IAM dms-cloudwatch-logs-role para uso com o AWS CLI ou a API doAWS DMS

1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo comodmsAssumeRolePolicyDocument2.json.json.

Versão da API API versão 2016-01-0138

Page 45: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioFunções do IAM para a CLI e a API

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ]}

Crie a função usando o AWS CLI, utilizando o seguinte comando.

aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json

2. Anexe a política AmazonDMSCloudWatchLogsRole a dms-cloudwatch-logs-role usando oseguinte comando.

aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole

Se você usa o Amazon Redshift como banco de dados de destino, será necessário criar a função IAMdms-access-for-endpoint para fornecer acesso ao Amazon S3 (S3).

Como criar a função IAM dms-access-for-endpoint para uso com o Amazon Redshift comobanco de dados de destino

1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo comodmsAssumeRolePolicyDocument3.json.json.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "2", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" }

Versão da API API versão 2016-01-0139

Page 46: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioControle de acesso minucioso

]}

2. Crie a função usando o AWS CLI, utilizando o seguinte comando.

aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json

3. Anexe a política AmazonDMSRedshiftS3Role à função dms-access-for-endpoint usando oseguinte comando.

aws iam attach-role-policy --role-name dms-access-for-endpoint \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role

Agora, as políticas do IAM estão prontas para usar o AWS CLI ou a API AWS DMS.

Controle de acesso minucioso com o uso de nomesde recursos e tags

Você pode usar os nomes e as tags de recursos para gerenciar o acesso a recursos do AWS DMS. Parafazer isso, defina a ação permitida ou inclua instruções condicionais em políticas do IAM.

Uso de nomes de recursos para controle de acessoVocê pode criar uma conta de usuário do IAM e atribuir uma política com base no Nome de recurso da(ARN) do recurso do AWS DMS.

A seguinte política nega o acesso à instância de replicação do AWS DMS com o ARN arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" } ]}

Por exemplo, os seguintes comandos podem falhar quando a política está em vigor:

$ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV"

Versão da API API versão 2016-01-0140

Page 47: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de nomes de recursos para controle de acesso

A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV

$ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV"

A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV

Você também pode especificar políticas do IAM para limitar o acesso a endpoints do AWS DMS e tarefasde replicação.

A seguinte política limita o acesso a um endpoint do AWS DMS usando o ARN do endpoint:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" } ]}

Por exemplo, os seguintes comandos podem falhar quando a política que usa o ARN do endpoint está emvigor:

$ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX"

A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX

$ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX"

A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX

A seguinte política limita o acesso a uma tarefa do AWS DMS usando o ARN da tarefa:

{ "Version": "2012-10-17", "Statement": [ {

Versão da API API versão 2016-01-0141

Page 48: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de tags para controle de acesso

"Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT" } ]}

Por exemplo, os seguintes comandos podem falhar quando a política que usa o ARN da tarefa está emvigor:

$ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT"

A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT

Uso de tags para controle de acessoO AWS DMS define um conjunto de pares comuns de chave/valor que estão disponíveis para usoem políticas definidas pelo cliente, sem requisitos adicionais de atribuição em tag. Para obter maisinformações sobre como atribuir recursos do AWS DMS em tags, consulte Marcação de recursos no AWSDatabase Migration Service (p. 257).

Seguem as tags padrão disponíveis para uso com o AWS DMS:

• aws: CurrentTime – Representa a data e a hora da solicitação, o que permite a restrição de acesso combase em critérios temporais.

• aws: EpochTime – Esta tag é semelhante à tag aws: CurrentTime, acima, exceto pelo fato de que a horaatual é representada como o número de segundos após o Unix Epoch.

• aws: MultiFactorAuthPresent – Esta é uma tag booleana que indica se a solicitação foi assinada pormeio de autenticação multifator.

• aws: MultiFactorAuthAge – Concede acesso à duração do token de autenticação multifator (emsegundos).

• aws:principaltype - Concede acesso ao tipo de entidade principal (usuário, conta, usuário federado, etc.)para a solicitação atual.

• aws: SourceIp - Representa o endereço IP de origem para o usuário emissor da solicitação.• aws: UserAgent – Fornece informações sobre o aplicativo cliente que solicita um recurso.• aws: userid – Fornece acesso ao ID do usuário que emite a solicitação.• aws: username – Fornece acesso ao nome do usuário que emite a solicitação.• dms:InstanceClass – Concede acesso ao tamanho da computação dos hosts de instância de replicação.• dms:StorageSize - Concede acesso ao tamanho do volume de armazenamento (em GB).

Você também pode definir suas próprias tags. Tags definidas pelo cliente são simples pares de chave/valorque persistem no serviço de Atribuição de tags da AWS e que podem ser adicionados a recursos do AWSDMS, incluindo instâncias de replicação, endpoints e tarefas. Essas tags são vinculadas por instruções"Condicionais" do IAM em políticas, e são referenciadas com o uso de uma tag condicional específica. Aschaves das tags têm o prefixo "dms", o tipo de recurso e o prefixo "tag". Segue o formato da tag:

Versão da API API versão 2016-01-0142

Page 49: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de tags para controle de acesso

dms:{resource type}-tag/{tag key}={tag value}

Por exemplo, suponha que você queira definir uma política que permita apenas que uma chamadade API funcione em uma instância de replicação que contém a tag "stage = production". A seguinteinstrução·condicional associaria um recurso com a tag específica:

"Condition":{ "streq": { "dms:rep-tag/stage":"production" }}

Você pode adicionar a seguinte tag a uma instância de replicação que se associe a esta condição depolítica:

stage production

Além das tags já atribuídas a recursos do AWS DMS, as políticas também podem ser escritas para limitaras chaves e os valores de tags que possam ser aplicados a determinado recurso. Neste caso, o prefixo detag seria "req".

Por exemplo, a seguinte instrução de política pode limitar as tags que um usuário pode atribuir adeterminado recurso a uma lista específica de valores permitidos:

"Condition":{ "streq": { "dms:req-tag/stage": [ "production", "development", "testing" ] }}

Os seguintes exemplos de políticas limitam o acesso a um recurso do AWS DMS com base nas tags derecursos.

A seguinte política limita o acesso a uma instância de replicação em que o valor da tag é "Desktop", e achave de tags é "Env":

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:rep-tag/Env": [ "Desktop" ] } } } ]

Versão da API API versão 2016-01-0143

Page 50: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de tags para controle de acesso

}

Os comandos a seguir podem funcionar ou falhar de acordo com a política do IAM que restringe o acessoquando o valor da tag é "Desktop" e a chave de tags é "Env":

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --endpoint-url http://localhost:8000 { "TagList": [ { "Value": "Desktop", "Key": "Env" } ]}

$ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN"A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN"

A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tags Key=CostCenter,Value=1234

A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tag-keys Env

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

A seguinte política limita o acesso a um endpoint do AWS DMS em que o valor da tag é "Desktop", e achave de tags é "Env":

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*"

Versão da API API versão 2016-01-0144

Page 51: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de tags para controle de acesso

], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:endpoint-tag/Env": [ "Desktop" ] } } } ]}

Os comandos a seguir podem funcionar ou falhar de acordo com a política do IAM que restringe o acessoquando o valor da tag é "Desktop" e a chave de tags é "Env":

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I{ "TagList": [ { "Value": "Desktop", "Key": "Env" } ]}

$ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I"

A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I"

A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tags Key=CostCenter,Value=1234

A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tag-keys Env

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

Versão da API API versão 2016-01-0145

Page 52: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de tags para controle de acesso

A seguinte política limita o acesso a uma tarefa de replicação em que o valor da tag é "Desktop", e a chavede tags é "Env":

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:task-tag/Env": [ "Desktop" ] } } } ]}

Os comandos a seguir podem funcionar ou falhar de acordo com a política do IAM que restringe o acessoquando o valor da tag é "Desktop" e a chave de tags é "Env":

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3{ "TagList": [ { "Value": "Desktop", "Key": "Env" } ]}

$ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3"

A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

$ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tags Key=CostCenter,Value=1234

A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

$ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tag-keys Env

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform:

Versão da API API versão 2016-01-0146

Page 53: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfiguração de uma chave de criptografia

dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

Configuração de uma chave de criptografia eespecificação de permissões do KMS

O AWS DMS criptografa o armazenamento usado por uma instância de replicação e as informações deconexão do endpoint. Para criptografar o armazenamento usado por uma instância de replicação, o AWSDMS usa uma chave do AWS Key Management Service (KMS) exclusiva à sua conta da AWS. É possívelvisualizar e gerenciar essa chave com o KMS. Você pode usar a chave padrão do KMS na sua conta(aws/dms) ou criar uma chave personalizada do KMS. Se você tiver uma chave de criptografia existentedo KMS, também será possível usá-la para criptografar.

A chave padrão do KMS (aws/dms) é criada quando você executa uma instância de replicação pelaprimeira vez e não seleciona uma chave mestra personalizada do KMS na seção Advanced, na páginaCreate Replication Instance. Se você usar a chave padrão do KMS, as únicas permissões que deverão serconcedidas à conta de usuário do IAM que você está usando para a migração são kms:ListAliasese kms:DescribeKey. Para obter mais informações sobre o uso da chave padrão do KMS, consultePermissões do IAM necessárias para o uso do AWS DMS (p. 33).

Para usar uma chave personalizada do KMS, atribua permissões a ela usando uma das seguintes opções.

• Adicione a conta de usuário do IAM usada para a migração como administrador da chave/usuário dachave personalizada do KMS. Isso garantirá que as permissões necessárias do KMS sejam concedidasà conta de usuário do IAM. Observe que essa ação é uma adição às permissões do IAM que vocêdeve conceder à conta de usuário do IAM para usar o AWS DMS. Para obter mais informações sobre aconcessão de permissões a um usuário de chave, consulte Allow Key Users to Use the CMK.

• Se você não quiser adicionar a conta de usuário do IAM como usuário administrador da chave/usuárioda chave personalizada do KMS, adicione as seguintes permissões extras às permissões do IAM quedevem ser concedidas à conta de usuário do IAM para usar o AWS DMS.

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

O AWS DMS não funciona com aliases de chave do KMS, mas é possível usar o Nome de recurso daAmazon (ARN) da chave do KMS para especificar as informações dela. Para obter mais informaçõessobre criar suas próprias chaves do KMS e dar acesso aos usuários a uma delas, consulte o Guia dodesenvolvedor do KMS.

Se você não especificar um identificador de chave do KMS, o AWS DMS usará a chave de criptografiapadrão. O KMS cria a chave de criptografia padrão do AWS DMS para a sua conta da AWS. A conta daAWS tem uma chave de criptografia padrão diferente para cada região da AWS.

Versão da API API versão 2016-01-0147

Page 54: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSegurança de rede

Para gerenciar as chaves do KMS usadas para criptografar os recursos do AWS DMS, use o KMS. Paraencontrar o KMS no Console de Gerenciamento da AWS, selecione Identity & Access Management,na página inicial do console, e Encryption Keys, no painel de navegação. O KMS combina hardwaree software seguros e altamente disponíveis para fornecer um sistema de gerenciamento de chavecom escalonamento para a nuvem. Usando o KMS, é possível criar chaves de criptografia e definir aspolíticas que controlam como elas podem ser usadas. Os KMS é compatível com o AWS CloudTrail, oque possibilita a auditoria do uso de chaves para verificar se elas estão sendo usadas adequadamente.As chaves do KMS podem ser usadas em combinação com o AWS DMS e serviços compatíveis da AWS,como Amazon RDS, Amazon Simple Storage Service (Amazon S3), Amazon Elastic Block Store (AmazonEBS) e Amazon Redshift.

Assim que você criar os seus recursos do AWS DMS com a chave do KMS, não será possível alterara chave de criptografia desses recursos. Não se esqueça de determinar os requisitos da sua chave decriptografia antes de criar os recursos do AWS DMS.

Segurança de rede do AWS Database MigrationService

Os requisitos de segurança da rede que você cria ao usar o AWS Database Migration Service dependemde como você a configura. As regras gerais de segurança de rede do AWS DMS são as seguintes:

• A instância de replicação deve ter acesso aos endpoints de origem e de destino. O security group dainstância de replicação deve ter Network ACL ou regras que permitam a saída da instância da porta dobanco de dados para os endpoints do banco de dados.

• Os endpoints de banco de dados devem incluir regras de Network ACLs e security group que permitamo acesso de entrada a partir da instância de replicação. Isso pode ser feito usando o security group dainstância de replicação, o endereço IP privado, o endereço IP público ou o endereço público do gatewayNAT, dependendo da sua configuração.

• Se a sua rede usa um túnel de VPN, a instância EC2 que atua como gateway NAT deve usar umsecurity group que tenha regras que permitam que a instância de replicação envie tráfego através dela.

Por padrão, o security group de VPC usado pela instância de replicação do AWS DMS tem regras quepermitem a saída para 0.0.0.0/0 em todas as portas. Se você modificá-lo ou usar o seu próprio, a saídadeverá, no mínimo, ser permitida para os endpoints de origem e de destino nas respectivas portas debanco de dados.

Cada configuração de rede que pode ser usada para migrar bancos de dados exige considerações desegurança específicas:

• Configuração com todos os componentes de migração de banco de dados em um VPC (p. 68) — osecurity group usado pelos endpoints deve permitir a entrada na porta do banco de dados da instânciade replicação. Confirme se o security group usado pela instância de replicação tem entrada para osendpoints ou crie uma regra no security group usado pelos endpoints que permita ao endereço IPprivado acessar a instância de replicação.

• Configuração com dois VPCs (p. 69) — o security group usado pela instância de replicação deve teruma regra para o intervalo de VPC e a porta de banco de dados no banco de dados.

• Configuração de uma rede para um VPC usando o AWS Direct Connect ou uma VPN (p. 69) — umtúnel de VPN permitindo que o tráfego passe do VPC para uma VPN local. Nessa configuração, o VPCinclui uma regra de roteamento que envia o tráfego destinado a um endereço IP ou intervalo específicopara um host que pode conectar o tráfego do VPC com a VPN local. Nesse caso, o host NAT incluisuas próprias configurações de security group, que devem permitir o tráfego do endereço IP privado dainstância de replicação ou do security group para a instância NAT.

Versão da API API versão 2016-01-0148

Page 55: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioComo usar o SSL

• Configuração de uma rede para um VPC usando a Internet (p. 70) — o security group do VPCdeve incluir regras de roteamento que enviem o tráfego não destinado ao VPC para o gateway daInternet. Nessa configuração, a conexão ao endpoint parecerá vir do endereço IP público na instância dereplicação.

• Configuração com uma instância de banco de dados do Amazon RDS que não está em um VPC parauma instância de banco de dados que está em um VPC usando ClassicLink (p. 70) — quando ainstância de banco de dados de origem ou de destino do Amazon RDS não é um VPC e não compartilhaum security group com o VPC onde a instância de replicação está, é possível configurar um servidor deproxy e usar o ClassicLink para conectar os bancos de dados de origem e de destino.

• O endpoint de origem está fora do VPC usado pela instância de replicação e usa um gateway NAT)— você pode configurar um gateway de conversão de endereços de rede (NAT) usando um únicoEndereço IP elástico ligado a uma única interface de rede elástica, que receberá um identificador NAT(nat-#####). Se o VPC incluir uma rota padrão para o gateway NAT em vez do gateway da Internet,a instância de replicação parecerá entrar em contato com o endpoint do banco de dados usando oendereço IP público do gateway da Internet. Nesse caso, a entrada para o endpoint do banco de dadosfora do VPC deve permitir a entrada do endereço NAT em vez do endereço IP público da instância dereplicação.

Uso de SSL com o AWS Database MigrationService

É possível criptografar conexões para endpoints de origem e de destino usando Secure Sockets Layer(SSL). Para isso, você pode usar o AWS DMS Management Console ou a API do AWS DMS para atribuirum certificado a um endpoint. O console do AWS DMS também pode ser usado para gerenciar os seuscertificados.

Nem todos os bancos de dados usam SSL da mesma forma. O Amazon Aurora com compatibilidade doMySQL utiliza o nome de servidor, o endpoint da instância primária no cluster, como endpoint para SSL.Um endpoint do Amazon Redshift já usa uma conexão SSL e não requer uma configuração de conexãoSSL feita pelo AWS DMS. Um endpoint do Oracle exige etapas adicionais. Para obter mais informações,consulte Suporte SSL para um endpoint do Oracle (p. 53).

Tópicos• Limitações no uso de SSL com o AWS Database Migration Service (p. 50)• Gerenciamento de certificados (p. 51)• Habilitação de SSL para um endpoint de SQL Server ou PostgreSQL compatível com

MySQL (p. 51)• Suporte SSL para um endpoint do Oracle (p. 53)

Para atribuir um certificado a um endpoint, forneça o certificado raiz ou a cadeia de certificados deCA intermediários que levam à raiz (como um pacote de certificados), que foi usada para cadastrar ocertificado SSL do servidor implementado ao seu endpoint. Os certificados só são aceitos como arquivosX509 com formato PEM. Ao importar um certificado, você recebe o Nome de recurso da Amazon (ARN),que pode ser usado para especificar o certificado para um endpoint. Se você usa o Amazon RDS, baixeo CA raiz e o pacote de certificados fornecidos pelo Amazon RDS em https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem.

É possível escolher dentre vários modos SSL para usar na verificação de certificado SSL.

• none – a conexão não é criptografada. Esta opção não é segura, mas exige menos custos indiretos.• exige – A conexão é criptografada usando SSL (TLS), mas nenhuma verificação de CA é feita. Esta

opção é mais segura e exige mais custos indiretos.

Versão da API API versão 2016-01-0149

Page 56: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioLimitações no uso de SSL com oAWS Database Migration Service

• verify-ca – a conexão é criptografada. Esta opção é mais segura e exige mais custos indiretos. Estaopção verifica o certificado do servidor.

• verify-full – a conexão é criptografada. Esta opção é mais segura e exige mais custos indiretos. Estaopção verifica o certificado do servidor e se o hostname do servidor corresponde ao hostname doatributo do certificado.

Nem todos os modos SSL funcionam com todos os endpoints de banco de dados. A tabela a seguir mostraos modos SSL que são suportados por cada mecanismo de banco de dados.

Mecanismo de banco dedados

none require verify-ca verify-full

MySQL/MariaDB/Amazon Aurora MySQL

Padrão Não suportado Compatível Compatível

Microsoft SQL Server Padrão Compatível Não suportado Compatível

PostgreSQL Padrão Compatível Compatível Compatível

Amazon Redshift Padrão SSL não ativado SSL não ativado SSL não ativado

Oracle Padrão Não suportado Compatível Não suportado

SAP ASE Padrão SSL não ativado SSL não ativado Compatível

MongoDB Padrão Compatível Não suportado Compatível

Db2 LUW Padrão Não suportado Compatível Não suportado

Limitações no uso de SSL com o AWS DatabaseMigration Service• Não há suporte para conexões SSL a endpoints de destino do Amazon Redshift. O AWS DMS usa um

bucket do S3 para transferir dados para o banco de dados do Redshift. Por padrão, essa transmissão écriptografada pelo Amazon Redshift.

• Os limites de tempo do SQL podem ocorrer enquanto tarefas de CDC são executadas com endpointsdo Oracle com SSL habilitado. Se você tiver esse problema, em que contadores de CDC nãorefletem os números esperados, defina o parâmetro MinimumTransactionSize, da seçãoChangeProcessingTuning das configurações de tarefa, como um valor menor, começando com umvalor baixo como 100. Para obter mais informações sobre o parâmetro MinimumTransactionSize,consulte Configurações de ajuste de processamento de alterações (p. 215).

• Os certificados só podem ser importados nos formatos .PEM e .SSO (Oracle Wallet).• Se o seu certificado SSL do servidor estiver assinado por um CA intermediário, garanta que a cadeia

de certificação completa, que vai do CA intermediário até o CA raiz, seja importada como um únicoarquivo .PEM.

• Se você estiver usando certificados autoassinados no servidor, escolha require como modo SSL.O modo SSL require confia implicitamente no certificado SSL do servidor e não tentará validar se ocertificado foi assinado por um CA.

Versão da API API versão 2016-01-0150

Page 57: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioGerenciamento de certificados

Gerenciamento de certificadosÉ possível usar o console do DMS para visualizar e gerenciar certificados SSL. Você também podeimportar os certificados usando o console do DMS.

Habilitação de SSL para um endpoint de SQL Serverou PostgreSQL compatível com MySQLÉ possível adicionar uma conexão SSL a um endpoint recém-criado ou existente.

Como criar um endpoint do AWS DMS com SSL

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS Database Migration Service.

Note

Se você estiver conectado como usuário do AWS Identity and Access Management(IAM), deverá ter as permissões apropriadas para acessar o AWS DMS. Para obter maisinformações sobre as permissões necessárias para a migração de banco de dados, consultePermissões do IAM necessárias para o uso do AWS DMS (p. 33).

2. No painel de navegação, escolha Certificates.3. Selecione Import Certificate.4. Carregue o certificado que deseja usar para criptografar a conexão a um endpoint.

Note

Também é possível carregar um certificado usando o console do AWS DMS ao criar oumodificar um endpoint, selecionando Add new CA certificate, na página Create databaseendpoint.

5. Crie um endpoint conforme descrito em Etapa 3: especificar endpoints de origem e de destino (p. 23)

Como modificar um endpoint existente do AWS DMS para usar SSL:

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS Database Migration Service.

Versão da API API versão 2016-01-0151

Page 58: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioHabilitação de SSL para um endpoint de SQL

Server ou PostgreSQL compatível com MySQL

Note

Se você estiver conectado como usuário do AWS Identity and Access Management(IAM), deverá ter as permissões apropriadas para acessar o AWS DMS. Para obter maisinformações sobre as permissões necessárias para a migração de banco de dados, consultePermissões do IAM necessárias para o uso do AWS DMS (p. 33).

2. No painel de navegação, escolha Certificates.3. Selecione Import Certificate.4. Carregue o certificado que deseja usar para criptografar a conexão a um endpoint.

Note

Também é possível carregar um certificado usando o console do AWS DMS ao criar oumodificar um endpoint selecionando Add new CA certificate, na página Create databaseendpoint.

5. No painel de navegação, selecione Endpoints, escolha o endpoint que você deseja modificar eselecione Modify.

6. Escolha um SSL mode.

Se você escolher o modo verify-ca ou verify-full, deverá especificar o CA certificate que deseja usar,conforme mostrado a seguir.

7. Selecione Modify.8. Quando o endpoint tiver sido modificado, selecione-o e escolha Test connection para determinar se a

conexão SSL está funcionando.Versão da API API versão 2016-01-01

52

Page 59: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSuporte SSL para um endpoint do Oracle

Após criar os endpoints de origem e de destino, crie uma tarefa que os use. Para obter mais informaçõessobre a criação de uma tarefa, consulte Etapa 4: criar uma tarefa (p. 28).

Suporte SSL para um endpoint do OracleOs endpoints do Oracle no AWS DMS são compatíveis com os modos SSL none e verify-ca. Para usarSSL com um endpoint do Oracle, o Oracle Wallet deve ser carregado no endpoint, em vez de nos arquivosde certificado .pem.

Tópicos• Uso de um certificado existente para SSL no Oracle (p. 53)• Uso de um certificado autoassinado para SSL no Oracle (p. 54)

Uso de um certificado existente para SSL no OraclePara usar uma instalação cliente existente do Oracle e criar o arquivo Oracle Wallet a partir de um arquivode certificado CA, siga as seguintes etapas.

Como usar uma instalação cliente existente do Oracle para SSL no Oracle com o AWS DMS

1. Defina a variável do sistema ORACLE_HOME como local do seu diretório dbhome_1, executando oseguinte comando:

prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1

2. Adicione $ORACLE_HOME/lib à variável do sistema LD_LIBRARY_PATH.

prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

3. Crie um diretório para o Oracle Wallet em $ORACLE_HOME/ssl_wallet.

prompt>mkdir $ORACLE_HOME/ssl_wallet

4. Coloque o arquivo .pem de certificado CA no diretório ssl_wallet. Os clientes do Amazon RDS podembaixar os certificados CA do RDS em https://s3.amazonaws.com/rds-downloads/rds-ca-2015-root.pem.

5. Execute os seguintes comandos para criar o Oracle Wallet:

prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only

prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert –cert $ORACLE_HOME/ssl_wallet/ca-cert.pem -auto_login_only

Ao concluir as etapas anteriores, é possível importar o arquivo wallet com a API ImportCertificate,especificando o parâmetro certificate-wallet. Em seguida, use o certificado wallet importado ao selecionarverify-ca como modo SSL ao criar ou modificar o seu endpoint do Oracle.

Versão da API API versão 2016-01-0153

Page 60: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSuporte SSL para um endpoint do Oracle

Note

Oracle Wallets são arquivos binários. O AWS DMS aceita esses arquivos da forma como estão.

Uso de um certificado autoassinado para SSL no OraclePara usar um certificado autoassinado para SSL no Oracle, faça o seguinte.

Como usar um certificado autoassinado para SSL no Oracle com o AWS DMS

1. Crie um diretório que será usado para trabalhar com o certificado autoassinado.

mkdir <SELF_SIGNED_CERT_DIRECTORY>

2. Altere para o diretório que você criou na etapa anterior.

cd <SELF_SIGNED_CERT_DIRECTORY>

3. Crie uma chave raiz.

openssl genrsa -out self-rootCA.key 2048

4. Autoassine um certificado raiz usando a chave criada na etapa anterior.

openssl req -x509 -new -nodes -key self-rootCA.key -sha256 -days 1024 -out self-rootCA.pem

5. Crie um diretório do Oracle Wallet para o banco de dados do Oracle.

mkdir $ORACLE_HOME/self_signed_ssl_wallet

6. Crie um novo Oracle Wallet.

orapki wallet create -wallet $ORACLE_HOME/self_signed_ssl_wallet -pwd <password> -auto_login_local

7. Adicione o certificado raiz ao Oracle Wallet.

orapki wallet add -wallet $ORACLE_HOME/self_signed_ssl_wallet -trusted_cert -cert self-rootCA.pem -pwd <password>

8. Liste os conteúdos do Oracle Wallet. A lista deve incluir o certificado raiz.

orapki wallet display -wallet $ORACLE_HOME/self_signed_ssl_wallet

9. Gere o Certificate Signing Request (CSR - Solicitação de assinatura de certificado) usando o utilitárioORAPKI.

orapki wallet add -wallet $ORACLE_HOME/self_signed_ssl_wallet -dn "CN=dms" -keysize 2048 -sign_alg sha256 -pwd <password>

10. Execute o seguinte comando.

openssl pkcs12 -in ewallet.p12 -nodes -out nonoracle_wallet.pem

11. Coloque "dms" como o nome comum.Versão da API API versão 2016-01-01

54

Page 61: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSuporte SSL para um endpoint do Oracle

openssl req -new -key nonoracle_wallet.pem -out certrequest.csr

12. Obtenha a assinatura do certificado.

openssl req -noout -text -in self-signed-oracle.csr | grep -i signature

13. Se a saída da etapa 12 for sha256WithRSAEncryption, execute o código a seguir.

openssl x509 -req -in self-signed-oracle.csr -CA self-rootCA.pem -CAkey self-rootCA.key -CAcreateserial -out self-signed-oracle.crt -days 365 -sha256

14. Se a saída da etapa 12 for md5WithRSAEncryption, execute o código a seguir.

openssl x509 -req -in certrequest.csr -CA self-rootCA.pem -CAkey self-rootCA.key -CAcreateserial -out certrequest.crt -days 365 -sha256

15. Adicione o certificado à carteira.

orapki wallet add -wallet $ORACLE_HOME/self_signed_ssl_wallet -user_cert -cert certrequest.crt -pwd <password>

16. Configure o arquivo sqlnet.ora ($ORACLE_HOME/network/admin/sqlnet.ora).

WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = <ORACLE_HOME>/self_signed_ssl_wallet) ) )

SQLNET.AUTHENTICATION_SERVICES = (NONE)SSL_VERSION = 1.0SSL_CLIENT_AUTHENTICATION = FALSESSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)

17. Interrompa o ouvinte do Oracle.

lsnrctl stop

18. Adicione entradas para SSL no arquivo listener.ora ($ORACLE_HOME/network/admin/listener.ora).

SSL_CLIENT_AUTHENTICATION = FALSEWALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = <ORACLE_HOME>/self_signed_ssl_wallet) ) )

SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = <SID>) (ORACLE_HOME = <ORACLE_HOME>) (SID_NAME = <SID>) )

Versão da API API versão 2016-01-0155

Page 62: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSuporte SSL para um endpoint do Oracle

)

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

19. Configure o arquivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora).

<SID>=(DESCRIPTION= (ADDRESS_LIST = (ADDRESS=(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SID>) ))

<SID>_ssl=(DESCRIPTION= (ADDRESS_LIST = (ADDRESS=(PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SID>) ))

20. Reinicie o ouvinte do Oracle.

lsnrctl start

21. Mostre o status do ouvinte do Oracle.

lsnrctl status

22. Teste a conexão SSL ao banco de dados a partir de localhost, usando sqlplus e a entrada SSLtnsnames.

sqlplus -L <ORACLE_USER>@<SID>_ssl

23. Verifique se você se conectou com êxito usando SSL.

SELECT SYS_CONTEXT('USERENV', 'network_protocol') FROM DUAL;

SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')--------------------------------------------------------------------------------tcps

24. Altere o diretório para o diretório com o certificado autoassinado.

cd <SELF_SIGNED_CERT_DIRECTORY>

25. Crie um novo Oracle Wallet cliente que será usado pelo AWS DMS.

Versão da API API versão 2016-01-0156

Page 63: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAlteração da senha do banco de dados

orapki wallet create -wallet ./ -auto_login_only

26. Adicione o certificado raiz autoassinado ao Oracle Wallet.

orapki wallet add -wallet ./ -trusted_cert -cert rootCA.pem -auto_login_only

27. Liste os conteúdos do Oracle Wallet que serão usados pelo AWS DMS. A lista deve incluir ocertificado raiz autoassinado.

orapki wallet display -wallet ./

28. Carregue o Oracle Wallet recém-criado no AWS DMS.

Alteração da senha do banco de dadosNa maioria das situações, alterar a senha do banco de dados do endpoint de origem ou de destino ésimples. Se for necessário alterar a senha do banco de dados de um endpoint usado atualmente em umatarefa de migração ou de replicação, o processo será um pouco mais complexo. O procedimento a seguirmostra como fazer isso.

Como alterar a senha do banco de dados de um endpoint em uma tarefa de migração ou dereplicação

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS DMS. Observe que se vocêestiver conectado como usuário do AWS Identity and Access Management (IAM), deverá ter aspermissões apropriadas para acessar o AWS DMS. Para obter mais informações sobre as permissõesnecessárias, consulte Permissões do IAM necessárias para o uso do AWS DMS (p. 33).

2. No painel de navegação, selecione Tasks.3. Escolha a tarefa que usa o endpoint cuja senha do banco de dados você deseja alterar e selecione

Stop.4. Enquanto a tarefa está interrompida, é possível alterar a senha do banco de dados do endpoint

usando as ferramentas nativas usadas para trabalhar com o banco de dados.5. Retorne ao DMS Management Console e selecione Endpoints no painel de navegação.6. Escolha o endpoint do banco de dados cuja senha você modificou e selecione Modify.7. Digite a nova senha na caixa Password e selecione Modify.8. No painel de navegação, selecione Tasks.9. Escolha a tarefa interrompida anteriormente e selecione Start/Resume.10. Selecione Start ou Resume, dependendo de como você deseja continuar a tarefa, e selecione Start

task.

Versão da API API versão 2016-01-0157

Page 64: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioLimites do AWS Database Migration Service

Limites do AWS Database MigrationService

A seguir, encontre os limites de recurso e as restrições de nomenclatura do AWS Database MigrationService (AWS DMS).

O tamanho máximo de um banco de dados que o AWS DMS pode migrar depende do ambiente de origem,da distribuição de dados no banco de dados de origem e de quão ocupado o sistema de origem está. Amelhor maneira de determinar se o seu sistema em particular é um candidato para o AWS DMS é testá-lo. Inicie lentamente para que você estabeleça a configuração e, em seguida, adicione alguns objetoscomplexos. Por fim, faça um carregamento completo de teste.

Limites do AWS Database Migration ServiceCada conta da AWS tem limites, por região, no número de recursos do AWS DMS que podem ser criados.Quando o limite de um recurso é atingido, as chamadas adicionais para criá-lo falham, com uma exceção.

O limite de 6 TB para o armazenamento aplica-se à instância de replicação do DMS. Esse armazenamentoé usado para armazenar alterações em cache, se o destino não puder acompanhar a origem, e paraarmazenar as informações de log. Esse limite não se aplica ao tamanho do destino (os endpoints dedestino podem ter mais de 6 TB).

A tabela a seguir lista os recursos do AWS DMS e seus limites por região.

Recurso Limite padrão

Instâncias de replicação 20

Quantidade total de armazenamento 6 TB

Assinaturas de eventos 20

Grupos de sub-rede de replicação 20

Sub-redes por grupo de sub-rede de replicação 20

Endpoints 100

Tarefas 200

Endpoints por instância 20

Versão da API API versão 2016-01-0158

Page 65: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Trabalhar com instância dereplicação do AWS DMS

Ao criar uma instância de replicação do AWS DMS, o AWS DMS cria a instância de replicação em umainstância do Amazon Elastic Compute Cloud (Amazon EC2) em uma VPC com base no serviço da AmazonVirtual Private Cloud (Amazon VPC). Essa instância de replicação é usada para executar a migração doseu banco de dados. A instância de replicação fornece alta disponibilidade e suporte a failover usandouma Implantação Multi-AZ quando você seleciona a opção Multi-AZ.

Em uma implantação Multi-AZ, o AWS DMS automaticamente provisiona e mantém uma réplica em esperasíncrona da instância de replicação em outra Zona de disponibilidade. A instância de replicação primária éreplicada em sincronia pelas Zonas de disponibilidade para a réplica em espera. Essa abordagem forneceredundância de dados, elimina congelamentos de E/S e minimiza picos de latência.

O AWS DMS usa uma instância de replicação para se conectar ao armazenamento de dados de origem,ler os dados de origem e formatar os dados para consumo pelo armazenamento de dados de destino.A instância de replicação também carrega os dados no armazenamento de dados de destino. A maiorparte desse processo ocorre na memória. No entanto, transações grandes podem exigir buffer no disco.Transações armazenadas em cache e arquivos de log também são gravados no disco.

Crie uma instância de replicação do AWS DMS nas seguintes regiões da AWS.

Região Nome

Região Ásia-Pacífico (Tóquio) ap-northeast-1

Região da Ásia-Pacífico (Seul) ap-northeast-2

Região da Ásia-Pacífico (Mumbai) ap-south-1

Região Ásia-Pacífico (Cingapura) ap-southeast-1

Região Ásia-Pacífico (Sydney) ap-southeast-2

Região do Canadá (Central) ca-central-1

Região UE (Frankfurt) eu-central-1

Região UE (Irlanda) eu-west-1

Região da UE (Londres) eu-west-2

Região América do Sul (São Paulo) sa-east-1

Leste dos EUA (Norte da Virgínia) Região us-east-1

Versão da API API versão 2016-01-0159

Page 66: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioDetalhes sobre a instância de replicação

Região Nome

Região do Leste dos EUA (Ohio) us-east-2

Região do Oeste dos EUA (Norte da Califórnia) us-west-1

Região Oeste dos EUA (Oregon) us-west-2

O AWS DMS oferece suporte a uma região especial da AWS chamada AWS GovCloud (EUA)desenvolvida para permitir que clientes e agências governamentais dos EUA transfiram cargas detrabalho mais confidenciais para a nuvem. A AWS GovCloud (EUA) atende aos requisitos específicosde regulamentação e conformidade do governo dos EUA. Para obter mais informações sobre a AWSGovCloud (EUA), consulte O que é AWS GovCloud (EUA)?

Veja a seguir mais detalhes sobre instâncias de replicação.

Tópicos• Seleção da instância de replicação do AWS DMS correta para a migração (p. 60)• Instâncias de replicação públicas e privadas (p. 62)• Manutenção do AWS DMS (p. 62)• Trabalhar com as versões de mecanismos de replicação (p. 65)• Configurar uma rede para uma instância de replicação (p. 67)• Configurar uma chave de criptografia para a instância de replicação (p. 75)• Criar uma instância de replicação (p. 75)• Modificar uma instância de replicação (p. 79)• Reinicialização de uma instância de replicação (p. 82)• Exclusão de uma instância de replicação (p. 84)• Instruções DDL compatíveis com AWS DMS (p. 85)

Seleção da instância de replicação do AWS DMScorreta para a migração

O AWS DMS cria a instância de replicação em uma instância do Amazon Elastic Compute Cloud (AmazonEC2). Atualmente, o AWS DMS é compatível com as classes de instância do Amazon EC2 T2, C4 e R4para instâncias de replicação:

• As classes T2 são instâncias padrão de baixo custo desenvolvidas para fornecer um nível básico dedesempenho da CPU com a possibilidade de aumentá-lo além da linha basal. Elas são adequadas paradesenvolver, configurar e testar o processo de migração do banco de dados. Elas também funcionambem para tarefas de migração de dados periódicas que podem se beneficiar do recurso de intermitênciada CPU.

• As classes de instância C4 são projetadas para fornecer o mais alto nível de desempenho deprocessador para cargas de trabalho intensivas. Ele fornece um desempenho significativamente maiorde pacotes por segundo (PPS), menor jitter de rede e latência de rede mais baixas. O AWS DMSpode ser intensivo no que diz respeito à CPU, especialmente ao executar replicações e migraçõesheterogêneas como a migração do Oracle para PostgreSQL. As instâncias C4 podem ser uma boaopção para essas situações.

• As classes de instância R4 possuem otimização de memória para cargas de trabalho intensivas doponto de vista de memória. As replicações ou migrações contínuas de sistemas de transação de altatransferência que usam o DMS podem, às vezes, consumir grandes quantidades de CPU e memória. Asinstâncias R4 incluem mais memória por vCPU.

Versão da API API versão 2016-01-0160

Page 67: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioDetalhes sobre a instância de replicação

Cada instância de replicação tem uma configuração específica de memória e de vCPU. A tabela a seguirmostra a configuração de cada tipo de instância de replicação. Para obter informações de preços, consulteDefinição de preço do AWS Database Migration Service.

Tipo de instância de replicação vCPU Memória (GB)

Finalidade geral

dms.t2.micro 1 1

dms.t2.small 1 2

dms.t2.medium 2 4

dms.t2.large 2 8

Otimizadas para computação

dms.c4.large 2 3,75

dms.c4.xlarge 4 7,5

dms.c4.2xlarge 8 15

dms.c4.4xlarge 16 30

Otimizadas para memória

dms.r4.large 2 15.25

dms.r4.xlarge 4 30.5

dms.r4.2xlarge 8 61

dms.r4.4xlarge 16 122

dms.r4.8xlarge 32 244

Para ajudá-lo a determinar qual classe de instância de replicação funcionaria melhor para a migração,vamos analisar o processo de captura de dados de alteração (CDC) usado pela instância de replicação doAWS DMS.

Vamos supor que esteja executando uma tarefa de carregamento total mais CDC (carga em lote maisreplicação contínua). Nesse caso, a tarefa tem seu próprio repositório SQLite para armazenar metadados eoutras informações. Antes que o AWS DMS inicie um carregamento total, ocorrem as seguintes etapas:

• O AWS DMS começa a capturar alterações para as tabelas que está migrando do log de transação domecanismo de origem (chamamos essas de alterações em cache). Assim que ao carregamento total forconcluído, essas alterações em cache são coletadas e aplicadas no destino. Dependendo do volumede alterações em cache, essas alterações podem ser aplicadas diretamente da memória, onde sãocoletadas primeiro, até um limite definido. Como alternativa, elas podem ser aplicadas a partir do disco,onde as alterações são gravadas quando não podem ser mantidas na memória.

• Depois que as alterações em cache são aplicadas, por padrão, o AWS DMS começa uma aplicaçãotransacional na instância de destino.

Durante a fase de alterações em cache aplicadas e a fase de replicações contínuas, o AWS DMS usadois buffers de fluxo, um para os dado de entrada e outro para os dados de saída. O AWS DMS tambémusa um componente importante chamado classificador, que é outro buffer de memória. Veja a seguir duasutilizações importantes do componente classificador (que também possui outras):

Versão da API API versão 2016-01-0161

Page 68: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioInstâncias de replicação públicas e privadas

• Ele monitora todas as transações e garante que encaminha somente as transações relevantes ao bufferde saída.

• Ele garante que as transações são encaminhadas na mesma ordem de confirmação como na origem.

Como você pode ver, temos três buffers de memória importantes nessa arquitetura para a CDC no AWSDMS. Se qualquer um desses buffers de memória apresentar pressão de memória, a migração pode terproblemas de desempenho que podem causar falhas.

Ao conectar cargas de trabalho pesadas com um alto número de transações por segundo (TPS) nessaarquitetura, a memória adicional fornecida pelas instâncias R4 pode ser útil. Use instâncias R4 para manternúmero alto de transações na memória e evitar problemas de pressão de memória durante as replicaçõescontínuas.

Instâncias de replicação públicas e privadasÉ possível especificar se uma instância de replicação tem um endereço IP público ou privado que ela usapara se conectar aos bancos de dados de origem e de destino.

Uma instância de replicação privada tem um endereço IP privado que não pode ser acessado fora darede de replicação. Uma instância de replicação deve ter um endereço IP privado quando os bancos dedados de origem e de destino ficam na mesma rede que está conectada ao VPC da instância de replicaçãousando VPN, AWS Direct Connect ou emparelhamento de VPC.

Uma conexão de emparelhamento de VPC é uma conexão de redes entre dois VPCs, que permiteroteamento usando endereços IP privados de cada VPC como se estivessem na mesma rede. Para obtermais informações sobre emparelhamento de VPC, consulte VPC Peering, no Guia do usuário do AmazonVPC.

Manutenção do AWS DMSPeriodicamente, o AWS DMS realiza a manutenção em seus recursos. Ela costuma envolver atualizaçõesà instância de replicação ou a seu sistema operacional (OS). É possível gerenciar o período de tempo dasua janela de manutenção e ver atualizações de manutenção usando a AWS CLI ou a API do AWS DMS.No momento, não há suporte para o console do AWS DMS realizar esse trabalho.

Os itens de manutenção exigem que o AWS DMS coloque a instância de replicação offline por um curtoperíodo. Manutenções que necessitam que um recurso esteja offline incluem aplicações obrigatórias depatches de instância ou de sistema operacional. A aplicação obrigatória de patches é automaticamenteprogramada somente para patches relacionados à segurança e à confiabilidade da instância. Elas nãoocorrem com frequência (geralmente, uma ou duas vezes por ano) e raramente exigem mais do que umafração da sua janela de manutenção. Para aplicar automaticamente atualizações de versões secundárias,escolhendo a opção do console Auto minor version upgrade.

Janela de manutenção do AWS DMSCada instância de replicação do AWS DMS tem uma janela de manutenção semanal durante a qual asalterações disponíveis do sistema são aplicadas. A janela de manutenção pode ser considerada umaoportunidade de controlar quando as modificações e aplicação de patches de software ocorrem.

Se AWS DMS determinar que a manutenção é necessária durante determinada semana, ela ocorrerádurante a janela de manutenção de 30 minutos que você escolheu quando criou a instância de replicação.O AWS DMS conclui a maioria das manutenções durante a janela de manutenção de 30 minutos. Noentanto, pode ser necessário mais tempo para maiores alterações.

Versão da API API versão 2016-01-0162

Page 69: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioJanela de manutenção do AWS DMS

A janela de manutenção de 30 minutos que você selecionou quando criou a instância de replicação é deum bloco de tempo de 8 horas alocado para cada região da AWS. Se você não especificar um período dejanela de manutenção preferencial ao criar a instância de replicação, o AWS DMS atribuirá uma janela demanutenção de um dia da semana selecionado aleatoriamente. Para uma instância de replicação que usauma implantação Multi-AZ, o failover pode ser necessário para a manutenção para ser concluída.

A tabela a seguir lista a janela de manutenção de cada região da AWS compatível com o AWS DMS.

Região Bloco de hora

Região Ásia-Pacífico(Sydney)

12:00–20:00 UTC

Região Ásia-Pacífico (Tóquio) 13:00–21:00 UTC

Região da Ásia-Pacífico(Mumbai)

17:30–01:30 UTC

Região da Ásia-Pacífico(Seul)

13:00–21:00 UTC

Região Ásia-Pacífico(Cingapura)

14:00–22:00 UTC

Região do Canadá (Central) 06:29–14:29 UTC

Região UE (Frankfurt) 23:00–07:00 UTC

Região UE (Irlanda) 22:00–06:00 UTC

Região da UE (Londres) 06:00–14:00 UTC

Região América do Sul (SãoPaulo)

00:00–08:00 UTC

Leste dos EUA (Norte daVirgínia) Região

03:00–11:00 UTC

Região do Leste dos EUA(Ohio)

03:00–11:00 UTC

Região do Oeste dos EUA(Norte da Califórnia)

06:00–14:00 UTC

Região Oeste dos EUA(Oregon)

06:00–14:00 UTC

AWS GovCloud (EUA) 06:00–14:00 UTC

Efeito da manutenção sobre tarefas de migração existentesQuando uma tarefa de migração do AWS DMS é executada em uma instância, os seguintes eventosocorrem quando um patch é aplicado:

• Se as tabelas na tarefa de migração estiverem na fase de replicar alterações contínuas (CDC), o AWSDMS pausará a tarefa por um momento enquanto o patch é aplicado. A migração continua do ponto emque foi interrompida quando o patch foi aplicado.

• Se o AWS DMS estiver migrando uma tabela quando o patch for aplicado, ele reiniciará a migração databela.

Versão da API API versão 2016-01-0163

Page 70: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioJanela de manutenção do AWS DMS

Alteração da definição da janela de manutençãoVocê pode alterar o período da janela de manutenção usando o Console de gerenciamento da AWS, aAWS CLI ou a API do AWS DMS.

Alteração da definição da janela de manutenção usando o console AWS

Altere o período da janela de manutenção usando o Console de gerenciamento da AWS.

Para alterar a janela de manutenção preferencial usando o console da AWS

1. Faça login no console do API Gateway e escolha AWS DMS.2. No painel de navegação, selecione Replication instances.3. Escolha a instância de replicação a ser modificada e escolha Modify.4. Expanda a seção Maintenance e escolha uma data e hora para a sua janela de manutenção.

5. Escolha Apply changes immediately.6. Selecione Modify.

Alterar a definição da janela de manutenção usando a CLI

Para ajustar a janela de manutenção preferencial, use o comando modify-replication-instance daAWS CLI com os seguintes parâmetros.

• --replication-instance-identifier

• --preferred-maintenance-window

Example

O exemplo de AWS CLI a seguir define a janela de manutenção para terças, das 4:00 às 4:30 AM UTC.

aws dms modify-replication-instance \--replication-instance-identifier myrepinstance \--preferred-maintenance-window Tue:04:00-Tue:04:30

Alterar a definição da janela de manutenção usando a API

Para ajustar a janela de manutenção preferencial, use a ação ModifyReplicationInstance da API doAWS DMS com os seguintes parâmetros.

• ReplicationInstanceIdentifier = myrepinstance

Versão da API API versão 2016-01-0164

Page 71: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioVersões do mecanismo de replicação

• PreferredMaintenanceWindow = Tue:04:00-Tue:04:30

Example

O exemplo de código a seguir define a janela de manutenção para terças, das 4:00 às 4:30 AM UTC.

https://dms.us-west-2.amazonaws.com/?Action=ModifyReplicationInstance&DBInstanceIdentifier=myrepinstance&PreferredMaintenanceWindow=Tue:04:00-Tue:04:30&SignatureMethod=HmacSHA256&SignatureVersion=4&Version=2014-09-01&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request&X-Amz-Date=20140425T192732Z&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date&X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

Trabalhar com as versões de mecanismos dereplicação

O mecanismo de replicação é o software principal do AWS DMS executado em sua instância dereplicação, que realiza as tarefas de migração que você especifica. A AWS lança periodicamente novasversões do software do mecanismo de replicação do AWS DMS, com novos recursos e melhorias deperformance. Cada versão do software do mecanismo de replicação tem seu próprio número de versão,para diferenciá-lo de outras versões.

Quando você executa uma nova instância de replicação, ele executa versão mais recente do mecanismodo AWS DMS, a menos que você especifique o contrário. Para obter mais informações, consulte Trabalharcom instância de replicação do AWS DMS (p. 59).

Se você tiver uma instância de replicação em execução no momento, poderá atualizá-la para uma versãode mecanismo mais recente. (O AWS DMS não oferece suporte a downgrades de versão do mecanismo.)Para obter mais informações, incluindo uma lista de versões do mecanismo de replicação, consulte aseção a seguir.

Reprovação de uma versão de instância de replicaçãoOcasionalmente, o AWS DMS reprova versões mais antigas da instância de replicação. A partir de 2º deabril de 2018, o AWS DMS desativará a criação de qualquer nova instância de replicação versão 1.9.0.Inicialmente, essa versão era compatível no AWS DMS em 15 de março de 2016, e foi substituída porversões subsequentes que contêm melhorias de funcionalidade, segurança e confiabilidade.

A partir de 5 de agosto de 2018 às 0h00 UTC, todas as instâncias de replicação do DMS que executama versão 1.9.0 serão programadas para atualização automática para a versão mais recente disponíveldurante o intervalo de manutenção especificado para cada instância. Recomendamos que você atualizesuas instâncias antes desse horário, em um momento conveniente.

Você pode iniciar uma atualização de sua instância de replicação usando as instruções na seção a seguir,Atualizar a versão do mecanismo de uma instância de replicação (p. 66).

Para tarefas de migração que estão em execução quando você opta por atualizar a instância dereplicação, as tabelas na fase de carga completa no momento da atualização serão recarregadas do

Versão da API API versão 2016-01-0165

Page 72: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAtualizar a versão do mecanismode uma instância de replicação

início assim que a atualização for concluída. A replicação de todas as outras tabelas deve ser retomadasem interrupção quando a atualização for concluída. Recomendamos testar todas as tarefas da migraçãoatual com a versão mais recente disponível da instância de replicação do AWS DMS antes de atualizar asinstâncias da versão 1.9.0.

Atualizar a versão do mecanismo de uma instância dereplicaçãoA AWS lança periodicamente novas versões do software do mecanismo de replicação do AWS DMS, comnovos recursos e melhorias de performance. A seguir, há um resumo das versões do mecanismo do AWSDMS disponíveis.

Versão Resumo

2.4.x • Suporte para replicação de tablespaces de índice do Oracle.• Suporte para ACLs pré-configuradas para o acesso entre contas com

endpoints do S3.

2.3.x • Suporte para o S3 como uma origem do AWS DMS.• Suporte para a replicação de tablespaces do Oracle apenas como origem do

AWS DMS.• Suporte para espera protegida de dados ativos do Oracle como origem do

Oracle apenas como origem do AWS DMS.

2.2.x • Suporte para Microsoft SQL Server 2016, tanto como origem do AWS DMScomo destino do AWS DMS.

• Suporte para SAP ASE 16, tanto como origem do AWS DMS como destino doAWS DMS.

• Suporte para Microsoft SQL Server em execução no Microsoft Azure, apenascomo origem do AWS DMS. Você pode executar uma migração completade dados existentes;, mas a captura de dados de alterações (CDC) não estádisponível.

1.9.x Release cumulativo do software do mecanismo de replicação do AWS DMS.

Atualizar a versão do mecanismo usando o consoleVocê pode atualizar uma instância de replicação do AWS DMS usando o Console de gerenciamento daAWS.

Para atualizar uma instância de replicação usando o console

1. Abra o console do AWS DMS em https://console.aws.amazon.com/dms/.2. No painel de navegação, selecione Replication instances.3. Escolha seu mecanismo de replicação e, em seguida, escolha Modify.4. Em Replication engine version, escolha o número da versão e depois escolha Modify.

Note

A atualização da instância de replicação pode levar alguns minutos. Quando a instância estiverpronta, seu status mudará para available.

Versão da API API versão 2016-01-0166

Page 73: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurar uma rede para uma instância de replicação

Atualizar a versão do mecanismo usando a CLIVocê pode atualizar uma instância de replicação do AWS DMS usando a AWS CLI, da seguinte forma.

Para atualizar uma instância de replicação usando a AWS CLI

1. Determine o nome de recurso da Amazon (ARN) da instância de replicação usando o comando aseguir.

aws dms describe-replication-instances \--query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceArn,ReplicationInstanceClass]"

No resultado, anote o ARN referente à instância de replicação que você deseja atualizar, por exemplo:arn:aws:dms:us-east-1:123456789012:rep:6EFQQO6U6EDPRCPKLNPL2SCEEY

2. Determine quais versões da instância de replicação estão disponíveis usando o comando a seguir.

aws dms describe-orderable-replication-instances \--query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"

No resultado, anote os números de versão do mecanismo que estão disponíveis para a classe deinstância de replicação. Você encontra essas informações no resultado da Etapa 1.

3. Atualize uma instância de replicação usando o seguinte comando.

aws dms modify-replication-instance \--replication-instance-arn arn \--engine-version n.n.n

Substitua arn pelo ARN da instância de replicação da etapa anterior.

Substitua n.n.n pelo número de versão do mecanismo que você deseja, por exemplo: 2.2.1

Note

A atualização da instância de replicação pode levar alguns minutos. Você pode visualizar o statusda instância de replicação usando o seguinte comando.

aws dms describe-replication-instances \--query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"

Quando a instância de replicação estiver pronta, seu status mudará para available.

Configurar uma rede para uma instância dereplicação

O AWS DMS sempre cria a instância de replicação em uma VPC com base em Amazon Virtual PrivateCloud (Amazon VPC). Você especifica a VPC em que sua instância de replicação está localizada. Épossível usar o VPC padrão da sua conta e região da AWS ou criar um novo. O VPC deve ter duas sub-redes em, pelo menos, uma Zona de disponibilidade.

Versão da API API versão 2016-01-0167

Page 74: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de rede para migração de banco de dados

A interface de rede elástica (ENI) alocada para a instância de replicação no VPC deve estar associada aum security group com regras que permitam que todo o tráfego em todas as portas saiam do VPC. Essaabordagem permite a comunicação da instância de replicação com os endpoints dos bancos de dados deorigem e de destino, desde que regras de saída corretas estejam habilitadas neles. Recomendamos quevocê use as configurações padrão para os endpoints, que permitem a saída em todas as portas para todosos endereços.

Os endpoints de origem e de destino acessam a instância de replicação que está dentro do VPC,conectando-se ao VPC ou estando no VPC. Os endpoints do banco de dados devem incluir regras deNetwork access control lists (ACLs) e security group (se aplicável) que permitam o acesso de entrada apartir da instância de replicação. Dependendo da configuração de rede que você está usando, é possívelusar o security group do VPC da instância de replicação, o endereço IP público ou privado da instância dereplicação ou o endereço IP público do NAT Gateway. Essas conexões formam uma rede usada para amigração de dados.

Configurações de rede para migração de banco dedadosÉ possível usar várias configurações de rede diferentes com o AWS Database Migration Service. A seguir,veja configurações comuns de uma rede usada para a migração de banco de dados.

Tópicos• Configuração com todos os componentes de migração de banco de dados em um VPC (p. 68)• Configuração com dois VPCs (p. 69)• Configuração de uma rede para um VPC usando o AWS Direct Connect ou uma VPN (p. 69)• Configuração de uma rede para um VPC usando a Internet (p. 70)• Configuração com uma instância de banco de dados do Amazon RDS que não está em um VPC para

uma instância de banco de dados que está em um VPC usando ClassicLink (p. 70)

Configuração com todos os componentes de migração de bancode dados em um VPCA rede mais simples de migração de banco de dados é para que o endpoint de origem, a instância dereplicação e o endpoint de destino estejam no mesmo VPC. Essa configuração é boa se os endpoints deorigem e de destino estão em uma instância de banco de dados do Amazon RDS ou em uma instância doAmazon EC2.

A ilustração a seguir mostra uma configuração em que um banco de dados em uma instância do AmazonEC2 se conecta à instância de replicação e os dados são migrados para uma instância de banco de dadosdo Amazon RDS.

O security group do VPC usado nessa configuração deve permitir a entrada na porta do banco de dados apartir da instância de replicação. Isso pode ser feito assegurando que o security group usado pela instância

Versão da API API versão 2016-01-0168

Page 75: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de rede para migração de banco de dados

de replicação tenha entrada para os endpoints ou permitindo explicitamente o endereço IP privado dainstância de replicação.

Configuração com dois VPCsSe os endpoints de origem e de destino estiverem em VPCs diferentes, crie a sua instância de replicaçãoem um dos VPCs e ligue os dois VPCs usando o emparelhamento de VPC.

Uma conexão de emparelhamento de VPC é uma conexão de redes entre dois VPCs, que permiteroteamento usando endereços IP privados de cada VPC como se estivessem na mesma rede.Recomendamos esse método para conectar VPCs em uma região da AWS. É possível criar conexõesde emparelhamento entre os seus próprios VPCs ou com um VPC em outra conta da AWS que estejana mesma região da AWS. Para obter mais informações sobre emparelhamento de VPC, consulte VPCPeering, no Guia do usuário do Amazon VPC.

A ilustração a seguir mostra um exemplo de configuração usando o emparelhamento de VPCs.Aqui, o banco de dados de origem em uma instância do Amazon EC2 em uma VPC se conecta aoemparelhamento de VPC a uma VPC. Essa VPC contém a instância de replicação e o banco de dados dedestino em uma instância de banco de dados do Amazon RDS.

Os security groups do VPC usados nessa configuração devem permitir a entrada na porta do banco dedados a partir da instância de replicação.

Configuração de uma rede para um VPC usando o AWS DirectConnect ou uma VPNRedes remotas podem se conectar a um VPC através de várias opções, como AWS Direct Connectou conexão VPN de software ou hardware. Essas opções costumam ser usadas para integrar serviçoslocais existentes, como monitoramento, autenticação, segurança, dados ou outros sistemas, estendendouma rede interna para a nuvem AWS. Usar esse tipo de extensão de rede facilita a conexão integrada arecursos hospedados na AWS, como um VPC.

A ilustração a seguir mostra uma configuração em que o endpoint de origem é um banco de dados localem um datacenter corporativo. Ele é conectado usando o AWS Direct Connect ou uma VPN a um VPC quecontém a instância de replicação e um banco de dados de destino em uma instância de banco de dadosdo Amazon RDS.

Nessa configuração, o security group da VPC deve incluir uma regra de roteamento que envia o tráfegodestinado a um endereço IP ou um intervalo específico para um host. Esse host deve ser capaz de superaro tráfego da VPC na VPN local. Nesse caso, o host NAT inclui suas próprias configurações de securitygroup, que devem permitir o tráfego do endereço IP privado da instância de replicação ou do securitygroup para a instância NAT.

Versão da API API versão 2016-01-0169

Page 76: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de rede para migração de banco de dados

Configuração de uma rede para um VPC usando a InternetSe você não usa VPN ou AWS Direct Connect para se conectar aos recursos da AWS, use a Internetpara migrar um banco de dados para uma instância do Amazon EC2 ou uma instância de banco de dadosdo Amazon RDS. Essa configuração envolve uma instância de replicação pública em um VPC com umgateway da Internet que contém o endpoint de destino e a instância de replicação.

Para adicionar um gateway da Internet ao seu VPC, consulte Attaching an Internet Gateway, no Guia dousuário do Amazon VPC.

O security group do VPC deve incluir regras de roteamento que enviem o tráfego não destinado ao VPCpor padrão para o gateway da Internet. Nessa configuração, a conexão ao endpoint parecerá vir doendereço IP público da instância de replicação, não do endereço IP privado.

Configuração com uma instância de banco de dados do AmazonRDS que não está em um VPC para uma instância de banco dedados que está em um VPC usando ClassicLinkÉ possível usar o ClassicLink juntamente com um servidor de proxy para conectar uma instância de bancode dados do Amazon RDS que não está em um VPC a um servidor de replicação do AWS DMS e umainstância de banco de dados que residem em um VPC.

O ClassicLink permite unir uma instância de banco de dados do EC2-Classic a um VPC na sua conta,dentro da mesma região da AWS. Após uni-los, a instância de banco de dados de origem pode secomunicar com a instância de replicação dentro do VPC usando os endereços IP privados.

Como a instância de replicação na VPC não pode acessar diretamente a instância de banco de dadosde origem na plataforma do EC2-Classic usando o ClassicLink, você precisa usar um servidor de proxy.O servidor de proxy conecta instância de banco de dados de origem à VPC que contém a instância dereplicação e a instância de banco de dados de destino. O servidor de proxy usa o ClassicLink para seconectar ao VPC, e o encaminhamento de portas no servidor de proxy permite a comunicação entre ainstância de banco de dados de origem e a instância de banco de dados de destino no VPC.

Uso da funcionalidade ClassicLink no AWS Database Migration ServiceÉ possível usar o ClassicLink juntamente com um servidor de proxy para conectar uma instância de bancode dados do Amazon RDS que não está em um VPC a um servidor de replicação do AWS DMS e umainstância de banco de dados que residem em um VPC.

O procedimento a seguir mostra como usar ClassicLink para conectar uma instância de banco de dados deorigem do Amazon RDS que não está em uma VPC a uma VPC que contém uma instância de replicação euma instância de banco de dados de destino no AWS DMS.

Versão da API API versão 2016-01-0170

Page 77: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de rede para migração de banco de dados

• Crie uma instância de replicação do AWS DMS em uma VPC. (Todas as instâncias de replicação sãocriadas em uma VPC).

• Associe um security group de VPC à instância de replicação e à instância de banco de dados dedestino. Quando duas instâncias compartilham um security group de VPC, elas podem se comunicarnormalmente.

• Configure um servidor de proxy em uma instância EC2 clássica.• Crie uma conexão usando ClassicLink entre o servidor de proxy e a VPC.• Crie endpoints do AWS DMS para os bancos de dados de origem e destino.• Crie uma tarefa no AWS DMS.

Para usar ClassicLink a fim de migrar um banco de dados de uma instância de banco de dadosque não está em uma VPC para um banco de dados de uma instância que está em uma VPC

1. Etapa 1: Crie uma instância de replicação do AWS DMS.

Para criar uma instância de replicação do AWS DMS e atribuir um security group de VPC:

a. Faça login no Console de Gerenciamento da AWS e escolha o AWS Database Migration Service.Observe que se você estiver conectado como usuário do AWS Identity and Access Management(IAM), deverá ter as permissões apropriadas para acessar o AWS DMS. Para obter maisinformações sobre as permissões necessárias para a migração de banco de dados, consultePermissões do IAM necessárias para o uso do AWS DMS (p. 33).

b. Na página Painel, selecione Instância de Replicação. Siga as instruções da seção Etapa 2: criaruma instância de replicação (p. 18) para criar uma instância de replicação.

c. Depois de criar a instância de replicação do AWS DMS, abra o console de serviço do EC2.Selecione Interfaces de rede no painel de navegação.

d. Selecione DMSNetworkInterface e, em seguida, escolha Alterar security groups no menu Ações.e. Selecione o security group que deseja usar para a instância de replicação e a instância de banco

de dados de destino.2. Etapa 2: Associe o security group da última etapa à instância de banco de dados de destino.

Para associar um security group a uma instância de banco de dados

a. Abra o console de serviço do Amazon RDS. Selecione Instâncias no painel de navegação.b. Selecione a instância de banco de dados de destino. Em Ações para instâncias, selecione

Modificar.c. Para o parâmetro Security group, selecione o security group usado na etapa anterior.d. Selecione Continuar e, em seguida, Modificar instância de banco de dados.

3. Etapa 3: Configure um servidor de proxy em uma instância EC2 clássica usando NGINX. Use um AMIde sua escolha para ativar uma instância EC2 clássica. O exemplo abaixo baseia-se no AMI UbuntuServer 14.04 LTS (HVM).

Para configurar um servidor de proxy em uma instância EC2 clássica

a. Conecte-se à instância EC2 clássica e instale o NGINX usando os seguintes comandos:

Prompt> sudo apt-get updatePrompt> sudo wget http://nginx.org/download/nginx-1.9.12.tar.gzPrompt> sudo tar -xvzf nginx-1.9.12.tar.gz Prompt> cd nginx-1.9.12Prompt> sudo apt-get install build-essentialPrompt> sudo apt-get install libpcre3 libpcre3-devPrompt> sudo apt-get install zlib1g-devPrompt> sudo ./configure --with-stream

Versão da API API versão 2016-01-0171

Page 78: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de rede para migração de banco de dados

Prompt> sudo makePrompt> sudo make install

b. Edite o arquivo daemon do NGINX, /etc/init/nginx.conf, usando o seguinte código:

# /etc/init/nginx.conf – Upstart file

description "nginx http daemon"author "email"

start on (filesystem and net-device-up IFACE=lo)stop on runlevel [!2345]

env DAEMON=/usr/local/nginx/sbin/nginxenv PID=/usr/local/nginx/logs/nginx.pid

expect forkrespawnrespawn limit 10 5

pre-start script $DAEMON -t if [ $? -ne 0 ] then exit $? fiend script

exec $DAEMON

c. Crie um arquivo de configuração do NGINX em /usr/local/nginx/conf/nginx.conf. No arquivo deconfiguração, insira o seguinte:

# /usr/local/nginx/conf/nginx.conf - NGINX configuration file

worker_processes 1;

events { worker_connections 1024;}

stream { server { listen <DB instance port number>;proxy_pass <DB instance identifier>:<DB instance port number>; }}

d. Na linha de comando, inicie o NGINX usando os seguintes comandos:

Prompt> sudo initctl reload-configurationPrompt> sudo initctl list | grep nginxPrompt> sudo initctl start nginx

4. Etapa 4: Crie uma conexão de ClassicLink entre o servidor de proxy e a VPC de destino que contém ainstância de banco de dados de destino e a instância de replicação

Versão da API API versão 2016-01-0172

Page 79: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de um grupo de sub-rede de replicação

Use o ClassicLink para conectar o servidor de proxy com a VPC de destino

a. Abra o console do EC2 e selecione a instância EC2 clássica que está executando o servidor deproxy.

b. Selecione ClassicLink em Ações e, em seguida, selecione Link to VPC.c. Selecione o security group usado anteriormente neste procedimento.d. Selecione Link to VPC.

5. Etapa 5: Crie endpoints do AWS DMS usando o procedimento Etapa 3: especificar endpoints deorigem e de destino (p. 23). Você deve usar o nome do host DNS interno do EC2 do proxy como nomede servidor ao especificar o endpoint de origem.

6. Etapa 6: Crie uma tarefa no AWS DMS usando o procedimento Etapa 4: criar uma tarefa (p. 28).

Criação de um grupo de sub-rede de replicaçãoComo parte da rede a ser usada para a migração de banco de dados, é necessário especificar as sub-redes no Amazon Virtual Private Cloud (Amazon VPC) que você pretende usar. Uma sub-rede é umintervalo de endereços IP no seu VPC em uma determinada Zona de disponibilidade. Essas sub-redespodem ser distribuídas entre as Zonas de disponibilidade da região da AWS onde está o seu VPC.

Criando uma instância de replicação em uma sub-rede que você selecionou, você pode gerenciar a sub-rede que um endpoint de origem ou de destino usa utilizando o console do AWS DMS.

É possível criar um grupo de sub-rede de replicação para definir as sub-redes que serão usadas. Vocêdeve especificar ao menos uma sub-rede em duas Zonas de disponibilidade diferentes.

Como criar um grupo de sub-rede de replicação

1. Faça login no console do API Gateway e escolha AWS Database Migration Service. Se vocêestiver conectado como usuário do AWS Identity and Access Management (IAM), deverá ter aspermissões apropriadas para acessar o AWS DMS. Para obter mais informações sobre as permissõesnecessárias para a migração de banco de dados, consulte Permissões do IAM necessárias para o usodo AWS DMS (p. 33).

2. No painel de navegação, selecione Subnet Groups.3. Selecione Create Subnet Group.4. Na página Edit Replication Subnet Group, mostrada a seguir, especifique as informações do seu grupo

de sub-rede de replicação. A tabela a seguir descreve as configurações.

Versão da API API versão 2016-01-0173

Page 80: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de um grupo de sub-rede de replicação

Para esta opção Faça o seguinte

Identifier Digite um nome para o grupo de sub-rede de replicaçãoque contém de 8 a 16 caracteres ASCII imprimíveis(excluindo /,", e @). O nome deve ser exclusivo à suaconta na região da AWS que você selecionou. É possíveloptar por adicionar inteligência ao nome, como incluir aregião da AWS e a tarefa que está sendo realizada, porexemplo DMS-default-VPC.

Description Digite uma breve descrição do grupo de sub-rede dereplicação.

VPC Selecione o VPC que deseja usar para a migração dobanco de dados. Lembre-se de que o VPC deve ter, pelomenos, uma sub-rede em, pelo menos, duas Zonas dedisponibilidade.

Available Subnets Escolha as sub-redes que deseja incluir no grupo de sub-rede de replicação. Você deve selecionar sub-redes em,pelo menos, duas Zonas de disponibilidade.

5. Selecione Add para adicionar as sub-redes ao grupo de sub-rede de replicação.6. Escolha Criar.

Versão da API API versão 2016-01-0174

Page 81: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfiguração de uma chave de criptografia

Configurar uma chave de criptografia para ainstância de replicação

O AWS DMS criptografa o armazenamento usado por uma instância de replicação e as informações deconexão do endpoint. Para criptografar o armazenamento usado por uma instância de replicação, o AWSDMS usa uma chave mestra exclusiva à sua conta da AWS. É possível visualizar e gerenciar essa chavemestra com o AWS Key Management Service (AWS KMS). Você pode usar a chave mestra padrão nasua conta (aws/dms) ou uma chave mestra personalizada criada por você. Se houver uma chave decriptografia existente do AWS KMS, também será possível usá-la para criptografar.

É possível especificar a sua própria chave de criptografia fornecendo um identificador de chave doKMS para criptografar os seus recursos do AWS DMS. Quando você especifica a sua própria chave decriptografia, a conta de usuário usada para realizar a migração do banco de dados deve ter acesso a ela.Para obter mais informações sobre criar as suas próprias chaves de criptografia e dar o acesso a umachave de criptografia aos usuários, consulte o Guia do desenvolvedor do AWS KMS.

Se você não especificar um identificador de chave do KMS, o AWS DMS usará a chave de criptografiapadrão. O KMS cria a chave de criptografia padrão do AWS DMS para a sua conta da AWS. A conta daAWS tem uma chave de criptografia padrão diferente para cada região da AWS.

Para gerenciar as chaves usadas para criptografar os recursos do AWS DMS, use o KMS. Para encontraro KMS no Console de gerenciamento da AWS, selecione Identity & Access Management, na página inicialdo console, e Encryption Keys, no painel de navegação.

O KMS combina hardware e software seguros e altamente disponíveis para fornecer um sistema degerenciamento de chave com escalonamento para a nuvem. Usando o KMS, é possível criar chaves decriptografia e definir as políticas que controlam como elas podem ser usadas. O KMS é compatível com oAWS CloudTrail, o que possibilita a auditoria do uso de chaves para verificar se elas estão sendo usadasadequadamente. As chaves do AWS KMS podem ser usadas em combinação com o AWS DMS e osserviços da AWS compatíveis, como o Amazon RDS, S3, Amazon Elastic Block Store (Amazon EBS) eAmazon Redshift.

Quando você cria os recursos do AWS DMS com uma chave de criptografia específica, não é possívelalterar a chave de criptografia desses recursos. Não se esqueça de determinar os requisitos da sua chavede criptografia antes de criar os recursos do AWS DMS.

Criar uma instância de replicaçãoA primeira tarefa da migração de um banco de dados é criar uma instância de replicação com poder dearmazenamento e processamento suficiente para realizar as tarefas que você atribui e migrar dados dobanco de dados de origem para o banco de dados de destino. O tamanho necessário dessa instância variade acordo com a quantidade de dados necessários para migrar e as tarefas que ela deve realizar. Paraobter mais informações sobre as instâncias de replicação, consulte Trabalhar com instância de replicaçãodo AWS DMS (p. 59).

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS. Vocêtambém pode realizar esta etapa selecionando Replication instances, no painel de navegação do consoledo AWS DMS, e Create replication instance.

Como criar uma instância de replicação usando o console da AWS

1. Na página Create replication instance, especifique as informações da instância de replicação. A tabelaa seguir descreve as configurações.

Versão da API API versão 2016-01-0175

Page 82: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma instância de replicação

Para esta opção Faça o seguinte

Name Digite um nome para a instância de replicação que contémde 8 a 16 caracteres ASCII imprimíveis (excluindo /,", e@). O nome deve ser exclusivo à sua conta na região daAWS que você selecionou. É possível optar por adicionarinteligência ao nome, como incluir a região da AWS e atarefa que você está realizando, por exemplo west2-mysql2mysql-instance1.

Description Digite uma breve descrição da instância de replicação.

Instance class Escolha uma classe de instância com a configuraçãonecessária para a migração. Lembre-se de que ainstância deve ter poder de armazenamento, de rede ede processamento suficiente para concluir a migraçãocom êxito. Para obter mais informações sobre comodeterminar a melhor classe de instância para a migração,consulte Trabalhar com instância de replicação do AWSDMS (p. 59).

Versão do mecanismo de replicação Por padrão, a instância de replicação executa a versãomais recente do software do mecanismo de replicação doAWS DMS. Recomendamos que você aceite esse padrão;no entanto, você pode escolher uma versão do mecanismoanterior, se necessário.

Versão da API API versão 2016-01-0176

Page 83: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma instância de replicação

Para esta opção Faça o seguinte

VPC Escolha o Amazon Virtual Private Cloud (Amazon VPC)que deseja usar. Se o seu banco de dados de origeme de destino estão em um VPC, escolha-o. Se o seubanco de dados de origem e de destino estão em VPCsdiferentes, assegure que ambos estejam em sub-redespúblicas e sejam publicamente acessíveis e escolha oVPC onde a instância de replicação deve ficar. A instânciade replicação deve poder acessar os dados no VPC deorigem. Se os bancos de dados de origem e de destinonão estão em um VPC, selecione o VPC onde a instânciade replicação deve ficar.

Multi-AZ Use este parâmetro opcional para criar uma réplica emespera da instância de replicação em outra Zona dedisponibilidade para suporte a failover. Se você pretendeusar captura de dados de alteração (CDC) ou replicaçãocontínua, ative esta opção.

Publicly accessible Escolha esta opção se quiser que a instância de replicaçãoseja acessível pela Internet.

2. Selecione a guia Advanced, mostrada a seguir, para definir valores para configurações de rede ecriptografia, se necessários. A tabela a seguir descreve as configurações.

Versão da API API versão 2016-01-0177

Page 84: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma instância de replicação

Para esta opção Faça o seguinte

Allocated storage (GB) O armazenamento é consumido principalmentepor arquivos de log e transações armazenadas emcache. Para transações armazenadas em cache, oarmazenamento só é usado quando elas devem sergravadas em disco. Portanto, o AWS DMS não usa umaquantidade significativa de armazenamento. Algumasexceções incluem o seguinte:

• Tabelas muito grandes que incorrem em uma cargade transação significativa. Carregar uma tabelagrande pode demorar um tempo, então transaçõesarmazenadas em cache têm mais chances de sergravadas em disco durante o carregamento de umatabela grande.

• Tarefas configuradas para pausar antes de carregartransações em cache. Nesse caso, todas as transaçõessão armazenadas em cache até que o carregamentoseja concluído para todas as tabelas. Com essaconfiguração, uma boa parte do armazenamento podeser consumida por transações armazenadas em cache.

• Tarefas configuradas com tabelas sendo carregadas noAmazon Redshift. Contudo, essa configuração não é umproblema quando o Amazon Aurora é o destino.

Na maioria dos casos, a alocação padrão dearmazenamento é suficiente. Entretanto, convém prestaratenção em métricas relacionadas ao armazenamento eescalá-lo se achar que você está consumindo mais do quea alocação padrão.

Replication Subnet Group Escolha o grupo de sub-rede de replicação no VPCselecionado onde deseja que instância de replicaçãoseja criada. Se o banco de dados de origem está em umVPC, escolha o grupo de sub-rede que contém o bancode dados de origem como local da instância de replicação.Para obter mais informações sobre grupos de sub-rede dereplicação, consulte Criação de um grupo de sub-rede dereplicação (p. 73).

Availability zone Escolha a Zona de disponibilidade onde o seu banco dedados de origem está.

VPC Security group(s) A instância de replicação é criada em um VPC. Se o bancode dados de origem está em um VPC, selecione o securitygroup de VPC que fornece acesso à instância de banco dedados onde o banco de dados reside.

Versão da API API versão 2016-01-0178

Page 85: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioModificar uma instância de replicação

Para esta opção Faça o seguinte

KMS master key Escolha a chave de criptografia a ser usada paracriptografar o armazenamento de replicação e asinformações de conexão. Se você escolher (Default) aws/dms, a chave padrão do AWS Key Management Service(AWS KMS) associada à sua conta e região da AWSserá usada. Uma descrição e o número da sua contaaparecem juntamente com o ARN da chave. Para obtermais informações sobre o uso da chave de criptografia,consulte Configuração de uma chave de criptografia eespecificação de permissões do KMS (p. 47).

3. Especifique as configurações de Manutenção. A tabela a seguir descreve as configurações. Para obtermais informações sobre as configurações de manutenção, consulte Janela de manutenção do AWSDMS (p. 62).

Para esta opção Faça o seguinte

Auto minor version upgrade Selecione para que as atualizações secundárias domecanismo sejam aplicadas automaticamente à instânciade replicação durante a janela de manutenção.

Maintenance window Escolha o período semanal durante o qual pode ocorrer amanutenção do sistema, em UTC (Universal CoordinatedTime).

Padrão: uma janela de 30 minutos selecionadaaleatoriamente a partir de um bloco de tempo de 8 horaspor região da AWS, ocorrendo em um dia da semanaaleatório.

4. Selecione Create replication instance.

Modificar uma instância de replicaçãoVocê pode modificar as configurações de uma instância de replicação para, por exemplo, alterar a classede instância ou para aumentar o armazenamento.

Quando você modifica uma instância de replicação, pode aplicar as alterações imediatamente. Paraaplicar as alterações imediatamente, você seleciona a opção Apply changes immediately no Console de

Versão da API API versão 2016-01-0179

Page 86: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioModificar uma instância de replicação

gerenciamento da AWS, use o parâmetro --apply-immediately ao chamar a CLI da AWS o defina oparâmetro ApplyImmediately como true ao usar a DMS API da AWS.

Se você não optar por aplicar as alterações imediatamente, elas serão colocadas na fila de modificaçõespendentes. Durante a próxima janela de manutenção, todas as alterações pendentes na fila serãoaplicadas.

Note

Se você optar por aplicar as alterações imediatamente, todas as alterações na fila demodificações pendentes também serão aplicadas. Se qualquer uma das alterações pendentesexigir tempo de inatividade, escolher Apply changes immediately poderá causar um tempo deinatividade inesperado.

Para modificar uma instância de replicação usando o console AWS

1. Faça login no console do API Gateway e selecione AWS DMS.2. No painel de navegação, selecione Replication instances.3. Escolha a instância de replicação que você deseja modificar. A tabela a seguir descreve as

modificações que podem ser feitas.

Para esta opção Faça o seguinte

Name Você pode alterar o nome da instância de replicação.Digite um nome para a instância de replicação que contémde 8 a 16 caracteres ASCII imprimíveis (excluindo /,", e@). O nome deve ser exclusivo à sua conta na região daAWS que você selecionou. É possível optar por adicionarinteligência ao nome, como incluir a região da AWS e atarefa que você está realizando, por exemplo west2-mysql2mysql-instance1.

Instance class Você pode alterar a classe da instância. Escolha umaclasse de instância com a configuração necessáriapara a migração. Alterar a classe de instância faz comque a instância de replicação seja reinicializada. Essareinicialização ocorre durante a próxima janela demanutenção ou pode ocorrer imediatamente, se vocêselecionar a opção Apply changes immediately.

Para obter mais informações sobre como determinar amelhor classe de instância para a migração, consulteTrabalhar com instância de replicação do AWSDMS (p. 59).

Versão do mecanismo de replicação Você pode atualizar a versão do mecanismo usada pelainstância de replicação. Atualizar a versão do mecanismode replicação faz com que a instância de replicação sejaencerrada durante sua atualização.

Multi-AZ Você pode alterar essa opção para criar uma réplicade espera da instância de replicação em outra Zona dedisponibilidade para suporte a failover. Ou pode removeressa opção. Se você pretende usar a captura de dadosde alteração (CDC) ou a replicação contínua, ative estaopção.

Allocated storage (GB) O armazenamento é consumido principalmentepor arquivos de log e transações armazenadas em

Versão da API API versão 2016-01-0180

Page 87: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioModificar uma instância de replicação

Para esta opção Faça o seguintecache. Para transações armazenadas em cache, oarmazenamento só é usado quando elas devem sergravadas em disco. Portanto, o AWS DMS não usa umaquantidade significativa de armazenamento. Algumasexceções incluem o seguinte:

• Tabelas muito grandes que incorrem em uma cargade transação significativa. Carregar uma tabelagrande pode demorar um tempo, então transaçõesarmazenadas em cache têm mais chances de sergravadas em disco durante o carregamento de umatabela grande.

• Tarefas configuradas para pausar antes de carregartransações em cache. Nesse caso, todas as transaçõessão armazenadas em cache até que o carregamentoseja concluído para todas as tabelas. Com essaconfiguração, uma boa parte do armazenamento podeser consumida por transações armazenadas em cache.

• Tarefas configuradas com tabelas sendo carregadas noAmazon Redshift. Contudo, essa configuração não é umproblema quando o Amazon Aurora é o destino.

Na maioria dos casos, a alocação padrão dearmazenamento é suficiente. Entretanto, convém prestaratenção em métricas relacionadas ao armazenamento eescalá-lo se achar que você está consumindo mais do quea alocação padrão.

VPC Security Group(s) A instância de replicação é criada em um VPC. Se o bancode dados de origem está em um VPC, selecione o securitygroup de VPC que fornece acesso à instância de banco dedados onde o banco de dados reside.

Auto minor version upgrade Escolha essa opção para que as atualizações secundáriassejam aplicadas automaticamente à instância dereplicação durante a janela de manutenção, ouimediatamente, se você selecionar a opção Apply changesimmediately.

Maintenance window Escolha o período semanal durante o qual pode ocorrer amanutenção do sistema, em UTC (Universal CoordinatedTime).

Padrão: uma janela de 30 minutos selecionadaaleatoriamente a partir de um bloco de tempo de 8 horaspor região da AWS, ocorrendo em um dia da semanaaleatório.

Apply changes immediately Escolha essa opção para aplicar imediatamente todasas modificações feitas. Dependendo das configuraçõesescolhidas, escolher essa opção pode causar umareinicialização imediata da instância de replicação.

Versão da API API versão 2016-01-0181

Page 88: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioReinicialização de uma instância de replicação

Reinicialização de uma instância de replicaçãoVocê pode reinicializar uma instância de replicação do AWS DMS para reiniciar o mecanismo dereplicação. Uma reinicialização resulta em uma interrupção momentânea da instância de replicação,durante a qual o status da instância é definido como Rebooting (Reinicializando). Se a instância do AWSDMS estiver configurada para Multi-AZ, a reinicialização será realizada com um failover. Um evento doAWS DMS é criado quando a reinicialização é concluída.

Se sua instância do AWS DMS for uma implantação Multi-AZ, você poderá forçar um failover em uma Zonade disponibilidade da AWS para outra ao reinicializar. Ao forçar um failover de sua instância do AWS DMS,o AWS DMS automaticamente alterna para uma instância em espera em outra Zona de disponibilidade. Areinicialização com failover é útil quando você deseja simular uma falha de uma instância do AWS DMSpara fins de teste.

Se houver tarefas de migração em execução na instância de replicação quando ocorrer umareinicialização, não haverá perda de dados, e a tarefa será retomada depois que a reinicialização forconcluída. Se as tabelas na tarefa de migração estiverem no meio de uma fase de carga em massa (fasede carga total), o DMS reiniciará a migração dessas tabelas desde o início. Se as tabelas na tarefa demigração estiverem na fase de replicação contínua, a tarefa será retomada depois que a reinicialização forconcluída.

Você não pode reinicializar sua instância de replicação do AWS DMS se ela não estiver no estadoAvailable (Disponível). Sua instância do AWS DMS pode se tornar indisponível por vários motivos,como uma modificação solicitada anteriormente ou uma ação no intervalo de manutenção. O temponecessário para reinicializar uma instância de replicação do AWS DMS normalmente é pequeno (menos de5 minutos).

Reinicialização de uma instância de replicação usando o consoleAWSPara reinicializar uma instância de replicação, use o console AWS.

Para reinicializar uma instância de replicação usando o console AWS

1. Faça login no console do API Gateway e selecione AWS DMS.2. No painel de navegação, selecione Replication instances.3. Escolha a instância de replicação que você deseja reinicializar.4. Escolha Reboot.5. Na caixa de diálogo Reboot replication instance (Reinicializar instância de replicação), escolha Reboot

With Failover? (Reinicializar com failover) se você tiver configurado sua instância de replicação paraimplantação Multi-AZ e desejar fazer failover para outra Zona de disponibilidade da AWS.

6. Escolha Reboot.

Reinicializar uma instância de replicação usando a CLIPara reinicializar uma instância de replicação, use o comando reboot-replication-instance daAWS CLI com o seguinte parâmetro:

• --replication-instance-arn

Example Exemplo de reinicialização simples

O exemplo da AWS CLI a seguir reinicializa uma instância de replicação.

Versão da API API versão 2016-01-0182

Page 89: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioReinicialização de uma instância de replicação

aws dms reboot-replication-instance \--replication-instance-arn arnofmyrepinstance

Example Exemplo de reinicialização simples com failover

O exemplo da AWS CLI a seguir reinicializa uma instância de replicação com failover.

aws dms reboot-replication-instance \--replication-instance-arn arnofmyrepinstance \--force-failover

Reinicializar uma instância de replicação usando a APIPara reinicializar uma instância de replicação, use a ação RebootReplicationInstance da API doAWS DMS com os seguintes parâmetros:

• ReplicationInstanceArn = arnofmyrepinstance

Example Exemplo de reinicialização simples

O exemplo a seguir reinicializa uma instância de replicação.

https://dms.us-west-2.amazonaws.com/?Action=RebootReplicationInstance&DBInstanceArn=arnofmyrepinstance&SignatureMethod=HmacSHA256&SignatureVersion=4&Version=2014-09-01&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request&X-Amz-Date=20140425T192732Z&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date&X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

Example Exemplo de reinicialização simples com failover

O exemplo de código a seguir reinicializa uma instância de replicação e faz failover em outra Zona dedisponibilidade da AWS.

https://dms.us-west-2.amazonaws.com/?Action=RebootReplicationInstance&DBInstanceArn=arnofmyrepinstance&ForceFailover=true&SignatureMethod=HmacSHA256&SignatureVersion=4&Version=2014-09-01&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request&X-Amz-Date=20140425T192732Z&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date&X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

Versão da API API versão 2016-01-0183

Page 90: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioExclusão de uma instância de replicação

Exclusão de uma instância de replicaçãoExclua uma instância de replicação do AWS DMS assim que terminar de usá-la. Se tiver tarefas demigração que usam a instância de replicação, é necessário encerrar e excluir as tarefas antes de excluir ainstância de replicação.

Se fechar a conta da AWS, todos as configurações e recursos do AWS DMS associados à conta serãoexcluídos após dois dias. Esses recursos incluem todas as instâncias de replicação, configuração deendpoint de origem e de destino, tarefas de replicação e certificados SSL. Se após dois dias você decidirusar o AWS DMS novamente, crie novamente os recursos necessários.

Exclusão de uma instância de replicação usando o console AWSPara excluir uma instância de replicação, use o console AWS.

Para excluir uma instância de replicação usando o console AWS

1. Faça login no console do API Gateway e selecione AWS DMS.2. No painel de navegação, selecione Replication instances.3. Selecione a instância de replicação que deseja excluir.4. Escolha Delete.5. Na caixa de diálogo , , escolha Delete.

Exclusão de uma instância de replicação usando a CLIPara excluir uma instância de replicação, use o comando delete-replication-instance da AWS CLIcom o seguinte parâmetro:

• --replication-instance-arn

Example Exemplo de exclusão

O exemplo da AWS CLI a seguir exclui uma instância de replicação.

aws dms delete-replication-instance \--replication-instance-arn <arnofmyrepinstance>

Exclusão de uma instância de replicação usando a APIPara excluir uma instância de replicação, use a ação DeleteReplicationInstance da API do AWSDMS com os seguintes parâmetros:

• ReplicationInstanceArn = <arnofmyrepinstance>

Example Exemplo de exclusão

O exemplo de código a seguir exclui uma instância de replicação.

https://dms.us-west-2.amazonaws.com/?Action=DeleteReplicationInstance&DBInstanceArn=arnofmyrepinstance&SignatureMethod=HmacSHA256&SignatureVersion=4

Versão da API API versão 2016-01-0184

Page 91: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioDeclarações DDL compatíveis

&Version=2014-09-01&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request&X-Amz-Date=20140425T192732Z&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date&X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

Instruções DDL compatíveis com AWS DMSVocê pode executar declarações de Data Definition Language (DDL - Linguagem de definição de dados)no banco de dados de origem durante o processo de migração de dados. As declarações serão replicadaspara o banco de dados de destino pelo servidor de replicação.

Declarações DDL compatíveis incluem o seguinte:

• Criar tabela• Soltar tabela• Renomear tabela• Adicionar coluna• Soltar coluna• Renomear coluna• Alterar tipo de dados de coluna

Para obter informações sobre as declarações DDL que são compatíveis com uma origem específica,consulte o tópico que descreve a origem.

Versão da API API versão 2016-01-0185

Page 92: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioOrigens para a migração de dados

Trabalhar com endpoints do AWSDMS

Um endpoint fornece conexão, tipo de armazenamento de dados e informações de localização sobre seuarmazenamento de dados. O AWS Database Migration Service usa essas informações para se conectara um datastore e migrar dados de um endpoint de origem para um endpoint de destino. Para especificaroutros atributos de conexão para um endpoint, use atributos de conexão extras. Esses atributos podemcontrolar o registro em log, o tamanho do arquivo e outros parâmetros. Para obter mais informações sobreos atributos de conexão extra, consulte a seção da documentação de seu armazenamento de dados.

Veja a seguir mais detalhes sobre endpoints.

Tópicos• Origens para a migração de dados (p. 86)• Destinos para a migração de dados (p. 150)• Criação de endpoints de origem e destino (p. 193)

Origens para a migração de dadosO AWS Database Migration Service (AWS DMS) usa vários dos mecanismos de dados mais popularescomo origem para a replicação de dados. A origem do banco de dados pode ser um mecanismoautogerenciado sendo executado em uma instância do Amazon Elastic Compute Cloud (Amazon EC2), ouum banco de dados local. Ou pode ser uma fonte de dados em um serviço gerenciado pela Amazon, comoo Amazon Relational Database Service (Amazon RDS) ou Amazon S3.

Entre as origens válidas do AWS DMS, estão:

Bancos de dados locais e de instância Amazon EC2

• Versões do Oracle 10.2 e superior, 11g e até a 12.2, para as edições Enterprise, Standard, StandardOne e Standard Two.

• Versões do Microsoft SQL Server 2005, 2008, 2008R2, 2012, 2014 e 2016 para as edições Enterprise,Standard, Workgroup e Developer. As edições Web e Express não são compatíveis.

• MySQL, versões 5.5, 5.6 e 5.7.• MariaDB (compatível como fonte de dados compatível com o MySQL).• PostgreSQL 9.4 e superior.• SAP Adaptive Server Enterprise (ASE) versões 12.5.3 ou superior, 15, 15.5, 15.7, 16 e posteriores.• MongoDB versões 2.6.x e 3.x e as posteriores.• Versões do Db2 LUW:

• Versão 9.7, todos os Fix Packs são compatíveis.• Versão 10.1, todos os Fix Packs são compatíveis.• Versão 10.5, todos os Fix Packs são compatíveis, exceto Fix Pack 5.

Versão da API API versão 2016-01-0186

Page 93: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Microsoft Azure

• AWS DMS aceita o carregamento de dados total quando usa um banco de dados do Azure SQL comoorigem. A Captura de dados de alterações (CDC) não é compatível.

Instâncias de bancos de dados Amazon RDS

• Versões do Oracle 11g (versões 11.2.0.3.v1 e superior) e 12c, para as edições Enterprise, Standard,Standard One e Standard Two.

• Versões do Microsoft SQL Server 2008R2, 2012, 2014 e 2016 para edições Enterprise e Standard. CDCé suportado para todas as versões do Enterprise Edition. CDC só é compatível com a versão 2016 doStandard Edition SP1 e versões posteriores. As edições Web, Workgroup, Developer e Express não sãocompatíveis; com AWS DMS.

• MySQL versões 5.5, 5.6 e 5.7. A captura de dados de alteração (CDC) é compatível apenas com asversões 5.6 e versões superiores.

• PostgreSQL 9.4 e superior. A CDC é compatível apenas com as versões 9.4.9 e superior e 9.5.4 esuperior. O parâmetro rds.logical_replication, necessário para CDC, é compatível apenas comessas versões e versões superiores.

• MariaDB (compatível como fonte de dados compatível com o MySQL).• Amazon Aurora com compatibilidade do MySQL.

Amazon S3

• AWS DMS aceita o carregamento de dados total e a captura de dados de alterações (CDC) ao usar oAmazon S3 como origem.

Tópicos• Uso de um banco de dados Oracle como origem para o AWS DMS (p. 87)• Uso de um banco de dados Microsoft SQL Server como origem para o AWS DMS (p. 102)• Uso de um banco de dados Microsoft Azure SQL como origem para o AWS DMS (p. 113)• Uso do banco de dados PostgreSQL como origem para o AWS DMS (p. 113)• Uso de um banco de dados compatível com MySQL como origem para o AWS DMS (p. 125)• Uso de um banco de dados SAP ASE como origem para o AWS DMS (p. 134)• Uso do MongoDB como origem para o AWS DMS (p. 137)• Uso do Amazon S3 como origem para o AWS DMS (p. 142)• Uso de um IBM Db2 para banco de dados Linux, Unix e Windows (Db2 LUW) como origem para o

AWS DMS (p. 147)

Uso de um banco de dados Oracle como origem parao AWS DMSVocê pode migrar dados de um ou vários bancos de dados Oracle com o AWS DMS. Usando um bancode dados Oracle como origem, você pode migrar dados para qualquer um dos destinos compatíveis com oAWS DMS.

Para bancos de dados Oracle autogerenciados, o AWS DMS oferece suporte a todas as edições de bancode dados Oracle para versões 10.2 e posteriores, 11g e até 12.2 para bancos de dados autogerenciadoscomo origens. Para bancos de dados Oracle gerenciadas pela Amazon fornecidos pelo Amazon RDS,

Versão da API API versão 2016-01-0187

Page 94: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

o AWS DMS oferece suporte a todas as edições do banco de dados Oracle para versões 11g (versões11.2.0.3.v1 e posteriores) até 12.2.

Você pode usar SSL para criptografar conexões entre o endpoint do Oracle e a instância de replicação.Para obter mais informações sobre o uso de SSL com um endpoint do Oracle, consulte Uso de SSL com oAWS Database Migration Service (p. 49).

As etapas para configurar um banco de dados Oracle como origem para origem do AWS DMS são asseguintes:

1. Se você quiser criar uma carga completa somente para CDC ou mais tarefa de CDC, precisaráescolher o Oracle LogMiner ou o Oracle Binary Reader para capturar as alterações de dados.Escolher o LogMiner ou Binary Reader determina algumas das permissões subsequentes e tarefasde configuração. Para obter uma comparação entre o LogMiner e Binary Reader, consulte a próximaseção.

2. Crie um usuário do Oracle com as permissões apropriadas para o AWS DMS. Se você estiver criandouma única tarefa de carga total, nenhuma outra configuração será necessária.

3. Se você estiver criando uma tarefa de carga total mais CDC ou uma tarefa somente para CDC,configure o Oracle para LogMiner ou o Binary Reader.

4. Crie um endpoint de DMS que esteja de acordo com sua configuração escolhida.

Para obter mais detalhes sobre a utilização dos bancos de dados Oracle e do AWS DMS, consulte asseguintes seções.

Tópicos• Uso do Oracle LogMiner ou Oracle Binary Reader para capturar de dados de alteração

(CDC) (p. 88)• Trabalhar com um banco de dados Oracle autogerenciado como uma origem para o AWS DMS

(p. 90)• Trabalhar com um banco de dados Oracle gerenciado pela Amazon como uma origem para o AWS

DMS (p. 93)• Limitações de uso do Oracle como origem para o AWS DMS (p. 96)• Atributos de conexão adicionais ao usar o Oracle como origem para o AWS DMS (p. 97)• Tipos de dados de origem do Oracle (p. 99)

Uso do Oracle LogMiner ou Oracle Binary Reader para capturarde dados de alteração (CDC)A Oracle oferece dois métodos para a leitura de logs redo durante o processamento de alterações: OracleLogMiner e Oracle Binary Reader. O Oracle LogMiner fornece uma interface para o Oracle SQL on-line elogs redo arquivados. Binary Reader é um recurso do AWS DMS que lê e analisa os arquivos de redo logbrutos diretamente.

Por padrão, o AWS DMS usa o Oracle LogMiner para capturar dados de alterações (CDC). As vantagensde usar o LogMiner com o AWS DMS incluem:

• O LogMiner oferece suporte à maioria das opções do Oracle, como por exemplo, as opções decriptografia e de compactação. O Binary Reader não oferece suporte a todas as opções do Oracle,particularmente às opções de criptografia e compactação.

• O LogMiner oferece uma configuração mais simples, especialmente se comparada com a configuraçãode acesso direto do Oracle Binary Reader ou se os logs de restauração estiverem no Automatic StorageManagement (ASM).

Versão da API API versão 2016-01-0188

Page 95: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

• O LogMiner suporta é totalmente compatível com a maioria das opções de criptografia da Oracle,incluindo o Oracle Transparent Data Encryption (TDE).

• O LogMiner é compatível com os seguintes tipos de compressão HCC para carregamento total ereplicação contínua (CDC):• QUERY HIGH• ARCHIVE HIGH• ARCHIVE LOW• QUERY LOW

O Binary Reader suporta a compressão QUERY LOW apenas para as repetições de carga total, não emandamento (CDC).

• O LogMiner oferece suporte a clusters de tabela para uso com o AWS DMS. Binary Reader não.

As vantagens de usar o Binary Reader com o AWS DMS no lugar do LogMiner são:

• Para migrações com um alto volume de alterações, o LogMiner pode afetar a E/S ou a CPU docomputador que hospeda o banco de dados Oracle de origem. Binary Reader tem menos chance de terimpacto de CPU ou de E/S, pois os logs de arquivamento são copiados para a instância de replicação edeixadas lá.

• Para migrações com um alto volume de alterações, o desempenho da captura de dados de alterações(CDC) é, em geral, muito melhor usando o Binary Reader do que o Oracle LogMiner.

• O Binary Reader oferece suporte a CDC para LOBs no Oracle versão 12c. O LogMiner não oferecesuporte.

• O Binary Reader é compatível com os seguintes tipos de compressão HCC para carregamento total ereplicação contínua (CDC):• QUERY HIGH• ARCHIVE HIGH• ARCHIVE LOW

O tipo de compressão QUERY LOW só é aceito para migrações de carregamento total.

Como regra geral, use o Oracle LogMiner para migrar um banco de dados Oracle, a menos que você seencontre em uma das seguintes situações:

• Você precisa executar várias tarefas de migração no banco de dados Oracle de origem.• Os volumes de alterações ou do log REDO do banco de dados Oracle de origem são grandes.• Você está migrando LOBs de um endpoint de origem Oracle 12.2 ou posterior.• Se sua carga de trabalho incluir instruções UPDATE que atualizam apenas colunas LOB você deverá

usar o Binary Reader. Essas instruções de atualização não são compatíveis com o Oracle LogMiner.• Se a origem for Oracle versão 11 e você executar instruções UPDATE em XMLTYPE e colunas LOB,

precisará usar o Binary Reader. Essas instruções não são compatíveis com o Oracle LogMiner.• No Oracle 12c, o LogMiner não oferece suporte a colunas do tipo LOB. Você precisará usar o Binary

Reader se estiver migrando colunas LOB do Oracle 12c.

Configurações para a captura de dados de alteração (CDC) em um banco dedados de origem da Oracle

Quando você usa o Oracle como um endpoint de origem para carregamento total e Change Data Capture(CDC) ou apenas para CDC, você deve definir um atributo de conexão extra. Esse atributo especifica seé necessário usar o LogMiner ou o Binary Reader para acessar os logs de transação. Você especifica um

Versão da API API versão 2016-01-0189

Page 96: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

atributo de conexão adicional ao criar o endpoint de origem. Várias configurações de atributo de conexãoadicionais devem ser separadas por ponto-e-vírgula.

O LogMiner é usado por padrão, portanto, você não precisa especificar explicitamente seu uso. A habilitaro Binary Reader para acessar os logs de transação, adicione o seguinte atributo de conexão extra.

useLogMinerReader=N; useBfile=Y

Se o banco de dados Oracle de origem usar o Oracle ASM (Automatic Storage Management), o atributode conexão adicional deverá incluir o nome de usuário e endereço de servidor do ASM. Quando você criao endpoint de origem, o campo de senha precisa ter senhas, a senha do usuário de origem e a senha doASM.

Por exemplo, o seguinte formato de atributo de conexão extra é usado para acessar um servidor que utilizao Oracle ASM.

useLogMinerReader=N;asm_user=<asm_username>;asm_server=<first_RAC_server_ip_address>:<port_number>/+ASM

Se o banco de dados Oracle de origem usar o Oracle ASM, o campo de senha do endpoint de origemdeverá ter a senha de usuário do Oracle e a senha do ASM separadas por vírgula. Por exemplo, oseguinte funciona no campo de senha.

<oracle_user_password>,<asm_user_password>

Limitações de CDC em um banco de dados de origem do OracleAs seguintes limitações se aplicam quando um banco de dados Oracle é usado como origem para acaptura de dados de alteração do AWS DMS:

• O AWS DMS não captura as alterações feitas pelo pacote Oracle DBMS_REDEFINITION, como porexemplo alterações a metadados de tabelas e o valor de OBJECT_ID.

• O AWS DMS não oferece suporte a tabelas organizadas por índice com segmento para excedente nomodo de CDC quando usa BFILE. Um exemplo é quando você acessa os logs de restauração sem usaro LogMiner.

Trabalhar com um banco de dados Oracle autogerenciado comouma origem para o AWS DMSUm banco de dados autogerenciados é um banco de dados que você configura e controla, de maneiralocal, por uma instância de banco de dados no local ou um banco de dados no Amazon EC2. A seguir,você encontrará informações sobre os privilégios e as configurações que precisa configurar ao usar umbanco de dados Oracle autogerenciado com o AWS DMS.

Privilégios de conta de usuário necessários para usar o Oracle autogerenciadocomo origem para o AWS DMSPara usar um banco de dados Oracle como origem em uma tarefa do AWS DMS, o usuário especificadonas definições do banco de dados Oracle do AWS DMS deve possuir os seguintes privilégios no banco dedados Oracle. Ao conceder privilégios, use o nome real do objeto (por exemplo, V_$OBJECT incluindo osublinhado), e não o sinônimo para o objeto (por exemplo, V_$OBJECT sem o sublinhado).

GRANT SELECT ANY TRANSACTION to <dms_user>

Versão da API API versão 2016-01-0190

Page 97: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

GRANT SELECT on V_$ARCHIVED_LOG to <dms_user>GRANT SELECT on V_$LOG to <dms_user>GRANT SELECT on V_$LOGFILE to <dms_user>GRANT SELECT on V_$DATABASE to <dms_user>GRANT SELECT on V_$THREAD to <dms_user>GRANT SELECT on V_$PARAMETER to <dms_user>GRANT SELECT on V_$NLS_PARAMETERS to <dms_user>GRANT SELECT on V_$TIMEZONE_NAMES to <dms_user>GRANT SELECT on V_$TRANSACTION to <dms_user>GRANT SELECT on ALL_INDEXES to <dms_user>GRANT SELECT on ALL_OBJECTS to <dms_user>GRANT SELECT on DBA_OBJECTS to <dms_user> (required if the Oracle version is earlier than 11.2.0.3)GRANT SELECT on ALL_TABLES to <dms_user>GRANT SELECT on ALL_USERS to <dms_user>GRANT SELECT on ALL_CATALOG to <dms_user>GRANT SELECT on ALL_CONSTRAINTS to <dms_user>GRANT SELECT on ALL_CONS_COLUMNS to <dms_user>GRANT SELECT on ALL_TAB_COLS to <dms_user>GRANT SELECT on ALL_IND_COLUMNS to <dms_user>GRANT SELECT on ALL_LOG_GROUPS to <dms_user>GRANT SELECT on SYS.DBA_REGISTRY to <dms_user>GRANT SELECT on SYS.OBJ$ to <dms_user>GRANT SELECT on DBA_TABLESPACES to <dms_user>GRANT SELECT on ALL_TAB_PARTITIONS to <dms_user>GRANT SELECT on ALL_ENCRYPTED_COLUMNS to <dms_user>GRANT SELECT on V_$LOGMNR_LOGS to <dms_user>GRANT SELECT on V_$LOGMNR_CONTENTS to <dms_user>

Ao usar a replicação contínua (CDC), você precisa dessas permissões adicionais.

• A permissão a seguir é necessária ao usar CDC para que o AWS DMS possa adicionar logs redo aoOracle LogMiner para 11g e 12c.

Grant EXECUTE ON dbms_logmnr TO <dms_user>;

• A permissão a seguir é necessária ao usar CDC para que o AWS DMS possa adicionar logs redo aoOracle LogMiner somente para 12c.

Grant LOGMINING TO <dms_user>;

Se você estiver usando qualquer um dos recursos adicionais, estas permissões adicionais sãonecessárias:

• Se as exibições são apresentadas, conceda SELECT em ALL_VIEWS para <dms_user>.• Se você usar um padrão para corresponder a nomes de tabela na sua tarefa de replicação, conceda

SELECT ANY TABLE.• Se você especificar uma lista de tabelas na sua tarefa de replicação, conceda SELECT em cada tabela

na lista.• Se você adicionar registro suplementar, conceda o privilégio ALTER ANY TABLE.• Se você adicionar registro suplementar e usar uma lista de tabelas específica, conceda o privilégio

ALTER para cada tabela da lista.• Se você migrar do Oracle RAC, conceda a permissão SELECT nas exibições materializadas com os

prefixos g_$ e v_$.

Versão da API API versão 2016-01-0191

Page 98: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Configurar uma origem do Oracle autogerenciado para o AWS DMS

Antes de usar um banco de dados autogerenciado Oracle como origem para AWS DMS, você precisaexecutar várias tarefas:

• Conceda acesso à conta do Oracle – Você deve informar uma conta de usuário Oracle para o AWSDMS. A conta de usuário deve ter privilégios de leitura/gravação no banco de dados Oracle, comoespecificado na seção anterior.

• Certifique-se de que o modo ARCHIVELOG esteja ativado – O Oracle pode ser executado em doismodos distintos, os modos ARCHIVELOG e NOARCHIVELOG. Para usar o Oracle com o AWS DMS, obanco de dados de origem deve ser executado no modo ARCHIVELOG.

• Configure o registro complementar – Se você estiver planejando usar a origem em um CDC ou umatarefa CDC de carga total, precisará configurar o registro complementar para capturar as alterações parareplicação.

Há duas etapas para habilitar o registro complementar para o Oracle. Primeiro, você precisa habilitaro registro complementar no nível do banco de dados. Isso garante que o LogMiner tenha o mínimo deinformações para oferecer suporte a várias estruturas de tabela, como clusterizadas e tabelas organizadaspor índice. Em segundo lugar, você precisa habilitar o registro complementar em nível de tabela para cadatabela a ser migrada.

Para habilitar o registro complementar no nível do banco de dados

1. Execute a seguinte consulta para determinar se o registro complementar no nível do banco de dadosjá está habilitado. O resultado obtido deve ser de GE to 9.0.0.

SELECT name, value, description FROM v$parameter WHERE name = 'compatible';

2. Execute a seguinte consulta. O resultado obtido deve ser YES ou IMPLICIT.

SELECT supplemental_log_data_min FROM v$database;

3. Execute o seguinte comando para habilitar o registro suplementar no nível de banco de dados.

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Há dois métodos para habilitar o registro complementar no nível da tabela. No primeiro, se a sua conta deusuário do banco de dados tiver privilégios ALTER TABLE em todas as tabelas a serem migradas, vocêpoderá usar o parâmetro de conexão extra addSupplementalLogging , como descrito a seguir. Casocontrário, você poderá usar as etapas seguintes para cada tabela na migração.

Para habilitar o registro complementar no nível da tabela

1. Se a tabela tiver uma chave primária, adicione o registro complementar PRIMARY KEY à tabelaexecutando o comando a seguir.

ALTER TABLE <table_name> ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

2. Se nenhuma chave primária existir e a tabela tiver vários índices exclusivos, o AWS DMS usará oprimeiro índice exclusivo em ordem alfabética de nome de índice.

Crie um grupo de logs complementares conforme mostrado anteriormente nas colunas no índice.3. Se não há chave primária nem índice exclusivo, o registro suplementar deve ser adicionado a todas as

colunas. Execute o seguinte comando para habilitar o log suplementar para todas as colunas.

Versão da API API versão 2016-01-0192

Page 99: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

ALTER TABLE <table_name> ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

Em alguns casos, a chave primária da tabela de destino ou índice exclusivo são diferentes da chaveprimária da tabela de origem ou índice exclusivo. Nesses casos, adicione o registro complementar natabela de origem colunas que compõem a chave primária da tabela de destino ou índice exclusivo. Se vocêalterar a chave primária da tabela de destino, deve adicionar o registro suplementar às colunas do índiceselecionado, em vez das colunas da chave primária original ou do índice exclusivo.

Inclua registros adicionais se for necessário, como por exemplo se um filtro é definido para uma tabela.Se uma tabela possui um índice exclusivo ou uma chave primária, você precisa adicionar o registrosuplementar a cada coluna envolvida no filtro, caso essas colunas sejam diferentes das colunas da chaveprimária ou do índice exclusivo. No entanto, se a tabela já tiver o registro suplementar para todas ascolunas, você não precisa adicionar nenhum registro adicional.

ALTER TABLE <table_name> ADD SUPPLEMENTAL LOG GROUP <group_name> (<column_list>) ALWAYS;

Trabalhar com um banco de dados Oracle gerenciado pelaAmazon como uma origem para o AWS DMSUm banco de dados gerenciado pela Amazon é um banco de dados que está em um serviço da Amazon,como o Amazon RDS, Amazon Aurora ou Amazon S3. A seguir, você encontrará informações sobre osprivilégios e as configurações que precisa configurar ao usar um banco de dados Oracle gerenciado pelaAmazon com o AWS DMS.

Privilégios de conta de usuário necessários para usar o Oracle gerenciado pelaAmazon como origem para o AWS DMS

Para conceder privilégios para bancos de dados Oracle no Amazon RDS, use o procedimento armazenadordsadmin.rdsadmin_util.grant_sys_object. Para obter mais informações, consulte Concessãode privilégios SELECT ou EXECUTE a objetos SYS.

Conceda o seguinte acesso à conta de usuário do AWS DMS usada para acessar o endpoint de origem doOracle.

• GRANT SELECT ANY TABLE to <dms_user>;

• GRANT SELECT on ALL_VIEWS to <dms_user>;

• GRANT SELECT ANY TRANSACTION to <dms_user>;

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$THREAD','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','<dms_user>','SELECT');

Versão da API API versão 2016-01-0193

Page 100: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$NLS_PARAMETERS','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TIMEZONE_NAMES','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION','<dms_user>','SELECT');

• Execute o seguinte:

GRANT SELECT on ALL_INDEXES to <dms_user>;GRANT SELECT on ALL_OBJECTS to <dms_user>;GRANT SELECT on ALL_TABLES to <dms_user>;GRANT SELECT on ALL_USERS to <dms_user>;GRANT SELECT on ALL_CATALOG to <dms_user>;GRANT SELECT on ALL_CONSTRAINTS to <dms_user>;GRANT SELECT on ALL_CONS_COLUMNS to <dms_user>;GRANT SELECT on ALL_TAB_COLS to <dms_user>;GRANT SELECT on ALL_IND_COLUMNS to <dms_user>;GRANT SELECT on ALL_LOG_GROUPS to <dms_user>;

• Execute o seguinte: execrdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$','<dms_user>','SELECT');

• GRANT SELECT on DBA_TABLESPACES to <dms_user>;

• GRANT SELECT on ALL_TAB_PARTITIONS to <dms_user>;

• GRANT LOGMINING TO <dms_user>;

• Execute o seguinte: execrdsadmin.rdsadmin_util.grant_sys_object('ALL_ENCRYPTED_COLUMNS','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS','<dms_user>','SELECT');

• Execute o seguinte: exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','<dms_user>','SELECT');

• Execute o seguinte: execrdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR','<dms_user>','EXECUTE');

Configurar uma origem do Oracle gerenciado pela Amazon para o AWS DMS

Antes de usar um banco de dados Oracle gerenciado pela Amazon como origem para AWS DMS, vocêprecisa executar várias tarefas:

• Conceda acesso à conta do Oracle – Você deve informar uma conta de usuário Oracle para o AWSDMS. A conta de usuário deve ter privilégios de leitura/gravação no banco de dados Oracle, comoespecificado na seção anterior.

• Defina o período de retenção de backup para o seu banco de dados do Amazon RDS para um dia oumais – Definir o período de retenção de backup garante que o banco de dados esteja em execução nomodo ARCHIVELOG. Para obter mais informações sobre a configuração do período de retenção debackup, consulte Trabalhar com backups automatizados no Guia do usuário da Amazon RDS.

• Configurar a retenção de arquivos – Execute o seguinte para reter os logs redo arquivados da suainstância de banco de dados Oracle. Este comando permite que o AWS DMS recupere as informaçõesde log usando o LogMiner. Verifique se há armazenamento suficiente para os registros redo arquivadosdurante o período de migração.

Versão da API API versão 2016-01-0194

Page 101: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Neste exemplo, os logs são mantidos por 24 horas.

exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);

• Configure o registro complementar – Se você estiver planejando usar a origem em um CDC ouuma tarefa CDC de carga total, configure o registro complementar para capturar as alterações parareplicação.

Há duas etapas para habilitar o registro complementar para o Oracle. Primeiro, você precisa habilitaro registro complementar no nível do banco de dados. Isso garante que o LogMiner tenha o mínimode informações para oferecer suporte a várias estruturas de tabela, como clusterizadas e tabelasorganizadas por índice. Em segundo lugar, você precisa habilitar o registro complementar em nível detabela para cada tabela a ser migrada.

Para habilitar o registro complementar no nível do banco de dados

• Execute o seguinte comando para habilitar o registro suplementar no nível de banco de dados.

exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');

Para habilitar o registro complementar no nível da tabela

• Execute o comando a seguir para habilitar o registro PRIMARY KEY para tabelas que têm chavesprimárias.

exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');

Para tabelas que não possuem chaves primárias, use o seguinte comando para adicionar logssuplementares.

alter table <table_name> add supplemental log data (ALL) columns;

Além disso, ao criar novas tabelas sem especificar uma chave primária, você deve incluir uma cláusulade registro suplementar na instrução de criação ou alterar a tabela de forma a adicionar o registrosuplementar. O comando a seguir cria uma tabela e adiciona o registro suplementar.

create table <table_name> (<column_list>, supplemental log data (ALL) columns);

Se você criar uma tabela e mais tarde adicionar uma chave primária, precisará adicionar o registrosuplementar a essa tabela. Adicione o log suplementar à tabela usando o seguinte comando.

alter table <table_name> add supplemental log data (PRIMARY KEY) columns;

Configuração da Captura de dados de alteração (CDC) para uma origem AmazonRDS para Oracle para AWS DMS

Configure o AWS DMS para usar uma instância Amazon RDS para Oracle como origem da CDC. Useo Oracle Binary Reader com uma origem do Amazon RDS para Oracle (Oracle versões 11.2.0.4.v11 eposterior, e 12.1.0.2.v7 e posterior).

Versão da API API versão 2016-01-0195

Page 102: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Os seguintes atributos de conexão adicionais devem ser incluídos nas informações de conexão ao criar oendpoint de origem do Amazon RDS para Oracle:

useLogminerReader=N;useBfile=Y;accessAlternateDirectly=false;useAlternateFolderForOnline=true;

oraclePathPrefix=/rdsdbdata/db/ORCL_A/;usePathPrefix=/rdsdbdata/log/;replacePathPrefix=true

Limitações de uso do Oracle como origem para o AWS DMSAs seguintes limitações se aplicam quando um banco de dados Oracle é usado como origem do AWSDMS:

• O AWS DMS é compatível com as criptografias de dados transparente (TDE) e de tablespace do Oracle,e também a criptografia AWS Key Management Service (AWS KMS) quando usado com o OracleLogMiner. Nenhum outro método de criptografia é compatível.

• Tabelas com LOBs precisam ter uma chave primária para usar CDC.• O AWS DMS aceita a sintaxe rename table <table name> to <new table name> com o Oracle

versão 11 e posterior.• As colunas de bancos de dados de origem Oracle criadas usando a semântica de CHAR explícita são

transferidas para um banco de dados de destino Oracle usando a semântica de BYTE. Crie tabelas comcolunas desse tipo no banco de dados de destino Oracle antes de migrar.

• O AWS DMS não replica as alterações de dados resultantes da partição ou subpartição. As operaçõesde linguagem de definição de dados (DDL) operações, como ADD, DROP, INTERCÂMBIO ouTRUNCATE. Para replicar tais alterações, você precisa recarregar a tabela que está sendo replicada.O AWS DMS replica todas as futuras alterações de dados de partições adicionadas recentemente semque você precise recarregar a tabela. No entanto, as operações UPDATE em registros de dados antigosdessas partições devem falhar e gerar um aviso de 0 rows affected.

• A instrução de DDL ALTER TABLE ADD <column> <data_type> DEFAULT <> não replica o valorpadrão para o destino. A nova coluna do alvo está definida como NULL. Se a nova coluna for anulável(definida como nula), o Oracle atualizará todas as linhas da tabela antes de registrar o DDL. Comoresultado, o AWS DMS captura as alterações dos contadores, mas não atualiza o destino. Como anova coluna é definida como NULL, se a tabela de destino não tem nenhuma chave primária ou índiceexclusivo, as atualizações subsequentes irão gerar um aviso 0 rows affected.

• As alterações de dados geradas pela instrução CREATE TABLE AS não são compatíveis. No entanto, anova tabela é criada no destino.

• Quando o modo de LOB de tamanho limitado é ativado, o AWS DMS replica LOBs vazios na origem doOracle como valores NULL no destino.

• Quando o AWS DMS começa a CDC, ele mapeia o time stamp conforme o número de alteraçõesdo sistema (SCN) do Oracle. Por padrão, o Oracle mantém apenas cinco dias de time stamp para omapeamento de SCN. O Oracle gera um erro se o time stamp especificado é muito antigo (acima decinco dias de retenção). Para obter mais informações, consulte a documentação do Oracle.

• O AWS DMS não oferece suporte a conexões com uma origem do Oracle por meio de um proxy ASM.• O AWS DMS não aceita colunas virtuais.

Versão da API API versão 2016-01-0196

Page 103: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Atributos de conexão adicionais ao usar o Oracle como origempara o AWS DMSVocê pode usar atributos de conexão adicionais para configurar a origem do Oracle. Você especificaessas configurações ao criar o endpoint de origem. Várias configurações de atributo de conexão adicionaisdevem ser separadas umas das outras por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao configurar um banco de dadosOracle como origem para o AWS DMS.

Nome Descrição

addSupplementalLogging Defina este atributo para configurar a criação de logscomplementares no nível da tabela para o banco de dadosOracle. Este atributo permite o registro complementarPRIMARY KEY em todas as tabelas selecionadas para umatarefa de migração.

Valor padrão: N

Valores válidos: Y/N

Exemplo: addSupplementalLogging=Y

Note

Se você usar essa opção, ainda precisará habilitar acriação de logs complementares no nível do bancode dados, conforme discutido anteriormente:

additionalArchivedLogDestId Defina esse atributo com archivedLogDestId em umaconfiguração primária/espera. Este atributo é útil no caso deum failover. Nesse caso, o AWS DMS precisa saber de qualdestino obter logs redo de arquivo para ler alterações, porquea instância primária anterior passa a ser uma instância emespera após o failover.

useLogminerReader Defina esse atributo como Y para capturar alterações nosdados usando o utilitário LogMiner (padrão). Defina essaopção como N para que o AWS DMS acesse os logs derestauração como arquivos binários. Ao defini-lo como N,você deve também adicionar a configuração useBfile=Y.Para mais informações, consulte Uso do Oracle LogMiner ouOracle Binary Reader para capturar de dados de alteração(CDC) (p. 88).

Valor padrão: Y

Valores válidos: Y/N

Exemplo: useLogminerReader=N; useBfile=Y

Se o banco de dados Oracle de origem usar o Oracle ASM(Automatic Storage Management), o parâmetro de conexãoadicional deverá incluir o nome de usuário e endereço deservidor do ASM. O campo de senha também precisa ter asduas senhas: a senha de usuário de origem e a senha doASM, separadas por uma vírgula.

Versão da API API versão 2016-01-0197

Page 104: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Nome DescriçãoExemplo:useLogminerReader=N;asm_user=<asm_username>;asm_server=<first_RAC_server_ip_address>:<port_number>/+ASM

retryInterval Especifica o número de segundos que o sistema espera antesde enviar novamente uma consulta.

Valor padrão: 5

Valores válidos: número a partir de 1

Exemplo: retryInterval=6

archivedLogDestId Especifica o destino dos logs de restauração arquivados.O valor deve ser o mesmo que o número DEST_ID natabela $archived_log. Para definir vários destinos para oslogs (DEST_ID), recomendamos que você especifique umidentificador de local para logs de restauração arquivados.Fazer isso aprimora o desempenho ao garantir que os logscorretos sejam acessados no início.

Valor padrão: 0

Valores válidos: número

Exemplo: archivedLogDestId=1

archivedLogsOnly Quando esse campo é definido como Y, o AWS DMS sóacessa os logs de restauração arquivados. Se os logs derestauração arquivados estiverem armazenados somente noOracle ASM, será necessário conceder privilégios de ASM àconta de usuário do AWS DMS.

Valor padrão: N

Valores válidos: Y/N

Exemplo: archivedLogsOnly=Y

numberDataTypeScale Especifica a escala de números. Você pode selecionar umaescala de até 38 ou FLOAT. Por padrão, o tipo de dadosNUMBER é convertido para um valor com precisão 38 eescala 10.

Valor padrão: 10

Valores válidos: de -1 a 38 (-1 para FLOAT)

Exemplo: numberDataTypeScale =12

Versão da API API versão 2016-01-0198

Page 105: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Nome Descrição

afterConnectScript Especifica um script para ser executado imediatamente apósa conexão do AWS DMS com o endpoint.

Valores válidos: uma instrução SQL separada por ponto-e-vírgula. Nem todas as instruções SQL têm suporte.

Exemplo: afterConnectScript=ALTER SESSION SETCURRENT_SCHEMA = system;

failTasksOnLobTruncation Quando definido como true, esse atributo faz com que atarefa falhe, caso o tamanho real de uma coluna LOB sejasuperior ao LobMaxSize especificado.

Se a tarefa for definida como modo LOB limitado e essaopção estiver definida como true, a tarefa falhará em vez detruncar os dados de LOB.

Valor padrão: falso

Valores válidos: booleano

Exemplo: failTasksOnLobTruncation=true

readTableSpaceName Quando definido como true, esse atributo oferece suporte àreplicação de tablespace.

Valor padrão: falso

Valores válidos: booleano

Exemplo: readTableSpaceName =true

standbyDelayTime Use esse atributo para especificar um tempo em minutos parao atraso na sincronização de espera.

Com o AWS DMS versão 2.3.0 e posterior, crie uma tarefa dereplicação contínua do Oracle (CDC) que usa uma instânciade espera de proteção dos dados ativos do Oracle como umaorigem para a replicação de alterações contínuas em umdestino suportado. Isso elimina a necessidade de se conectara um banco de dados ativo que pode estar em produção.

Valor padrão: 0

Valores válidos: número

Exemplo: standbyDelayTime=1

Tipos de dados de origem do OracleO endpoint do Oracle para o AWS DMS oferece suporte à maioria dos tipos de dados do Oracle. A tabelaa seguir mostra os tipos de dados de origem do Oracle compatíveis com o AWS DMS e o mapeamentopadrão relativo aos tipos de dados do AWS DMS.

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Versão da API API versão 2016-01-0199

Page 106: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipo de dados do Oracle Tipo de dados do AWS DMS

BINARY_FLOAT REAL4

BINARY_DOUBLE REAL8

BINARY BYTES

FLOAT (P) Se a precisão é menor ou igual a 24, use REAL4.

Se a precisão é maior do que 24, use REAL8.

NUMBER (P,S) Quando a escala for menor do que 0, use REAL8

NUMBER, de acordo coma propriedade "Representarnúmero como” nasconfigurações do banco dedados Oracle de origem.

Quando a escala for 0:

• E a precisão for 0, use REAL8.• E a precisão for maior ou igual a 2, use INT1.• E a precisão for maior do que 2 e menor ou igual a 4, use INT2.• E a precisão for maior do que 4 e menor ou igual a 9, use INT4.• E a precisão for maior do que 9, use NUMERIC.• E a precisão for maior ou igual à escala, use NUMERIC.

Em todos os demais casos, use REAL8.

DATE DATETIME

INTERVAL YEAR TOMONTH

STRING (com indicação de intervalo de tempo em anos e meses)

INTERVAL DAY TOSECOND

STRING (com indicação de intervalo de tempo em dias e segundos)

TIME DATETIME

TIMESTAMP DATETIME

TIMESTAMP WITH TIMEZONE

STRING (com indicação de time stamp com fuso horário)

TIMESTAMP WITH LOCALTIME ZONE

STRING (com indicação de time stamp com fuso horário local)

CHAR STRING

VARCHAR2 STRING

NCHAR WSTRING

NVARCHAR2 WSTRING

RAW BYTES

REAL REAL8

BLOB BLOB

Versão da API API versão 2016-01-01100

Page 107: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como origem

Tipo de dados do Oracle Tipo de dados do AWS DMSPara usar esse tipo de dados no AWS DMS, você precisa habilitar o usode tipos de dados BLOB em uma tarefa específica. O AWS DMS oferecesuporte aos tipos de dados BLOB somente em tabelas que possuemuma chave primária.

CLOB CLOB

Para usar esse tipo de dados no AWS DMS, você precisa habilitar o usode tipos de dados CLOB em uma tarefa específica. Durante uma capturade dados de alteração (CDC), o AWS DMS oferece suporte aos tipos dedados CLOB somente em tabelas que incluem uma chave primária.

NCLOB NCLOB

Para usar esse tipo de dados no AWS DMS, você precisa habilitar ouso de tipos de dados NCLOB em uma tarefa específica. Durante umacaptura de dados de alteração (CDC), o AWS DMS oferece suporte aostipos de dados NCLOB somente em tabelas que incluem uma chaveprimária.

LONG CLOB

O tipo de dados LONG não é compatível no modo de aplicação em lotesotimizados (modo TurboStream CDC). Para usar esse tipo de dadosno AWS DMS, você precisa habilitar o uso de LOBs em uma tarefaespecífica. Durante uma captura de dados de alteração (CDC), o AWSDMS oferece suporte aos tipos de dados LOB somente em tabelas quepossuem uma chave primária.

LONG RAW BLOB

O tipo de dados LONG RAW não é compatível no modo de aplicaçãoem lotes otimizados (modo TurboStream CDC). Para usar esse tipode dados no AWS DMS, você precisa habilitar o uso de LOBs em umatarefa específica. Durante uma captura de dados de alteração (CDC), oAWS DMS oferece suporte aos tipos de dados LOB somente em tabelasque possuem uma chave primária.

XMLTYPE CLOB

Para que o tipo de dados XMLTYPE seja compatível, é necessária apresença do Oracle Client completo (e não do Oracle Instant Client).Quando a coluna de destino é um tipo CLOB, ambos os modos LOBcompleto e LOB limitado são compatíveis (dependendo do destino).

As tabelas de origem do Oracle que possuem colunas com os tipos de dados relacionados a seguir nãosão compatíveis e não podem ser replicadas. A replicação de colunas com esses tipos de dados resultaráem colunas nulas.

• BFILE• ROWID• REF• UROWID• Tabela aninhada• Tipos de dados definidos pelo usuário

Versão da API API versão 2016-01-01101

Page 108: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

• ANYDATA

Note

Colunas virtuais não são compatíveis.

Uso de um banco de dados Microsoft SQL Servercomo origem para o AWS DMSVocê pode migrar dados de um ou mais bancos de dados Microsoft SQL Server com o AWS DMS (AWSDMS). Usando um banco de dados SQL Server como origem, você pode migrar dados para outro bancode dados SQL Server ou para outros bancos de dados compatíveis.

O AWS DMS oferece suporte a bancos de dados locais e de instância do Amazon EC2 quando usadoscomo origem para o Microsoft SQL Server nas versões 2005, 2008, 2008R2, 2012, 2014 e 2016. Asedições Enterprise, Standard, Workgroup e Developer são compatíveis. As edições Web e Express nãosão compatíveis.

O AWS DMS é compatível, como uma origem, com bancos de dados de instâncias de bancos de dadosdo Amazon RDS para as versões do SQL Server 2008R2, 2012, 2014 e 2016. As edições Enterprisee Standard são compatíveis. CDC é suportado para todas as versões do Enterprise Edition. CDC sóé compatível com a versão 2016 do Standard Edition SP1 e versões posteriores. As edições Web,Workgroup, Developer e Express não são compatíveis.

Você pode instalar o banco de dados de origem SQL Server em qualquer computador na rede. Énecessário ter uma conta do SQL Server com os privilégios de acesso ao banco de dados de origemadequados ao tipo de tarefa escolhido para usar com o AWS DMS.

O AWS DMS é compatível com a migração de dados de instâncias nomeadas do SQL Server. Você podeusar a seguinte notação no nome do servidor ao criar o endpoint de origem.

IPAddress\InstanceName

Por exemplo, o seguinte é um nome do servidor do endpoint de origem correto. Aqui, a primeira partedo nome é o endereço IP do servidor, e a segunda parte é o nome da instância do SQL Server (nesteexemplo, SQLTest).

10.0.0.25\SQLTest

Você pode usar SSL para criptografar conexões entre o endpoint do SQL Server e a instância dereplicação. Para obter mais informações sobre o uso de SSL com um endpoint do SQL Server, consulteUso de SSL com o AWS Database Migration Service (p. 49).

Para capturar alterações de um banco de dados SQL Server de origem, o banco de dados deve serconfigurado para fazer backups completos e pertencer às edições Enterprise, Developer ou Standard.

Para obter mais detalhes sobre a utilização de bancos de dados de origem SQL Server e do AWS DMS,consulte os tópicos a seguir.

Tópicos• Limitações de uso do SQL Server como origem para o AWS DMS (p. 103)• Uso de replicação contínua (CDC) a partir de uma origem do SQL Server (p. 103)

Versão da API API versão 2016-01-01102

Page 109: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

• Métodos de compactação compatíveis (p. 107)• Utilização dos grupos de disponibilidade AlwaysOn do SQL Server (p. 108)• Configuração de um banco de dados SQL Server como origem de replicação para o AWS

DMS (p. 108)• Atributos de conexão adicionais ao usar o SQL Server como origem para o AWS DMS (p. 109)• Tipos de dados de origem no SQL Server (p. 110)

Limitações de uso do SQL Server como origem para o AWS DMSAs seguintes limitações se aplicam quando um banco de dados do SQL Server é usado como origem doAWS DMS:

• A propriedade de identidade de uma coluna não é migrada para a coluna de banco de dados de destino.• Alterações em linhas com mais de 8000 bytes de informações, incluindo cabeçalho e informações de

mapeamento, não são processadas adequadamente devido às limitações de tamanho do buffer doTLOG no SQL Server. Use a versão mais recente do AWS DMS para evitar esse problema.

• O endpoint do SQL Server não oferece suporte ao uso de tabelas esparsas.• A Autenticação do Windows não é compatível.• As alterações em campos computados do SQL Server não são replicadas.• Tabelas temporais não são compatíveis.• A alternância de partições do SQL Server não é compatível.• Um índice clusterizado de origem é criado como um índice não clusterizado no destino.• Quando usa os utilitários WRITETEXT e UPDATETEXT, o AWS DMS não captura eventos ocorridos no

banco de dados de origem.• O seguinte padrão da linguagem de manipulação de dados (DML) não é compatível:

SELECT <*> INTO <new_table> FROM <existing_table>

• A criptografia no nível de colunas não é compatível quando o SQL Server é usado como origem.• Devido a um problema conhecido com o SQL Server 2008 e o 2008 R2, o AWS DMS não oferece

suporte a auditorias no nível de servidores nos endpoints de origem do SQL Server 2008 e do SQLServer 2008 R2.

Por exemplo, a execução do seguinte comando provoca uma falha no AWS DMS:

USE [master]GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on)GO

Uso de replicação contínua (CDC) a partir de uma origem doSQL ServerVocê pode usar a replicação contínua (captura de dados de alteração, ou CDC) para um banco de dadosSQL Server autogerenciado no local ou no Amazon EC2 ou para um banco de dados gerenciado pela noAmazon Amazon RDS.

Versão da API API versão 2016-01-01103

Page 110: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

A replicação contínua do AWS DMS oferece suporte para essas configurações do SQL Server:

• Para instâncias do SQL Server de origem que estão no local ou no Amazon EC2, o AWS DMS suporta areplicação contínua para SQL Server edições Enterprise, Standard e Developer.

• Para instâncias do SQL Server de origem em execução no Amazon RDS, o AWS DMS oferece suporteà replicação contínua para o SQL Server Enterprise por meio do SQL Server 2016 SP1. Além disso, oAWS DMS oferece suporte ao CDC para SQL Server edições Enterprise e Standard.

Para que o DMS configure automaticamente a replicação contínua, a conta de usuário do AWS DMS quevocê usa para se conectar ao banco de dados de origem deve ter a função de servidor fixa sysadmin. Sevocê não desejar atribuir a função de servidor fixa sysadmin à conta de usuário usada, você ainda podeusar a replicação contínua seguindo uma série de etapas manuais discutidas a seguir.

Os seguintes requisitos se aplicam especificamente ao usar a replicação contínua com um banco de dadosSQL Server como uma origem para o AWS DMS:

• O SQL Server deve ser configurado para fazer backups completos e um backup deve ser feito antes doinício da replicação dos dados.

• O modelo de recuperação deve ser definido como Bulk-logged ou Full.• O backup do SQL Server para múltiplos discos não é compatível. Se o backup for configurado para

gravar o backup do banco de dados em múltiplos arquivos e em diferentes discos, o AWS DMS nãopoderá ler os dados e a tarefa do AWS DMS falhará.

• Para origens do SQL Server autogerenciadas, as definições do SQL Server Replication Publisher para obanco de dados de origem usado em uma tarefa CDC do DMS não são removidas quando você removea tarefa. Um administrador de sistema do SQL Server deve excluir essas definições do SQL Server paraorigens autogerenciadas.

• Durante a captura de dados de alterações (CDC), o AWS DMS precisa pesquisar os backups doslogs de transações do SQL Server para ler as alterações. O AWS DMS não oferece suporte ao uso debackups de logs de transações do SQL Server que foram criados usando um software de backup deterceiros.

• Para origens autogerenciadas do SQL Server, lembre-se de que o SQL Server não captura alteraçõesem tabelas recém-criadas até que elas sejam publicadas. Quando uma tabela é adicionada a umaorigem do SQL Server, o AWS DMS gerencia a sua publicação. No entanto, esse processo podedemorar alguns minutos. As operações feitas durante esse intervalo nas tabelas recentemente criadasnão são capturadas ou replicadas no destino.

• A captura de dados de alteração do AWS DMS exige que FULLOGGING esteja ativado no SQL Server.Para ativar o FULLLOGGING no SQL Server, ative MS-REPLICATION ou CHANGE DATA CAPTURE(CDC).

• O tlog do SQL Server não poderá ser reutilizado até que as alterações sejam processadas.• As operações de CDC não são compatíveis com tabelas com otimização de memória. Essa limitação se

aplica ao SQL Server 2014 (quando o recurso foi introduzido pela primeira vez) e versões posteriores.

Captura de alterações de dados para o SQL Server

Para uma origem autogerenciada do SQL Server, o AWS DMS usa o seguinte:

• MS-Replication — para capturar alterações em tabelas com chaves primárias. Você pode configurarisso automaticamente fornecendo ao usuário do endpoint do AWS DMS privilégios de administrador dosistema na instância de origem do SQL Server. Como alternativa, você pode seguir as etapas fornecidasnesta seção para preparar a origem e usar um usuário não administrador do sistema para o endpoint doAWS DMS.

• MS-CDC - para capturar alterações em tabelas sem chaves primárias. O MS-CDC deve ser habilitado nonível do banco de dados e para todas as tabelas individualmente.

Versão da API API versão 2016-01-01104

Page 111: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Para uma origem do SQL Server em execução no Amazon RDS, o AWS DMS usa MS-CDC para capturaralterações em tabelas, com ou sem chaves primárias. O MS-CDC deve ser habilitado no nível do bancode dados e para todas as tabelas individualmente usando os procedimentos armazenados específicos aoAmazon RDS descritos nesta seção.

Há várias maneiras de usar um banco de dados SQL Server para replicação contínua (CDC):

• Configurar a replicação contínua usando a função sysadmin. (Isso se aplica apenas a origensautogerenciadas do SQL Server.)

• Configurar a replicação contínua para não usar a função sysadmin. (Isso se aplica apenas a origensautogerenciadas do SQL Server.)

• Configurar a replicação contínua para um Amazon RDS para uma instância de banco de dados SQLServer.

Configurar a replicação contínua usando a função sysadmin

Para tabelas com chaves primárias, o AWS DMS pode configurar os artefatos necessários na origem. Paratabelas sem chaves primárias, você precisa configurar o MS-CDC.

Primeiro, você precisa habilitar o MS-CDC para o banco de dados executando o seguinte comando. Vocêdeve usar uma conta que tenha a função sysadmin atribuída a ela.

use [DBname]EXEC sys.sp_cdc_enable_db

Em seguida, habilite o MS-CDC para cada uma das tabelas de origem executando o seguinte comando.

EXECUTE sys.sp_cdc_enable_table @source_schema = N'MySchema', @source_name =N'MyTable', @role_name = NULL;

Para obter mais informações sobre como configurar o MS-CDC para tabelas específicas, consulte adocumentação do SQL Server.

Configurar a replicação contínua sem atribuir a função sysadmin

Você pode configurar a replicação contínua para uma origem de banco de dados SQL Server que nãoexige que a conta de usuário tenha privilégios de sysadmin.

Para configurar uma origem de banco de dados SQL Server para replicação contínua sem usar afunção sysadmin

1. Crie uma nova conta do SQL Server com autenticação de senha usando o SQL Server ManagementStudio (SSMS). Neste exemplo, usamos uma conta chamada dmstest.

2. Na seção User Mappings do SSMS, escolha os bancos de dados MSDB e MASTER (que fornecerãopermissão pública) e atribua a função DB_OWNER ao banco de dados no qual você deseja usar areplicação contínua.

3. Abra o menu de contexto (clique com o botão direito do mouse) da nova conta, escolha Security(Segurança) e conceda explicitamente o privilégio Connect SQL (Conectar ao SQL).

4. Execute os seguintes comandos de concessão:

GRANT SELECT ON FN_DBLOG TO dmstest;GRANT SELECT ON FN_DUMP_DBLOG TO dmstest;GRANT VIEW SERVER STATE TO dmstest;use msdb;GRANT EXECUTE ON MSDB.DBO.SP_STOP_JOB TO dmstest;

Versão da API API versão 2016-01-01105

Page 112: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

GRANT EXECUTE ON MSDB.DBO.SP_START_JOB TO dmstest;GRANT SELECT ON MSDB.DBO.BACKUPSET TO dmstest;GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO dmstest;GRANT SELECT ON MSDB.DBO.BACKUPFILE TO dmstest;

5. No SSMS, abra o menu de contexto (clique com o botão direito do mouse) da pasta Replication(Replicação) e, em seguida, escolha Configure Distribution (Configurar distribuição). Siga todas asetapas padrão e configure essa instância do SQL Server para distribuição. Um banco de dados dedistribuição será criado sob os bancos de dados.

6. Crie uma publicação usando o procedimento a seguir.7. Crie uma nova tarefa do AWS DMS com o SQL Server como o endpoint de origem usando a conta de

usuário que você criou.

Note

As etapas deste procedimento se aplicam apenas a tabelas com chaves primárias. Você aindaprecisará habilitar o MS-CDC para as tabelas sem chaves primárias.

Criação de uma publicação do SQL Server para uma replicação contínua

Para usar CDC com o SQL Server, é necessário criar uma publicação para cada tabela que participa dareplicação contínua.

Para criar uma publicação para uma replicação contínua do SQL Server

1. Faça login no SSMS usando a conta de usuário SYSADMIN.2. Expanda Replication (Replicação).3. Clique com o botão direito em Local Publications (Publicações locais).4. No New Publication Wizard (Assistente de nova publicação), selecione Next (Próximo).5. Selecione o banco de dados em que deseja criar a publicação.6. Selecione Transactional publication (Publicação transacional). Escolha Next.7. Expanda Tables (Tabelas) e selecione as tabelas com PK (também essas tabelas que deseja

publicar). Escolha Next.8. Não é necessário criar um filtro, portanto selecione Next (Próximo).9. Não é necessário criar um Agente instantâneo, portanto selecione Next (Próximo).10. Selecione Security Settings (Configurações de segurança) e escolha Run under the SQL Server Agent

service account (Executar sob a conta de serviço do SQL Server Agent). Selecione By impersonatingthe process account (Imitando a conta de processo) para conexão do publicador. Escolha OK.

11. Escolha Next.12. Selecione Create the publication (Criar a publicação).13. Forneça um nome da publicação no seguinte formato:

AR_PUBLICATION_000<DBID>. Por exemplo, nomeie a publicação AR_PUBLICATION_00018.Você também pode usar a função DB_ID no SQL Server. Para obter mais informações sobre a funçãoDB_ID, consulte a documentação do SQL Server.

Configuração da replicação contínua em um Amazon RDS para uma instância debanco de dados SQL Server.

O Amazon RDS para SQL Server oferece suporte ao MS-CDC para todas as versões das edições doAmazon RDS para SQL Server Enterprise até o SQL Server 2016 SP1. Edições padrão do SQL Server2016 SP1 e versões posteriores são compatíveis com MS-CDC para o Amazon RDS para SQL Server.

Versão da API API versão 2016-01-01106

Page 113: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Ao contrário das origens autogerenciadas do SQL Server, o Amazon RDS para SQL Server não écompatível com o MS-Replication. Portanto, o AWS DMS precisa usar o MS-CDC para tabelas com ousem chaves primárias.

O Amazon RDS não concede privilégios de sysadmin para definir os artefatos de replicação que o AWSDMS usa para alterações contínuas em uma instância de origem do SQL Server. Você deve habilitar o MS-CDC na instância do Amazon RDS usando privilégios de usuário mestre no procedimento a seguir.

Para habilitar o MS-CDC em um RDS para uma instância de banco de dados do SQL Server

1. Execute a consulta a seguir no nível do banco de dados.

exec msdb.dbo.rds_cdc_enable_db '<DB instance name>'

2. Para cada tabela com uma chave primária, execute a consulta a seguir para habilitar o MS-CDC.

exec sys.sp_cdc_enable_table@source_schema = N'db_name',@source_name = N'table_name',@role_name = NULL,@supports_net_changes = 1GO

Para cada tabela com chaves exclusivas mas sem chave primária, execute a consulta a seguir parahabilitar o MS-CDC.

exec sys.sp_cdc_enable_table@source_schema = N'db_name',@source_name = N'table_name',@index_name = N'unique_index_name'@role_name = NULL,@supports_net_changes = 1GO

Para cada tabela sem chave primária e sem chaves exclusivas, execute a consulta a seguir parahabilitar o MS-CDC.

exec sys.sp_cdc_enable_table@source_schema = N'db_name',@source_name = N'table_name',@role_name = NULLGO

3. Defina o período de retenção para que as alterações estejam disponíveis na origem usando ocomando a seguir.

EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@pollinginterval = 86400

O parâmetro @pollinginterval é medido em segundos. O comando acima retém as alterações porum dia. A AWS recomenda um período de retenção de um dia ao usar MS-CDC com o AWS DMS.

Métodos de compactação compatíveisA tabela a seguir mostra os métodos de compactação do AWS DMS compatíveis com cada versão do SQLServer.

Versão da API API versão 2016-01-01107

Page 114: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Versão do SQL Server Compactação de linhas/páginas(no nível de partição)

Formato de armazenamento devardecimal

2005 Não Não

2008 Sim Não

2012 Sim Não

2014 Sim Não

Note

A compactação de colunas esparsas e de estruturas em colunas não são compatíveis.

Utilização dos grupos de disponibilidade AlwaysOn do SQLServerA funcionalidade de grupos de disponibilidade AlwaysOn do SQL Server é uma solução de altadisponibilidade e de recuperação de desastres que fornece uma alternativa no nível empresarial para oespelhamento de banco de dados.

Para usar a funcionalidade de grupos de disponibilidade AlwaysOn como origem no AWS DMS, faça oseguinte:

• Habilite a opção de distribuição em todas as instâncias do SQL Server, em suas réplicas dedisponibilidade.

• No console do AWS DMS, abra as configurações de banco de dados de origem do SQL Server. EmServer Name, especifique o nome do serviço de nomes de domínio (DNS) ou o endereço IP configuradopara o ouvinte do grupo de disponibilidade.

Quando uma tarefa do AWS DMS é executada pela primeira vez, pode levar mais tempo do que o usualpara iniciar porque a criação de artigos de tabelas está sendo duplicada pelo servidor de grupos dedisponibilidade.

Configuração de um banco de dados SQL Server como origemde replicação para o AWS DMSVocê pode configurar um banco de dados SQL Server como origem de replicação para o AWS DMS(AWS DMS). Para obter uma replicação de alterações mais completa, recomendamos o uso das ediçõesEnterprise, Standard, ou Developer do SQL Server. É preciso usar uma dessas versões pois essas sãoas únicas versões que incluem MS-Replication(EE,SE) e MS-CDC(EE,DEV). O SQL Server de origemtambém deve ser configurado para backups completos. Além disso, o AWS DMS deve ser conectadousando um logon de usuário (um logon de instância SQL Server) que tenha a função de servidor fixasysadmin no banco de dados SQL Server ao qual você está se conectando.

A seguir, veja informações sobre como configurar o SQL Server como uma origem de replicação para oAWS DMS.

Versão da API API versão 2016-01-01108

Page 115: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Atributos de conexão adicionais ao usar o SQL Server comoorigem para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar a origem do SQL Server. Vocêespecifica essas configurações ao criar o endpoint de origem. Várias configurações de atributo de conexãoadicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o SQL Server comoorigem:

Nome Descrição

safeguardPolicy Para o melhor desempenho, o AWS DMS tenta capturartodas as alterações do log de transações ativas (TLOG) quenão foram lidas. Contudo, às vezes devido a um truncamento,o TLOG ativo pode não conter todas as alterações que nãoforam lidas. Quando isso ocorre, o AWS DMS acessa o logde backup para capturar as alterações que faltam. Paraminimizar a necessidade de acessar o log de backup, o AWSDMS evita o truncamento usando um dos seguintes métodos:

1. Iniciar as transações no banco de dados: Este é o métodopadrão. Quando esse método é usado, o AWS DMS evita otruncamento do TLOG simulando uma transação no bancode dados. Enquanto a transação estiver aberta, as alteraçõesefetuadas após o início da transação não serão truncadas. Sevocê precisa que o Microsoft Replication esteja habilitado noseu banco de dados, deve escolher esse método.

2. Utilizar o sp_repldone somente em uma tarefa única:Quando esse método é usado, o AWS DMS lê as alteraçõese, em seguida, usa o sp_repldone para marcar as transaçõesdo TLOG como prontas para o truncamento. Embora essemétodo não envolva atividades transacionais, ele só podeser usado quando o Microsoft Replication não está sendoexecutado. Além disso, ao usar esse método, somente umatarefa do AWS DMS pode acessar o banco de dados de cadavez. Portanto, se você precisa executar tarefas em paraleloem um mesmo banco de dados no AWS DMS, use o métodopadrão.

Valor padrão:RELY_ON_SQL_SERVER_REPLICATION_AGENT

Valores válidos: {EXCLUSIVE_AUTOMATIC_TRUNCATION,RELY_ON_SQL_SERVER_REPLICATION_AGENT}

Exemplo: safeguardPolicy=RELY_ON_SQL_SERVER_REPLICATION_AGENT

readBackupOnly Quando esse parâmetro é definido como Y, o AWS DMSlê somente as alterações de backups de log de transaçõese não lê o arquivo de log de transações ativas durante areplicação contínua. A definição desse parâmetro como Ypode adicionar uma latência de origem à replicação contínua,mas permite que você controle o aumento do arquivo de

Versão da API API versão 2016-01-01109

Page 116: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Nome Descriçãolog de transações ativas durante tarefas de carregamentocompleto e de replicação contínua.

Valores válidos: N ou Y. O padrão é N.

Exemplo: readBackupOnly=Y

Tipos de dados de origem no SQL ServerA funcionalidade de migração de dados que usa o SQL Server como origem no AWS DMS oferece suporteà maioria dos tipos de dados do SQL Server. A tabela a seguir mostra os tipos de dados de origem do SQLServer compatíveis com o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do SQL Server Tipos de dados do AWS DMS

BIGINT INT8

BIT BOOLEAN

DECIMAL NUMERIC

INT INT4

MONEY NUMERIC

NUMERIC (p,s) NUMERIC

SMALLINT INT2

SMALLMONEY NUMERIC

TINYINT UINT1

REAL REAL4

FLOAT REAL8

DATETIME DATETIME

DATETIME2 (SQL Server 2008 e posterior) DATETIME

SMALLDATETIME DATETIME

DATE DATE

TIME TIME

DATETIMEOFFSET WSTRING

CHAR STRING

VARCHAR STRING

Versão da API API versão 2016-01-01110

Page 117: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Tipos de dados do SQL Server Tipos de dados do AWS DMS

VARCHAR (máximo) CLOB

TEXT

Para usar esse tipo de dados no AWS DMS vocêprecisa habilitar o uso de tipos de dados CLOB emuma tarefa específica.

Em tabelas do SQL Server, o AWS DMS atualizaas colunas LOB no destino mesmo para instruçõesUPDATE que não alteram o valor da coluna LOBno SQL Server.

Durante uma captura de dados de alteração(CDC), o AWS DMS oferece suporte aos tipos dedados CLOB somente em tabelas que possuemuma chave primária.

NCHAR WSTRING

NVARCHAR (tamanho) WSTRING

NVARCHAR (máximo) NCLOB

NTEXT

Para usar esse tipo de dados no AWS DMS, vocêprecisa habilitar o uso de tipos de dados NCLOBem uma tarefa específica.

Em tabelas do SQL Server, o AWS DMS atualizaas colunas LOB no destino mesmo para instruçõesUPDATE que não alteram o valor da coluna LOBno SQL Server.

Durante uma captura de dados de alteração(CDC), o AWS DMS oferece suporte aos tipos dedados CLOB somente em tabelas que possuemuma chave primária.

BINARY BYTES

VARBINARY BYTES

Versão da API API versão 2016-01-01111

Page 118: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como origem

Tipos de dados do SQL Server Tipos de dados do AWS DMS

VARBINARY (máximo) BLOB

IMAGE

Em tabelas do SQL Server, o AWS DMS atualizaas colunas LOB no destino mesmo para instruçõesUPDATE que não alteram o valor da coluna LOBno SQL Server.

Para usar esse tipo de dados no AWS DMS, vocêprecisa habilitar o uso de tipos de dados BLOB emuma tarefa específica.

O AWS DMS oferece suporte aos tipos de dadosBLOB somente em tabelas que possuem umachave primária.

TIMESTAMP BYTES

UNIQUEIDENTIFIER STRING

HIERARCHYID Use o tipo HIERARCHYID ao replicar para umendpoint de destino do SQL Server.

Use WSTRING (250) ao replicar para os demaisendpoints de destino.

XML NCLOB

Em tabelas do SQL Server, o AWS DMS atualizaas colunas LOB no destino mesmo para instruçõesUPDATE que não alteram o valor da coluna LOBno SQL Server.

Para usar esse tipo de dados no AWS DMS, vocêprecisa habilitar o uso de tipos de dados NCLOBem uma tarefa específica.

Durante uma captura de dados de alteração(CDC), o AWS DMS oferece suporte aos tipos dedados NCLOB somente em tabelas que incluemuma chave primária.

GEOMETRY Use o tipo GEOMETRY ao replicar para endpointsde destino compatíveis com esse tipo de dados.

Use o tipo CLOB ao replicar para endpoints dedestino que não são compatíveis com esse tipo dedados.

GEOGRAPHY Use o tipo GEOGRAPHY ao replicar paraendpoints de destino compatíveis com esse tipo dedados.

Use o tipo CLOB ao replicar para endpoints dedestino que não são compatíveis com esse tipo dedados.

Versão da API API versão 2016-01-01112

Page 119: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de um banco de dados Azure SQL como origem

O AWS DMS não é compatível com tabelas que incluem campos com os tipos de dados a seguir:

• CURSOR• SQL_VARIANT• TABLE

Note

A existência de suporte para um tipo de dados definido pelo usuário vai depender do tipo baseutilizado. Por exemplo, um tipo de dados definido pelo usuário baseado no tipo DATETIME étratado como o tipo de dados DATETIME.

Uso de um banco de dados Microsoft Azure SQLcomo origem para o AWS DMSCom o AWS DMS, você pode usar o SQL Azure como origem da mesma maneira que faz com o MicrosoftSQL Server. O AWS DMS como origem oferece suporte à mesma lista de versões do banco de dados quesão compatíveis com o SQL Server em execução no local ou em uma instância do Amazon EC2.

Para obter mais informações, consulte Uso de um banco de dados Microsoft SQL Server como origempara o AWS DMS (p. 102).

Note

AWS DMS não oferece suporte a operações de captura de dados de alterações (CDC) combancos de dados Azure SQL.

Uso do banco de dados PostgreSQL como origempara o AWS DMSVocê pode migrar dados de um ou vários bancos de dados PostgreSQL usando o AWS DMS. Usandoum banco de dados PostgreSQL como origem, você pode migrar dados para outro banco de dadosPostgreSQL ou outros bancos de dados compatíveis. O AWS DMS oferece suporte a bancos de dadosPostgreSQL versão 9.4 e posteriores como origem para bancos de dados locais, bancos de dados em umainstância do EC2, e bancos de dados em uma instância de banco de dados do Amazon RDS.

Note

As versões 10.x e versões posteriores do PostgreSQL contêm várias alterações em nomesde funções e nomes de pastas de versões anteriores. Se você estiver usando a versão 10.xou posterior do PostgreSQL como uma origem para o AWS DMS, consulte o tópico Usar oPostgreSQL versão 10.x e versões posteriores como uma origem para o AWS DMS (p. 121)para obter informações sobre como preparar um banco de dados como uma origem para o AWSDMS.

Você pode usar SSL para criptografar conexões entre o endpoint do PostgreSQL e a instância dereplicação. Para obter mais informações sobre como usar o SSL com um endpoint de PostgreSQL,consulte Uso de SSL com o AWS Database Migration Service (p. 49).

Para obter uma migração homogênea a partir de um banco de dados PostgreSQL para um banco dedados PostgreSQL na AWS, observe o seguinte:

• Colunas JSONB na origem são migradas para colunas JSONB no destino.

Versão da API API versão 2016-01-01113

Page 120: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

• Colunas JSON são migradas como colunas JSON no destino.• Colunas HSTORE são migradas como colunas HSTORE no destino.

Para uma migração heterogênea com PostgreSQL como origem e um mecanismo de banco de dadosdiferente como destino, a situação é diferente. Neste caso, as colunas JSONB, JSON e HSTOREsão convertidas no tipo intermediário do AWS DMS, NCLOB, e convertidas no tipo de coluna NCLOBcorrespondente no destino. Nesse caso, o AWS DMS trata os dados JSONB como uma coluna de LOB.Durante a fase de carga de uma migração completa, a coluna de destino deve ser nula.

O AWS DMS oferece suporte à captura de dados de alteração (CDC) para tabelas PostgreSQL comchaves primárias. Se uma tabela não tiver uma chave primária, os logs write-ahead (VMP) não incluirãouma imagem do banco de dados antes da linha, e o AWS DMS não poderá atualizar a tabela.

O AWS DMS oferece suporte a CDC em bancos de dados PostgreSQL no Amazon RDS quando ainstância de banco de dados está configurada para usar replicação lógica. O Amazon RDS oferece suportea replicação lógica para instâncias de bancos de dados PostgreSQL versão 9.4.9 e superior e versão 9.5.4e superior.

Para obter mais detalhes sobre a utilização dos bancos de dados PostgreSQL e AWS DMS, consulte asseguintes seções.

Tópicos• Migração do PostgreSQL para o PostgreSQL usando o AWS DMS (p. 114)• Pré-requisitos para o uso de um banco de dados PostgreSQL como origem para o AWS

DMS (p. 116)• Requisitos de segurança para usar um banco de dados PostgreSQL como origem para o AWS

DMS (p. 117)• Limitações em usar um banco de dados PostgreSQL como origem para o AWS DMS (p. 117)• Configuração de uma instância de banco de dados do PostgreSQL do Amazon RDS como

origem (p. 118)• Remoção de artefatos do AWS DMS de um banco de dados PostgreSQL de origem (p. 121)• Definições de configuração adicionais para um banco de dados PostgreSQL usado como origem para

o AWS DMS (p. 121)• Usar o PostgreSQL versão 10.x e versões posteriores como uma origem para o AWS DMS (p. 121)• Atributos de conexão adicionais ao usar o PostgreSQL como origem para o AWS DMS (p. 122)• Tipos de dados de origem do PostgreSQL (p. 123)

Migração do PostgreSQL para o PostgreSQL usando o AWSDMSPara uma migração heterogênea, na qual você migra de um mecanismo de banco de dados diferente doPostgreSQL para um banco de dados PostgreSQL, o AWS DMS quase sempre é a melhor ferramentade migração para usar. No entanto, para uma migração homogênea, na qual você migra de um banco dedados PostgreSQL para um banco de dados PostgreSQL, ferramentas nativas podem ser mais eficazes.

Recomendamos que você use ferramentas nativas de migração do banco de dados PostgreSQL, comopg_dump, nas seguintes condições:

• Quando há uma migração homogênea, na qual você migra de um banco de dados PostgreSQL deorigem para um banco de dados PostgreSQL de destino.

• Quando for migrar um banco de dados inteiro.• As ferramentas nativas permitem que você migre os dados com um tempo mínimo de inatividade.

Versão da API API versão 2016-01-01114

Page 121: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

O utilitário pg_dump usa o comando COPY para criar um esquema e uma despejo de dados de um bancode dados PostgreSQL. O script de despejo gerado pelo pg_dump carrega os dados em um banco dedados com o mesmo nome e recreia as tabelas, os índices e as chaves externas. Você pode usar ocomando pg_restore e o parâmetro -d para recuperar os dados em um banco de dados com um nomediferente.

Para obter mais informações sobre a importação de um banco de dados PostgreSQL no Amazon RDSpara PostgreSQL ou Amazon Aurora (PostgreSQL), consulte https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide//PostgreSQL.Procedural.Importing.html.

Uso do DMS para migrar dados do PostgreSQL para o PostgreSQL

O AWS DMS pode migrar dados de, por exemplo, um banco de dados PostgreSQL de origem que está nolocal para um Amazon RDS para PostgreSQL de destino ou instância do Amazon Aurora (PostgreSQL).Os tipos de dados do PostgreSQL fundamentais ou básicos geralmente migram com êxito.

Os tipos de dados compatíveis no banco de dados de origem, mas não compatíveis no destino, podem nãoser migrados com êxito. O AWS DMS transmite alguns tipos de dados como strings se o tipo de dados fordesconhecido. Alguns tipos de dados, como XML e JSON, podem ser migrados com êxito como arquivospequenos, mas podem falhar se forem documentos grandes.

A tabela a seguir mostra os tipos de dados do PostgreSQL de origem e se podem ser migrados com êxito:

Tipo de dados Migrará comêxito

Migraráparcialmente

Não migrará Comentários

INTEGER X      

SMALLINT X      

BIGINT X      

NUMERIC/DECIMAL(p,s)   X   Com 0<p<39 e0<s

NUMERIC/DECIMAL   X   p>38 ou p=s=0

REAL X      

DOUBLE X      

SMALLSERIAL X      

SERIAL X      

BIGSERIAL X      

MONEY X      

CHAR   X   Sem precisãoespecificada

CHAR (n) X      

VARCHAR   X   Sem precisãoespecificada

VARCHAR (n) X      

TEXT X      

Versão da API API versão 2016-01-01115

Page 122: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Tipo de dados Migrará comêxito

Migraráparcialmente

Não migrará Comentários

BYTEA X      

TIMESTAMP X      

TIMESTAMP(Z)   X    

DATE X      

TIME X      

TIME (z)   X    

INTERVAL   X    

BOOLEAN X      

ENUM     X  

CIDR     X  

INET     X  

MACADDR     X  

TSVECTOR     X  

TSQUERY     X  

XML   X    

POINT     X  

LINE     X  

LSEG     X  

BOX     X  

PATH     X  

POLYGON     X  

CIRCLE     X  

JSON   X    

ARRAY     X  

COMPOSITE     X  

RANGE     X  

Pré-requisitos para o uso de um banco de dados PostgreSQLcomo origem para o AWS DMSPara usar um banco de dados PostgreSQL como origem para o AWS DMS, faça o seguinte:

• Use um banco de dados PostgreSQL na versão 9.4.x ou posterior.

Versão da API API versão 2016-01-01116

Page 123: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

• Conceda permissões de superusuário à conta de usuário especificada no banco de dados de origemPostgreSQL.

• Adicione o endereço IP do servidor de replicação do AWS DMS ao arquivo de configuraçãopg_hba.conf.

• Defina os seguintes parâmetros e valores no arquivo de configuração postgresql.conf:• Defina wal_level = logical• Defina max_replication_slots como um valor maior que 1.

O valor de max_replication_slots deve ser definido de acordo com o número de tarefas quevocê vai executar. Por exemplo, para executar cinco tarefas defina um mínimo de cinco slots. Os slotssão abertos automaticamente assim que uma tarefa é iniciada e permanecem abertos mesmo quandoesta tarefa não está mais sendo executada. É necessário excluir manualmente os slots abertos.

• Defina max_wal_senders como um valor maior que 1.

O parâmetro max_wal_senders define o número de tarefas simultâneas que podem ser executadas.• Defina wal_sender_timeout =0

O parâmetro wal_sender_timeout encerra as conexões de replicação que estão inativas por umtempo maior do que o número especificado de milissegundos. Embora o padrão seja 60 segundos,recomendamos que você defina este parâmetro como zero, o que desabilita o mecanismo de limite detempo.

• O parâmetro idle_in_transaction_session_timeout no PostgreSQL versões 9.6 e posteriorpermite fazer com que transações inativas atinjam o tempo limite e falhem. Algumas transações do AWSDMS estão inativas por algum tempo antes que o mecanismo do AWS DMS use-as novamente. Nãoencerre transações inativas ao usar o AWS DMS.

Requisitos de segurança para usar um banco de dadosPostgreSQL como origem para o AWS DMSO único requisito de segurança para usar o PostgreSQL como origem é que a conta de usuárioespecificada seja de um usuário registrado no banco de dados PostgreSQL.

Limitações em usar um banco de dados PostgreSQL comoorigem para o AWS DMSAs limitações a seguir se aplicam ao usar o PostgreSQL como uma origem para o AWS DMS:

• Uma tabela capturada deve ter uma chave primária. Se uma tabela não tem chave primária, o AWSDMS ignora as operações em registros DELETE e UPDATE para essa tabela.

• Data e hora com uma coluna do tipo fuso horário não é compatível.• O AWS DMS ignora as tentativas de atualização em um segmento de chave primária. Nesses casos,

o destino identifica a atualização como aquela que não atualizou nenhuma linha. No entanto, como osresultados de atualização de uma chave primária no PostgreSQL são imprevisíveis, nenhum registro égravado na tabela de exceções.

• O AWS DMS não oferece suporte à opção de execução Start Process Changes from Timestamp.• O AWS DMS oferece suporte ao carregamento total e ao processamento de alterações no Amazon RDS

para o PostgreSQL. Para obter informações sobre como preparar uma instância de banco de dadosPostgreSQL e configurá-la para usar CDC, consulte Configuração de uma instância de banco de dadosdo PostgreSQL do Amazon RDS como origem (p. 118).

• A replicação de várias tabelas com o mesmo nome onde cada nome apresenta um estilo diferente demaiúsculas e minúsculas (por exemplo, tabela1, TABELA1 e Tabela1) pode causar um comportamentoimprevisível, e portanto o AWS DMS não oferece suporte a esta operação.

Versão da API API versão 2016-01-01117

Page 124: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

• O AWS DMS oferece suporte ao processamento de alterações em instruções CREATE, ALTER e DROPDDL para tabelas, a menos que as tabelas estejam contidas em uma função interna, em um bloco nocorpo de um procedimento ou em outras estruturas aninhadas.

Por exemplo, a seguinte alteração não é capturada:

CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS voidLANGUAGE plpgsqlAS $$BEGINcreate table attu.distributors1(did serial PRIMARY KEY,namevarchar(40) NOT NULL);END;$$;

• O AWS DMS não oferece suporte ao processamento de alterações em operações TRUNCATE.• O tipo de dados OID LOB não é migrado para o destino.• Se a origem é um banco de dados PostgreSQL no local ou um banco de dados PostgreSQL em uma

instância do Amazon EC2, verifique se o plug-in de saída test_decoding (encontrado no pacotecontrib Postgres) está instalado no endpoint de origem. Para obter mais informações sobre o plug-in deteste de decodificação, consulte a documentação do PostgreSQL.

• O AWS DMS não oferece suporte à alteração de processamento para definir valores padrão de colunas(usando a cláusula ALTER COLUMN SET DEFAULT em instruções ALTER TABLE).

• O AWS DMS não oferece suporte à alteração de processamento para definir a nulabilidade de colunas(usando a cláusula ALTER COLUMN [SET|DROP] NOT NULL em instruções ALTER TABLE).

• O AWS DMS não oferece suporte à replicação de tabelas particionadas. Quando uma tabelaparticionada é detectada, ocorre o seguinte:• O endpoint relata uma lista de tabelas pai e filho.• O AWS DMS cria a tabela no destino como uma tabela regular com as mesmas propriedades das

tabelas selecionadas.• Se a tabela pai do banco de dados de origem possui o mesmo valor de chave primária que suas

tabelas filhas, um erro de “chave duplicada” é gerado.

Note

Para replicar tabelas particionadas de uma origem do PostgreSQL para um destino doPostgreSQL, será necessário primeiro criar manualmente as tabelas pai e filho no destino. Emseguida, defina uma tarefa separada a fim de replicar para essas tabelas. Nesse caso, defina aconfiguração da tarefa como Truncate before loading.

Configuração de uma instância de banco de dados doPostgreSQL do Amazon RDS como origemVocê pode usar uma instância de banco de dados do Amazon RDS para PostgreSQL ou uma réplica deleitura como origem do AWS DMS. Uma instância de banco de dados pode ser usada para carregamentototal e CDC (replicação contínua); uma réplica de leitura só pode ser usada para tarefas de carregamentototal, e não para CDC.

Você pode usar a conta de usuário mestre do AWS para a instância de banco de dados do PostgreSQLcomo a conta de usuário do endpoint de origem do PostgreSQL para o AWS DMS. A conta de usuáriomestre tem as funções necessárias para permitir a configuração da captura de dados de alterações (CDC).Se você utilizar uma conta diferente da conta de usuário mestre, esta deverá ter as funções rds_superusere rds_replication. A função rds_replication atribui as permissões necessárias para gerenciar slots lógicos etransmitir dados usando slots lógicos.

Versão da API API versão 2016-01-01118

Page 125: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Se você não utiliza a conta de usuário mestre para a instância de banco de dados, deve criar váriosobjetos usando a conta de usuário mestre para a conta que utiliza. Para obter informações sobre comocriar os objetos necessários, consulte Migração de um banco de dados PostgreSQL do Amazon RDS semusar a conta de usuário mestre (p. 119).

Uso da CDC com uma instância de banco de dados do PostgreSQL do RDSVocê pode usar a funcionalidade de replicação lógica nativa do PostgreSQL para habilitar a CDC durante amigração de banco de dados de uma instância de banco de dados do PostgreSQL do Amazon RDS. Essaabordagem reduz o tempo de inatividade e garante que o banco de dados de destino esteja sincronizadocom o banco de dados PostgreSQL de origem. O Amazon RDS oferece suporte a replicação lógica parainstâncias de bancos de dados PostgreSQL versão 9.4.9 e superior e versão 9.5.4 e superior.

Note

As réplicas de leitura do Amazon RDS para PostgreSQL não podem ser usadas para CDC(replicação contínua).

Para habilitar a replicação lógica para uma instância de banco de dados do PostgreSQL do RDS, faça oseguinte:

• De maneira geral, use a conta de usuário mestre do AWS para a instância de banco de dados doPostgreSQL como a conta de usuário do endpoint de origem do PostgreSQL. A conta de usuário mestretem as funções necessárias para permitir a configuração da captura de dados de alteração (CDC). Sevocê utilizar uma conta diferente da conta de usuário mestre, deverá criar vários objetos usando a contamestre para a conta que utiliza. Para obter mais informações, consulte Migração de um banco de dadosPostgreSQL do Amazon RDS sem usar a conta de usuário mestre (p. 119).

• Defina o parâmetro rds.logical_replication no grupo de parâmetros do banco de dados como1. Este é um parâmetro estático que precisa que a instância de banco de dados seja reinicializadapara ser aplicado. Como parte da aplicação desse parâmetro, o AWS DMS define os parâmetroswal_level, max_wal_senders, max_replication_slots e max_connections. Essas alteraçõesde parâmetros podem aumentar a geração de WAL. Portanto, você deve configurar o parâmetrords.logical_replication somente quando estiver usando slots lógicos.

• Uma prática recomendada é definir o parâmetro wal_sender_timeout como 0. Definir esse parâmetrocomo 0 impede o encerramento de conexões de replicação do PostgreSQL que estão inativas por umtempo limite maior que o especificado. Quando o AWS DMS está fazendo a migração de dados, asconexões de replicação precisam durar por um tempo limite maior que o especificado.

Migração de um banco de dados PostgreSQL do Amazon RDS sem usar a contade usuário mestreSe você não utiliza uma conta de usuário mestre para a instância de banco de dados PostgreSQL doAmazon RDS que está usando como origem, precisa criar vários objetos para capturar os eventos delinguagem de definição de dados (DDL). Crie esses objetos usando uma conta diferente da conta mestre e,em seguida, crie um trigger na conta de usuário mestre.

Note

Se você definir o parâmetro captureDDL como N no endpoint de origem, não precisará criar atabela e o trigger a seguir no banco de dados de origem.

Use o procedimento a seguir para criar esses objetos. A conta de usuário que é diferente da conta mestreé referida como a conta NoPriv neste procedimento.

Para criar objetos

1. Escolha um schema onde os objetos serão criados. O schema padrão é public. Verifique se oschema existe e pode ser acessado pela conta NoPriv.

Versão da API API versão 2016-01-01119

Page 126: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

2. Faça login na instância de banco de dados do PostgreSQL usando a conta NoPriv.3. Crie a tabela awsdms_ddl_audit executando o comando a seguir, substituindo

<objects_schema> no código pelo nome do schema a ser usado.

create table <objects_schema>.awsdms_ddl_audit( c_key bigserial primary key, c_time timestamp, -- Informational c_user varchar(64), -- Informational: current_user c_txn varchar(16), -- Informational: current transaction c_tag varchar(24), -- Either 'CREATE TABLE' or 'ALTER TABLE' or 'DROP TABLE' c_oid integer, -- For future use - TG_OBJECTID c_name varchar(64), -- For future use - TG_OBJECTNAME c_schema varchar(64), -- For future use - TG_SCHEMANAME. For now - holds current_schema c_ddlqry text -- The DDL query associated with the current DDL event)

4. Crie a função awsdms_intercept_ddl executando o comando a seguir, substituindo<objects_schema> no código pelo nome do schema a ser usado.

CREATE OR REPLACE FUNCTION <objects_schema>.awsdms_intercept_ddl() RETURNS event_triggerLANGUAGE plpgsqlSECURITY DEFINER AS $$ declare _qry text;BEGIN if (tg_tag='CREATE TABLE' or tg_tag='ALTER TABLE' or tg_tag='DROP TABLE') then SELECT current_query() into _qry; insert into <objects_schema>.awsdms_ddl_audit values ( default,current_timestamp,current_user,cast(TXID_CURRENT()as varchar(16)),tg_tag,0,'',current_schema,_qry ); delete from <objects_schema>.awsdms_ddl_audit;end if;END;$$;

5. Faça logout da conta NoPriv e faça login na conta que tenha a função rds_superuser atribuída.6. Crie o trigger de evento awsdms_intercept_ddl executando o seguinte comando.

CREATE EVENT TRIGGER awsdms_intercept_ddl ON ddl_command_end EXECUTE PROCEDURE <objects_schema>.awsdms_intercept_ddl();

Quando você tiver concluído o procedimento anterior, poderá criar o endpoint de origem do AWS DMSusando a conta NoPriv.

Versão da API API versão 2016-01-01120

Page 127: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Remoção de artefatos do AWS DMS de um banco de dadosPostgreSQL de origemPara capturar eventos de DDL, o AWS DMS cria vários artefatos no banco de dados PostgreSQLquando uma tarefa de migração é iniciada. Quando a tarefa é concluída, é recomendável remover essesartefatos. Para remover os artefatos, execute os comandos a seguir (na ordem em que são exibidos), onde{AmazonRDSMigration} é o schema no qual os artefatos foram criados:

drop event trigger awsdms_intercept_ddl;

O gatilho do evento não pertence a um schema específico.

drop function {AmazonRDSMigration}.awsdms_intercept_ddl()drop table {AmazonRDSMigration}.awsdms_ddl_auditdrop schema {AmazonRDSMigration}

Note

O descarte de um schema deve ser feito com extremo cuidado. Nunca descarte um schemaoperacional, especialmente um schema que seja público.

Definições de configuração adicionais para um banco de dadosPostgreSQL usado como origem para o AWS DMSVocê pode fazer definições de configuração adicionais ao migrar dados de um banco de dadosPostgreSQL de duas maneiras:

• Você pode adicionar valores ao atributo de conexão extra para capturar eventos de DDL e especificaro schema no qual os artefatos de banco de dados DDL operacionais são criados. Para obter maisinformações, consulte Atributos de conexão adicionais ao usar o PostgreSQL como origem para o AWSDMS (p. 122).

• Você pode substituir os parâmetros da string de conexão. Selecione esta opção se precisar realizar umadas ações a seguir:• Especifique os parâmetros internos do AWS DMS. Esses parâmetros são raramente exigidos e

portanto não são expostos na interface de usuário.• Especificar os valores de passagem (passthru) para o cliente de banco de dados específico. O AWS

DMS inclui os parâmetros de passagem na string de conexão que é passada para o cliente de bancode dados.

Usar o PostgreSQL versão 10.x e versões posteriores como umaorigem para o AWS DMSO PostgreSQL versão 10.x e as versões posteriores contêm várias alterações em nomes de funções enomes de pastas de versões anteriores do PostgreSQL. Essas alterações fazem com que determinadasações de migração não sejam compatíveis com as versões anteriores.

Como a maioria das alterações de nome são superficiais, o AWS DMS criou funções wrapper quepermitem que o AWS DMS funcione com o PostgreSQL versão 10.x e versões posteriores. As funções dowrapper são priorizadas em relação às funções em pg_catalog. Além disso, verifique se a visibilidadedos esquemas existentes não foi alterada, para que não substituam outras funções do catálogo dosistema, como as funções definidas pelo usuário.

Versão da API API versão 2016-01-01121

Page 128: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Para usar essas funções wrapper antes de executar tarefas de migração, execute o código SQL a seguirno banco de dados PostgreSQL de origem. Use a mesma conta de usuário do AWS DMS que você estáusando para o banco de dados de destino.

BEGIN;CREATE SCHEMA IF NOT EXISTS fnRenames;CREATE OR REPLACE FUNCTION fnRenames.pg_switch_xlog() RETURNS pg_lsn AS $$ SELECT pg_switch_wal(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_xlog_replay_pause() RETURNS VOID AS $$ SELECT pg_wal_replay_pause(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_xlog_replay_resume() RETURNS VOID AS $$ SELECT pg_wal_replay_resume(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_current_xlog_location() RETURNS pg_lsn AS $$ SELECT pg_current_wal_lsn(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_is_xlog_replay_paused() RETURNS boolean AS $$ SELECT pg_is_wal_replay_paused(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_xlogfile_name(lsn pg_lsn) RETURNS TEXT AS $$ SELECT pg_walfile_name(lsn); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_last_xlog_replay_location() RETURNS pg_lsn AS $$ SELECT pg_last_wal_replay_lsn(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_last_xlog_receive_location() RETURNS pg_lsn AS $$ SELECT pg_last_wal_receive_lsn(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_current_xlog_flush_location() RETURNS pg_lsn AS $$ SELECT pg_current_wal_flush_lsn(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_current_xlog_insert_location() RETURNS pg_lsn AS $$ SELECT pg_current_wal_insert_lsn(); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_xlog_location_diff(lsn1 pg_lsn, lsn2 pg_lsn) RETURNS NUMERIC AS $$ SELECT pg_wal_lsn_diff(lsn1, lsn2); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_xlogfile_name_offset(lsn pg_lsn, OUT TEXT, OUT INTEGER) AS $$ SELECT pg_walfile_name_offset(lsn); $$ LANGUAGE SQL;CREATE OR REPLACE FUNCTION fnRenames.pg_create_logical_replication_slot(slot_name name, plugin name, temporary BOOLEAN DEFAULT FALSE, OUT slot_name name, OUT xlog_position pg_lsn) RETURNS RECORD AS $$ SELECT slot_name::NAME, lsn::pg_lsn FROM pg_catalog.pg_create_logical_replication_slot(slot_name, plugin, temporary); $$ LANGUAGE SQL;ALTER <user name> USER SET search_path = fnRenames, pg_catalog, "$user", public;

-- DROP SCHEMA fnRenames CASCADE;-- ALTER USER PG_User SET search_path TO DEFAULT;COMMIT;

Atributos de conexão adicionais ao usar o PostgreSQL comoorigem para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar a origem do PostgreSQL. Vocêespecifica essas configurações ao criar o endpoint de origem. Várias configurações de atributo de conexãoadicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o PostgreSQL comoorigem do AWS DMS:

Versão da API API versão 2016-01-01122

Page 129: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Nome Descrição

captureDDL Para capturar eventos de DDL, o AWS DMS cria váriosartefatos no banco de dados PostgreSQL quando a tarefa éiniciada. Você pode remover esses artefatos posteriormente,conforme descrito em Remoção de artefatos do AWS DMS deum banco de dados PostgreSQL de origem (p. 121).

Se o valor está definido como N, você não precisa criartabelas ou gatilhos no banco de dados de origem. Para obtermais informações, consulte Migração de um banco de dadosPostgreSQL do Amazon RDS sem usar a conta de usuáriomestre (p. 119).

Os eventos de DDL transmitidos são capturados.

Valor padrão: Y

Valores válidos: Y/N

Exemplo: captureDDLs=Y

ddlArtifactsSchema O schema com base no qual os artefatos operacionais debanco de dados em DDL são criados.

Valor padrão: público

Valores válidos: string

Exemplo: ddlArtifactsSchema=xyzddlschema

failTasksOnLobTruncation Quando definido como true, esse valor causa uma falha natarefa, caso o tamanho real de uma coluna LOB seja superiorao LobMaxSize especificado.

Se a tarefa for definida como modo LOB limitado e essaopção estiver definida como true, a tarefa falhará em vez detruncar os dados de LOB.

Valor padrão: falso

Valores válidos: booleano

Exemplo: failTasksOnLobTruncation=true

executeTimeout Define o tempo limite da instrução do cliente para a instânciado PostgreSQL, em segundos. O valor de padrão é de 60segundos.

Exemplo: executeTimeout=100

Tipos de dados de origem do PostgreSQLA tabela a seguir mostra os tipos de dados de origem do PostgreSQL compatíveis com o AWS DMS e omapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Versão da API API versão 2016-01-01123

Page 130: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como origem

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do PostgreSQL Tipos de dados do AWS DMS

INTEGER INT4

SMALLINT INT2

BIGINT INT8

NUMERIC (p,s) Se a precisão está entre 0 e 38, use NUMERIC.

Se a precisão é maior ou igual a 39, use STRING.

DECIMAL(P,S) Se a precisão está entre 0 e 38, use NUMERIC.

Se a precisão é maior ou igual a 39, use STRING.

REAL REAL4

DOUBLE REAL8

SMALLSERIAL INT2

SERIAL INT4

BIGSERIAL INT8

MONEY NUMERIC(38,4)

Observação: o tipo de dados MONEY é mapeadocomo FLOAT no SQL Server.

CHAR WSTRING (1)

CHAR(N) WSTRING (n)

VARCHAR(N) WSTRING (n)

TEXT NCLOB

BYTEA BLOB

TIMESTAMP TIMESTAMP

TIMESTAMP (z) TIMESTAMP

TIMESTAMP with time zone Não suportado

DATE DATE

TIME TIME

TIME (z) TIME

INTERVAL STRING (128)—1 ANO, 2 MESES, 3 DIAS, 4HORAS, 5 MINUTOS, 6 SEGUNDOS

BOOLEAN CHAR (5) falso ou verdadeiro

ENUM STRING (64)

Versão da API API versão 2016-01-01124

Page 131: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Tipos de dados do PostgreSQL Tipos de dados do AWS DMS

CIDR STRING (50)

INET STRING (50)

MACADDR STRING (18)

BIT (n) STRING (n)

BIT VARYING (n) STRING (n)

UUID STRING

TSVECTOR CLOB

TSQUERY CLOB

XML CLOB

POINT STRING (255) "(x,y)"

LINE STRING (255) "(x,y,z)"

LSEG STRING (255) "((x1,y1),(x2,y2))"

BOX STRING (255) "((x1,y1),(x2,y2))"

PATH CLOB "((x1,y1),(xn,yn))"

POLYGON CLOB "((x1,y1),(xn,yn))"

CIRCLE STRING (255) "(x,y),r"

JSON NCLOB

JSONB NCLOB

ARRAY NCLOB

COMPOSITE NCLOB

HSTORE NCLOB

INT4RANGE STRING (255)

INT8RANGE STRING (255)

NUMRANGE STRING (255)

STRRANGE STRING (255)

Uso de um banco de dados compatível com MySQLcomo origem para o AWS DMSVocê pode migrar dados de qualquer banco de dados compatível com MySQL (MySQL, MariaDB ouAmazon Aurora MySQL) usando o AWS Database Migration Service. As versões 5.5, 5.6 e 5.7 do MySQL,bem como o MariaDB e o Amazon Aurora MySQL são compatíveis para locais. Todos os bancos de dadosMySQL gerenciados pela (Amazon RDS para MySQL, Amazon RDS para MariaDB, MySQL do AmazonAurora) também são compatíveis como origens para o AWS DMS.

Versão da API API versão 2016-01-01125

Page 132: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Você pode usar o SSL para criptografar conexões entre o endpoint compatível com MySQL e a instânciade replicação. Para obter mais informações sobre o uso do SSL com um endpoint compatível com MySQL,consulte Uso de SSL com o AWS Database Migration Service (p. 49).

Nas seções a seguir, o termo "autogerenciado" se aplica a qualquer banco de dados que é instalado nolocal ou no Amazon EC2. O termo "gerenciado pela Amazon" se aplica a qualquer banco de dados noAmazon RDS, Amazon Aurora ou Amazon S3.

Para obter mais detalhes sobre a utilização de bancos de dados compatíveis com MySQL e o AWS DMS,consulte as seguintes seções.

Tópicos• Migração do MySQL para o MySQL usando o AWS DMS (p. 126)• Uso de um banco de dados compatível com MySQL como origem para o AWS DMS (p. 128)• Uso de um banco de dados autogerenciado compatível com MySQL como origem para o AWS

DMS (p. 128)• Uso de um banco de dados gerenciado pela Amazon compatível com MySQL como origem para o

AWS DMS (p. 129)• Limitações em usar um banco de dados MySQL como origem para o AWS DMS (p. 130)• Atributos de conexão adicionais ao usar o MySQL como origem para o AWS DMS (p. 131)• Tipos de dados de origem do MySQL (p. 132)

Migração do MySQL para o MySQL usando o AWS DMSPara uma migração heterogênea, na qual você migra de um mecanismo de banco de dados diferente doMySQL para um banco de dados MySQL, o AWS DMS quase sempre é a melhor ferramenta de migraçãopara usar. No entanto, para uma migração homogênea, na qual você migra de um banco de dados MySQLpara um banco de dados do MySQL, ferramentas nativas podem ser mais eficazes.

Recomendamos que você use ferramentas nativas de migração do banco de dados MySQL, comomysqldump, nas seguintes condições:

• Quando há uma migração homogênea, na qual você migra de um banco de dados MySQL de origempara um banco de dados MySQL de destino.

• Quando for migrar um banco de dados inteiro.• As ferramentas nativas permitem que você migre os dados com um tempo mínimo de inatividade.

Você pode importar dados de um banco de dados MySQL ou MariaDB existente para uma instânciade banco de dados MariaDB ou MySQL do Amazon RDS. Faça isso copiando o banco de dados commysqldump e conectando-o diretamente à instância de banco de dados MariaDB ou MySQL do AmazonRDS. O utilitário de linha de comando mysqldump é comumente usado para fazer backups e transferirdados de um servidor MySQL ou MariaDB para outro. Ele está incluído no software cliente MySQL eMariaDB.

Para obter mais informações sobre a importação de um banco de dados MySQL para Amazon RDS paraMySQL ou Amazon Aurora (MySQL), consulte Importação de dados para uma instância de banco dedados MySQL e Importação de dados de um banco de dados MySQL ou MariaDB para uma instância debanco de dados MariaDB ou MySQL do Amazon RDS.

Uso do AWS DMS para migrar dados do MySQL para o MySQL

O AWS DMS pode migrar dados de, por exemplo, um banco de dados MySQL de origem que está nolocal para um Amazon RDS para MySQL de destino ou instância do Amazon Aurora (MySQL). Os tipos dedados do MySQL fundamentais ou básicos geralmente migram com êxito.

Versão da API API versão 2016-01-01126

Page 133: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Os tipos de dados compatíveis no banco de dados de origem, mas não compatíveis no destino, podem nãoser migrados com êxito. O AWS DMS transmite alguns tipos de dados como strings se o tipo de dados fordesconhecido. Alguns tipos de dados, como XML e JSON, podem ser migrados com êxito como arquivospequenos, mas podem falhar se forem documentos grandes.

A tabela a seguir mostra os tipos de dados do MySQL de origem e se podem ser migrados com êxito:

Tipo de dados Migrará comêxito

Migraráparcialmente

Não migrará Comentários

INT X      

BIGINT X      

MEDIUMINT X      

TINYINT X      

DECIMAL (p,s) X      

BINARY X      

BIT(M) X      

BLOB X      

LONGBLOB X      

MEDIUMBLOB X      

TINYBLOB X      

DATE X      

DATETIME X      

TIME   X    

TIMESTAMP X      

YEAR X      

DOUBLE X      

FLOAT   X    

VARCHAR(N) X      

VARBINARY(N) X      

CHAR(N) X      

TEXT X      

LONGTEXT X      

MEDIUMTEXT X      

TINYTEXT X      

GEOMETRY     X  

POINT     X  

Versão da API API versão 2016-01-01127

Page 134: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Tipo de dados Migrará comêxito

Migraráparcialmente

Não migrará Comentários

LINESTRING     X  

POLYGON     X  

MULTILINESTRING     X  

MULTIPOLYGON     X  

GEOMETRYCOLLECTION     X  

ENUM   X    

SET   X    

Uso de um banco de dados compatível com MySQL como origempara o AWS DMSAntes de começar a trabalhar com um banco de dados MySQL como origem para o AWS DMS, confirmese você tem os seguintes pré-requisitos. Esses pré-requisitos se aplicam às origens autogerenciadas ougerenciadas pela Amazon.

Você deve ter uma conta do AWS DMS que possui a função Replication Admin. A função tem os seguintesprivilégios:

• REPLICATION CLIENT – este privilégio é necessário apenas para tarefas de captura de dados dealteração (CDC). Em outras palavras, as tarefas somente com carga completa não requerem esteprivilégio.

• REPLICATION SLAVE – este privilégio é necessário apenas para tarefas de captura de dados dealteração (CDC). Em outras palavras, as tarefas somente com carga completa não requerem esteprivilégio.

• SUPER – este privilégio é necessário somente nas versões do MySQL anteriores à versão 5.6.6.

O usuário do AWS DMS deve ter os privilégios SELECT para as tabelas de origem designadas parareplicação.

Uso de um banco de dados autogerenciado compatível comMySQL como origem para o AWS DMSVocê pode usar os seguintes bancos de dados autogerenciados compatíveis com MySQL como origenspara o AWS DMS:

• MySQL Community• MySQL Standard• MySQL Enterprise• MySQL Cluster Carrier Grade• MariaDB Community Edition• MariaDB Enterprise Edition• MariaDB Column Store

Versão da API API versão 2016-01-01128

Page 135: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Você precisa habilitar o log binário se planeja usar a captura de dados de mudança (CDC). Para habilitaro registro binário, os seguintes parâmetros devem ser configurados nos arquivos my.ini (Windows) oumy.cnf (UNIX) do MySQL.

Parâmetro Valor

server_id Defina este parâmetro com um valor maior ou igual a 1.

log-bin Defina a rota para o arquivo de log binário, por exemplo log-bin=E:\MySql_Logs\BinLog. Não inclua a extensão do arquivo.

binlog_format Defina este parâmetro como ROW.

expire_logs_days Defina este parâmetro com um valor maior ou igual a 1. Para evitar o usoexcessivo de espaço em disco, recomendamos que você não utilize o valorpadrão de 0.

binlog_checksum Defina este parâmetro como NONE.

binlog_row_image Defina este parâmetro como FULL.

log_slave_updates Defina esse parâmetro como TRUE se você estiver usando uma réplica deleitura do MySQL ou MariaDB como origem.

Se sua origem NDB (cluster) usa o mecanismo de banco de dados, os seguintes parâmetros precisamser configurados para habilitar CDC em tabelas que usam esse mecanismo de armazenamento. Adicioneessas alterações no arquivo my.ini do MySQL (Windows) ou my.cnf (UNIX).

Parâmetro Valor

ndb_log_bin Defina este parâmetro como ON. Este valor garante que as alterações emtabelas clusterizadas são registradas no log binário.

ndb_log_update_as_writeDefina este parâmetro como OFF. Este valor impede o registro de instruçõesUPDATE como instruções INSERT no log binário.

ndb_log_updated_onlyDefina este parâmetro como OFF. Este valor garante que o log binário contéma linha completa e não apenas as colunas alteradas.

Uso de um banco de dados gerenciado pela Amazon compatívelcom MySQL como origem para o AWS DMSVocê pode usar os seguintes bancos de dados gerenciados pela Amazon compatíveis com MySQL comoorigens para o AWS DMS:

• MySQL Community• MariaDB Community Edition• Amazon Aurora MySQL

Quando você começar a usar um banco de dados gerenciados pela Amazon compatíveis com MySQLcomo origem para o AWS DMS, confirme se tem os seguintes pré-requisitos:

• É necessário ativar backups automáticos. Para obter mais informações sobre a configuração de backupsautomáticos, consulte Trabalhar com backups automáticos no Guia do usuário da Amazon RDS.

Versão da API API versão 2016-01-01129

Page 136: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

• Você precisa habilitar o log binário se planeja usar a captura de dados de mudança (CDC). Para obtermais informações sobre a configuração de logs binários para um banco de dados MySQL do AmazonRDS, consulte Trabalhar com backups automáticos no Guia do usuário da Amazon RDS.

• Verifique se os logs binários estão disponíveis para o AWS DMS. Como os bancos de dadosgerenciados pela Amazon compatíveis com MySQL purgam logs binários, assim que possível, vocêdeve aumentar o período em que os logs permanecerão disponíveis. Por exemplo, para aumentar aretenção de log para 24 horas, execute o seguinte comando.

call mysql.rds_set_configuration('binlog retention hours', 24);

• O parâmetro binlog_formatdeve ser definido como "ROW".• O parâmetro binlog_checksum deve ser definido como "NONE". Para obter mais informações

sobre a configuração de parâmetros no MySQL do Amazon RDS, consulte Trabalhar com backupsautomáticos no Guia do usuário da Amazon RDS.

• Se você estiver usando um MySQL do Amazon RDS ou MariaDB do Amazon RDS como uma réplica deleitura, os backups de origem precisarão ser habilitados na réplica de leitura.

Limitações em usar um banco de dados MySQL como origempara o AWS DMSAo usar um banco de dados MySQL como origem, o AWS DMS não é compatível com:

• A captura de dados de alteração (CDC) não é compatível com o MySQL 5.5 ou inferior do Amazon RDS.Para o MySQL do Amazon RDS, você deve usar a versão 5.6 ou posterior para habilitar CDC.

• As instruções de linguagem de definição de dados (DDL) DROP TABLE e RENAME TABLE não sãocompatíveis. Além disso, todas as instruções de DDL para tabelas particionadas não são compatíveis.

• Para tabelas particionadas na origem, quando você definir Target table preparation mode (Modo depreparação de tabela de destino) para Drop tables on target (Soltar tabelas no destino), o AWS DMScriará uma tabela simples sem partições no destino MySQL. Para migrar tabelas particionadas para umatabela particionada no destino, pré-crie as tabelas particionadas no banco de dados MySQL de destino.

• Usar a instrução ALTER TABLE<table_name> ADD COLUMN <column_name> para adicionar colunasao início (FIRST) ou o meio de uma tabela (AFTER) não é compatível. As colunas são sempreadicionadas ao final da tabela.

• A CDC não é compatível quando um nome de tabela contém caracteres maiúsculos e minúsculos, e omecanismo de origem está hospedado em um sistema operacional com nomes de arquivos que nãodiferenciam letras maiúsculas de minúsculas. Um exemplo é o Windows ou OS X usando HFS+.

• O cabeçalho de coluna AR_H_USER não é suportado.• O atributo AUTO_INCREMENT em uma coluna não migra para uma coluna de banco de dados de

destino.• A captura de alterações quando os logs binários não são armazenados em armazenamento de bloco

padrão não é compatível. Por exemplo, CDC não funciona quando os logs binários são armazenados noAmazon S3.

• O AWS DMS cria tabelas de destino com o mecanismo de armazenamento InnoDB por padrão. Se vocêprecisar usar um mecanismo de armazenamento InnoDB diferente, crie a tabela manualmente e migre-ausando o modo "do nothing".

• Não é possível usar réplicas de leitura do MySQL do Aurora como origem para o AWS DMS.• Se a origem compatível com MySQL for interrompida durante a carga total, a tarefa do AWS DMS não

exibirá um erro. A tarefa termina com êxito, mas o destino poderá estar fora de sincronia com a origem.Se isso acontecer, reinicie a tarefa ou recarregue as tabelas afetadas.

Versão da API API versão 2016-01-01130

Page 137: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

• Índices criados em uma parte do valor de uma coluna não são migrados. Por exemplo, o índice CREATEINDEX first_ten_chars ON customer (name(10)) não é criado no destino.

• Em alguns casos, a tarefa não está configurada para replicar LOBs ("SupportLobs" é false nasdefinições de tarefa ou a opção "Don't include LOB columns" está marcada na tarefa console). Nessescasos, o AWS DMS não migra nenhuma coluna MEDIUMBLOB, LONGBLOB, MEDIUMTEXT nemLONGTEXT para o destino.

As colunas BLOB, TINYBLOB, TEXT e TINYTEXT não são afetadas e são migrados para o destino.

Atributos de conexão adicionais ao usar o MySQL como origempara o AWS DMSVocê pode usar atributos de conexão extra para configurar um MySQL de origem. Você especifica essasconfigurações ao criar o endpoint de origem. Várias configurações de atributo de conexão adicionaisdevem ser separadas umas das outras por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o Amazon RDS MySQLcomo origem do AWS DMS.

Nome Descrição

eventsPollInterval Especifica a frequência com que se deve verificar o logbinário para ver se há alterações/eventos novos quando obanco de dados está inativo.

Valor padrão: 5

Valores válidos: 1 - 60

Exemplo: eventsPollInterval=5

No exemplo, o AWS DMS verifica se há alterações nos logsbinários a cada cinco segundos.

initstmt=SET time_zone Especifica o fuso horário para o banco de dados MySQL deorigem. Os timestamps são convertidos para o fuso horárioespecificado.

Valor padrão: UTC

Valores válidos: uma abreviatura de três caracteres para ofuso horário que deseja usar, por exemplo, UTC, EST ouGMT. Os valores válidos são as abreviaturas de fuso horáriopadrão do sistema operacional que hospeda o banco dedados MySQL de origem.

Exemplo: initstmt=SET time_zone=UTC

afterConnectScript Especifica um script para ser executado imediatamenteapós a conexão do AWS DMS com o endpoint. A tarefa demigração continuará em execução, independentemente se ainstrução SQL for bem-sucedida ou não.

Valores válidos: uma ou mais instruções SQL válidas,separadas por ponto e vírgula.

Versão da API API versão 2016-01-01131

Page 138: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Nome DescriçãoExemplo: afterConnectScript=ALTER SESSION SETCURRENT_SCHEMA = system;

CleanSrcMetadataOnMismatch Limpa e recria as informações dos metadados da tabela nainstância de replicação quando ocorre uma incompatibilidade.Por exemplo, em uma situação em que a execução deum DDL alternativo na tabela pode resultar em diferentesinformações sobre a tabela armazenada em cache nainstância de replicação. Booleano.

Valor padrão: false

Exemplo: CleanSrcMetadataOnMismatch=false

Tipos de dados de origem do MySQLA tabela a seguir mostra os tipos de dados de origem do banco de dados MySQL compatíveis com o AWSDMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Note

O conjunto de caracteres de 4 bytes UTF-8 (utf8mb4) não é compatível e pode causar umcomportamento inesperado em um banco de dados de origem. Planeje sua conversão de dadosusando o conjunto de caracteres de 4 bytes UTF-8 antes de migrar.

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do MySQL Tipos de dados do AWS DMS

INT INT4

MEDIUMINT INT4

BIGINT INT8

TINYINT INT1

DECIMAL(10) NUMERIC (10,0)

BINARY BYTES(1)

BIT BOOLEAN

BIT(64) BYTES(8)

BLOB BYTES(66535)

LONGBLOB BLOB

MEDIUMBLOB BLOB

TINYBLOB BYTES(255)

DATE DATE

Versão da API API versão 2016-01-01132

Page 139: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como origem

Tipos de dados do MySQL Tipos de dados do AWS DMS

DATETIME DATETIME

TIME STRING

TIMESTAMP DATETIME

YEAR INT2

DOUBLE REAL8

FLOAT REAL(DOUBLE)

Os intervalos compatíveis com o tipo FLOAT são-1,79E+308 a -2,23E-308, 0 e 2,23E-308 a 1,79E+308

Se os valores do tipo FLOAT não estiverem dentrodesses intervalos, faça o mapeamento do tipo dedados FLOAT para o tipo de dados STRING.

VARCHAR (45) WSTRING (45)

VARCHAR (2000) WSTRING (2000)

VARCHAR (4000) WSTRING (4000)

VARBINARY (4000) BYTES (4000)

VARBINARY (2000) BYTES (2000)

CHAR WSTRING

TEXT WSTRING (65535)

LONGTEXT NCLOB

MEDIUMTEXT NCLOB

TINYTEXT WSTRING (255)

GEOMETRY BLOB

POINT BLOB

LINESTRING BLOB

POLYGON BLOB

MULTIPOINT BLOB

MULTILINESTRING BLOB

MULTIPOLYGON BLOB

GEOMETRYCOLLECTION BLOB

Note

Se os tipos de dados DATETIME e TIMESTAMP estão definidos com o valor "zero" (ou seja,0000-00-00), você deve certificar-se de que o banco de dados de destino na tarefa de replicação

Versão da API API versão 2016-01-01133

Page 140: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SAP ASE como origem

ofereça suporte ao valor "zero" para os tipos de dados DATETIME e TIMESTAMP. Caso contrário,eles serão salvos como valores nulos no destino.

Os seguintes tipos de dados do MySQL são compatíveis somente quando estão totalmente carregados.

Tipos de dados do MySQL Tipos de dados do AWS DMS

ENUM STRING

SET STRING

Uso de um banco de dados SAP ASE como origempara o AWS DMSMigre dados de um banco de dados SAP Adaptive Server Enterprise (ASE) – conhecido anteriormentecomo Sybase – usando o AWS DMS. Usando um banco de dados SAP ASE como origem, você podemigrar dados para qualquer um dos outros bancos de dados de destino compatíveis com o AWS DMS. OAWS DMS é compatível com as versões 12.5.3 ou superior, 15, 15.5, 15.7, 16 e posteriores do SAP ASEcomo origens.

Para obter mais detalhes sobre a utilização dos bancos de dados SAP ASE e AWS DMS, consulte asseguintes seções.

Tópicos• Pré-requisitos para o uso de um banco de dados SAP ASE como origem para o AWS DMS (p. 134)• Limitações de uso do SAP ASE como origem para o AWS DMS (p. 134)• Permissões necessárias para usar SAP ASE como origem para o AWS DMS (p. 135)• Remoção do ponto de truncamento (p. 135)• Tipos de dados de origem do SAP ASE (p. 136)

Pré-requisitos para o uso de um banco de dados SAP ASE comoorigem para o AWS DMSPara usar um banco de dados SAP ASE como origem para o AWS DMS, faça o seguinte:

• Habilite a replicação no SAP ASE para tabelas com o comando sp_setreptable.• Desabilite RepAgent no banco de dados SAP ASE.• Para replicar para SAP ASE versão 15.7 em uma instância do Amazon EC2 no Microsoft Windows

configurado para caracteres não latinos (por exemplo, chinês), instale o SAP ASE 15.7 SP121 nocomputador de destino.

Limitações de uso do SAP ASE como origem para o AWS DMSAs seguintes limitações se aplicam quando um banco de dados SAP ASE é usado como origem do AWSDMS:

• Apenas uma tarefa do AWS DMS pode ser executada para cada banco de dados SAP ASE.• Não é possível renomear uma tabela. Por exemplo, o comando a seguir falha:

Versão da API API versão 2016-01-01134

Page 141: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SAP ASE como origem

sp_rename 'Sales.SalesRegion', 'SalesReg;

• Não é possível renomear uma coluna. Por exemplo, o comando a seguir falha:

sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';

• Os valores zero presentes no final de strings de tipos de dados binários sãotruncados quando replicados para o banco de dados de destino. Por exemplo,0x0000000000000000000000000100000100000000 na tabela de origem torna-se0x00000000000000000000000001000001 na tabela de destino.

• O AWS DMS cria a tabela de destino com colunas que não permitem valores NULL, caso o padrão nobanco de dados esteja definido para não permitir valores NULL. Portanto, se uma tarefa de replicaçãode carregamento total ou captura de dados de alteração (CDC) contiver valores vazios, o AWS DMSlança um erro. Você pode evitar que esses erros ocorram permitindo valores NULL no banco de dadosde origem com os seguintes comandos.

sp_dboption <database name>, 'allow nulls by default', 'true'gouse <database name>CHECKPOINTgo

• O comando de índice reorg rebuild não é compatível.• Os clusters não são compatíveis.

Permissões necessárias para usar SAP ASE como origem para oAWS DMSPara usar um banco de dados SAP ASE como origem em uma tarefa do AWS DMS, conceda à conta dousuário especificada nas definições do banco de dados do AWS DMS; as seguintes permissões no bancode dados SAP ASE.

• sa_role• replication_role• sybase_ts_role• Se ativar a opção Automatically enable Sybase replication (Habilitar automaticamente a replicação

Sybase) (na guia Advanced (Avançado)) ao criar o endpoint de origem SAP ASE, conceda tambémpermissão ao AWS DMS para executar o procedimento armazenado sp_setreptable.

Remoção do ponto de truncamentoAo iniciar uma tarefa, o AWS DMS cria uma entrada $replication_truncation_point na exibiçãodo sistema syslogshold, indicando que o processo de replicação está em andamento. Enquanto o AWSDMS está trabalhando, ele avança o ponto de truncamento de replicação em intervalos regulares, deacordo com o volume dos dados que já foram copiados para o destino.

Assim que a entrada $replication_truncation_point for criada, mantenha a tarefa do AWSDMS em execução para evitar que o log do banco de dados cresça excessivamente. Se quiser pararpermanentemente a tarefa do AWS DMS, remova o ponto de truncamento de replicação com o seguintecomando:

dbcc settrunc('ltm','ignore')

Versão da API API versão 2016-01-01135

Page 142: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SAP ASE como origem

Depois que o ponto de truncamento for removido, não é possível retomar a tarefa do AWS DMS. O logcontinuará a ser automaticamente truncado nos pontos de verificação (se o truncamento automático fordefinido).

Tipos de dados de origem do SAP ASEPara obter uma lista dos tipos de dados de destino do banco de dados SAP ASE compatíveis com oAWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS, consulte a tabela a seguir.O AWS DMS não é compatível com tabelas de origem SAP ASE com colunas do tipo de dados tiposdefinidos pelo usuário (UDT). Colunas replicadas com esse tipo de dados são criadas como NULL.

Para obter informações sobre como exibir o tipo de dados mapeado no destino, consulte a seção Destinospara a migração de dados (p. 150) relativa ao seu endpoint de destino.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do SAP ASE Tipos de dados do AWS DMS

BIGINT INT8

BINARY BYTES

BIT BOOLEAN

CHAR STRING

DATE DATE

DATETIME DATETIME

DECIMAL NUMERIC

DOUBLE REAL8

FLOAT REAL8

IMAGE BLOB

INT INT4

MONEY NUMERIC

NCHAR WSTRING

NUMERIC NUMERIC

NVARCHAR WSTRING

REAL REAL4

SMALLDATETIME DATETIME

SMALLINT INT2

SMALLMONEY NUMERIC

TEXT CLOB

TIME TIME

TINYINT UINT1

Versão da API API versão 2016-01-01136

Page 143: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MongoDB como origem

Tipos de dados do SAP ASE Tipos de dados do AWS DMS

UNICHAR UNICODE CHARACTER

UNITEXT NCLOB

UNIVARCHAR UNICODE

VARBINARY BYTES

VARCHAR STRING

Uso do MongoDB como origem para o AWS DMSO AWS DMS oferece suporte ao MongoDB versões 2.6.x e 3.x como um banco de dados de origem.

Se você é novo no MongoDB, esteja ciente quanto aos seguintes conceitos importantes sobre o banco dedados do MongoDB.

• Um registro no MongoDB é um documento, que é uma estrutura de dados composta por paresde campo e valor. O valor de um campo pode incluir outros documentos, matrizes e matrizes dedocumentos. Um documento é aproximadamente equivalente a uma linha em uma tabela de banco dedados relacional.

• Uma coleção no MongoDB é um grupo de documentos e é aproximadamente equivalente a uma tabelade banco de dados relacional.

• Internamente, um documento do MongoDB é armazenado como um arquivo binário JSON (BSON) emum formato compactado que inclui um tipo para cada campo no documento. Cada documento tem um IDexclusivo.

O AWS DMS oferece suporte a dois modos de migração usando o MongoDB como origem. Especifiqueo modo de migração usando o parâmetro Metadata mode (Modo de metadados) com o Console deGerenciamento da AWS ou o atributo de conexão adicional nestingLevel ao criar o endpoint doMongoDB. A escolha do modo de migração afeta o formato resultante dos dados de destino, conformeexplicado a seguir.

Modo de documentos

No modo de documentos, o documento do MongoDB é migrado "no estado em que se encontra", ouseja, os dados do documento são consolidados em uma única coluna chamada _doc em uma tabelade destino. O modo de documentos é a configuração padrão ao usar o MongoDB como um endpointde origem.

Por exemplo, considere os seguintes documentos em uma coleção do MongoDB chamadamyCollection.

> db.myCollection.find(){ "_id" : ObjectId("5a94815f40bd44d1b02bdfe0"), "a" : 1, "b" : 2, "c" : 3 }{ "_id" : ObjectId("5a94815f40bd44d1b02bdfe1"), "a" : 4, "b" : 5, "c" : 6 }

Após a migração dos dados para uma tabela de banco de dados relacional usando o modo dedocumentos, os dados são estruturados como mostrado a seguir. Os campos de dados no documentodo MongoDB são consolidados na coluna _doc.

oid_id _doc

Versão da API API versão 2016-01-01137

Page 144: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MongoDB como origem

5a94815f40bd44d1b02bdfe0 { "a" : 1, "b" : 2, "c" : 3 }

5a94815f40bd44d1b02bdfe1 { "a" : 4, "b" : 5, "c" : 6 }

Opcionalmente, defina o parâmetro extractDocID de atributo de conexão adicional como true paracriar uma segunda coluna chamada "_id", que servirá de chave primária. Se for usar a captura dedados de alteração (CDC), defina esse parâmetro como true.

No modo de documentos, o AWS DMS gerencia a criação e a renomeação das coleções da seguinteforma:• Se adicionar uma nova coleção ao banco de dados de origem, o AWS DMS cria uma nova tabela de

destino para a coleção e replica os documentos.• Se renomear uma coleção existente no banco de dados de origem, o AWS DMS não renomeia a

tabela de destino.Modo de tabelas

No modo de tabela, o AWS DMS transforma cada campo de nível superior de um documento doMongoDB em uma coluna na tabela de destino. Se um campo estiver aninhado, o AWS DMSsimplifica os valores aninhados em uma única coluna. Em seguida, o AWS DMS adiciona um campochave e tipos de dados ao conjunto de colunas da tabela de destino.

Para cada documento do MongoDB, o AWS DMS adiciona cada chave e tipo ao conjunto de colunasda tabela de destino. Por exemplo, usando o modo de tabelas, o AWS DMS migra o exemplo anteriorpara a tabela a seguir.

oid_id a b c

5a94815f40bd44d1b02bdfe01 2 3

5a94815f40bd44d1b02bdfe14 5 6

Os valores aninhados são simplificados em uma coluna que contém os nomes das chaves separadospor pontos. A coluna é nomeado concatenação dos nomes dos campos simplificados, separados porpontos. Por exemplo, o AWS DMS migra um documento JSON com um campo de valores aninhadoscomo {"a" : {"b" : {"c": 1}}} para uma coluna chamada a.b.c.

Para criar as colunas de destino, o AWS DMS faz a varredura em um número específico dedocumentos do MongoDB e cria um conjunto de todos os campos e seus tipos. Em seguida, o AWSDMS usa esse conjunto para criar as colunas da tabela de destino. Se criar ou modificar o endpointde origem do MongoDB usando o console da , especifique o número de documentos para varredura.O valor padrão são 1.000 documentos. Se usar a CLI do AWS, o atributo de conexão adicionaldocsToInvestigate pode ser usado.

No modo de tabelas, o AWS DMS gerencia documentos e coleções da seguinte forma:• Ao adicionar um documento a uma coleção existente, o documento é replicado. Se houver campos

que não existem no destino, esses campos não serão replicados.• Quando você atualiza um documento, o documento atualizado é replicado. Se houver campos que

não existem no destino, esses campos não serão replicados.• A exclusão de documentos é totalmente compatível.• A adição de uma coleção nova não resultará na criação de uma nova tabela no destino quando feita

durante uma tarefa de CDC.• A renomeação de coleções não é compatível.

Versão da API API versão 2016-01-01138

Page 145: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MongoDB como origem

Permissões necessárias ao usar o MongoDB como origem para oAWS DMSPara uma migração do AWS DMS com uma origem do MongoDB, é possível criar uma conta do usuáriocom privilégios de raiz ou um usuário com permissões para migração somente no banco de dados.

O código a seguir cria um usuário para ser a conta raiz.

use admindb.createUser( { user: "root", pwd: "<password>", roles: [ { role: "root", db: "admin" } ] })

O código a seguir cria um usuário com o mínimo de privilégios no banco de dados a ser migrado.

use <database_to_migrate>db.createUser( { user: "<dms-user>", pwd: "<password>", roles: [ { role: "read", db: "local" }, "read"] })

Configuração de um conjunto de réplicas do MongoDB para captura de dados dealteração (CDC)Para usar a replicação contínua ou a captura de dados de alteração (CDC) com o MongoDB, o AWSDMS requer acesso ao log de operações do MongoDB (oplog). Para criar o oplog, é necessário implantarum conjunto de réplicas, caso não exista. Para obter mais informações, consulte a documentação doMongoDB.

Use a CDC com os nós primário ou secundário de um conjunto de réplicas do MongoDB como o endpointde origem.

Para converter uma instância independente em um conjunto de réplicas

1. Usando a linha de comando, conecte-se ao mongo.

mongo localhost

2. Interrompa o serviço mongod.

service mongod stop

3. Reinicie o mongod usando o comando a seguir:

mongod --replSet "rs0" --auth -port <port_number>

4. Teste a conexão com o conjunto de réplicas usando os seguintes comandos:

mongo -u root -p <password> --host rs0/localhost:<port_number> --authenticationDatabase "admin"

Versão da API API versão 2016-01-01139

Page 146: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MongoDB como origem

Se planeja executar uma migração no modo de documentos, selecione a opção _id as a separatecolumn ao criar o endpoint do MongoDB. Selecionar essa opção cria uma segunda coluna chamada _idque atua como a chave primária. Essa segunda coluna é exigida pelo AWS DMS para oferecer suporte àsoperações de linguagem de manipulação de dados (DML).

Requisitos de segurança para usar o MongoDB como origem para o AWS DMS

O AWS DMS oferece suporte a dois métodos de autenticação para o MongoDB. Os dois métodos deautenticação são usados para criptografar a senha, e portanto só são usados quando o parâmetroauthType está definido como PASSWORD.

Os métodos de autenticação do MongoDB são os seguintes:

• MONOGODB-CR – o padrão usado para a autenticação no MongoDB 2.x.• SCRAM-SHA-1 – o padrão usado para a autenticação no MongoDB versão 3.x.

Se não houver um método de autenticação especificado, o AWS DMS usará o método padrão para aversão de origem do MongoDB.

Limitações de uso do MongoDB como origem para o AWS DMS

A seguir estão relacionadas as limitações de uso do MongoDB como origem para o AWS DMS:

• Quando a opção _id está definida como uma coluna separada, a string de ID não pode exceder 200caracteres.

• As chaves de ID de objetos e de tipos de array são convertidas em colunas com o prefixo oid e arrayno modo de tabela.

Internamente, essas colunas são referenciadas com os nomes prefixados. Se usar regras detransformação no AWS DMS que fazem referência a essas colunas, é necessário especificar a colunaprefixada. Por exemplo, especifique ${oid__id} e não ${_id}, ou ${array__addresses} e não${_addresses}.

• Os nomes de coleções não podem conter o símbolo de dólar ($).• Os modos de tabelas e documentos possuem as limitações discutidas anteriormente.

Atributos de conexão adicionais ao usar o MongoDB como origem para o AWSDMS

Ao configurar o endpoint de origem do MongoDB, especifique atributos de conexão adicionais. Atributos deconexão adicionais são especificados por pares chave-valor e são separados por ponto-e-vírgula.

A tabela a seguir descreve os atributos de conexão adicionais disponíveis ao usar bancos de dados doMongoDB como uma origem do AWS DMS.

Nome doatributo

Valores válidos Valor padrão e descrição

authType NO

PASSWORD

PASSWORD – quando NO é selecionado, os parâmetrosde nome de usuário e senha não são usados e podem estarvazios.

authMechanismDEFAULT

MONGODB_CR

DEFAULT – Para MongoDB versão 2.x, useMONGODB_CR. Para MongoDB versão 3.x, useSCRAM_SHA_1. Este atributo não é usado quandoauthType=NO.

Versão da API API versão 2016-01-01140

Page 147: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MongoDB como origem

Nome doatributo

Valores válidos Valor padrão e descrição

SCRAM_SHA_1

nestingLevel NONE

ONE

NONE – especifique NONE para usar o modo dedocumentos. Especifique ONE para usar o modo detabelas.

extractDocID true

false

false – use este atributo quando nestingLevel for definidocomo NONE.

docsToInvestigateUm inteiro positivomaior do que 0.

1000 – use este atributo quando nestingLevel fordefinido como ONE.

authSource Um nome válido paraum banco de dadosMongoDB.

admin – este atributo não é usado quando authType=NO.

Tipos de dados de origem do MongoDB

A funcionalidade de migração de dados que usa o MongoDB como origem no AWS DMS oferece suporteà maioria dos tipos de dados do MongoDB. Na tabela a seguir, encontre os tipos de dados de origem doMongoDB compatíveis com o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWSDMS. Para obter mais informações sobre os tipos de dados do MongoDB, consulte Tipos de BSON nadocumentação do MongoDB.

Para obter informações sobre como exibir o tipo de dados mapeado no destino, consulte a seção relativaao endpoint de destino que está usando.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do MongoDB Tipos de dados do AWS DMS

Boolean Bool

Binary BLOB

Date Date

Timestamp Date

Int INT4

Long INT8

Double REAL8

String (UTF-8) CLOB

Array CLOB

OID String

REGEX CLOB

CODE CLOB

Versão da API API versão 2016-01-01141

Page 148: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como origem

Uso do Amazon S3 como origem para o AWS DMSVocê pode migrar dados de um bucket do Amazon S3 usando o AWS DMS. Para fazer isso, concedaacesso a um bucket do S3 que contenha um ou mais arquivos de dados. Neste bucket do S3, inclua umarquivo JSON que descreve o mapeamento entre os dados e as tabelas de banco de dados referentes aosdados nesses arquivos.

Os arquivos de dados de origem devem estar presentes no bucket do S3 antes de o carregamento totalcomeçar. Especifique o nome do bucket usando o parâmetro bucketName.

Os arquivos de dados de origem devem estar no formato CSV (valores separados por vírgulas). Dê nomesconforme a seguinte convenção de nomenclatura. Nesta convenção, schemaName é o schema de origem,e tableName é o nome de uma tabela dentro desse schema.

/schemaName/tableName/LOAD001.csv/schemaName/tableName/LOAD002.csv/schemaName/tableName/LOAD003.csv...

Por exemplo, suponha que seus arquivos de dados estejam em mybucket, no seguinte caminho do S3.

s3://mybucket/hr/employee

No tempo de carregamento, o AWS DMS assume que o nome do schema de origem seja hr, e que onome da tabela de origem seja employee.

Além do bucketName (que é necessário), você pode informar um parâmetro bucketFolder paraespecificar onde o AWS DMS devem procurar arquivos de dados no bucket do S3. Continuando o exemploanterior, se você definir bucketFolder como sourcedata, o AWS DMS lerá os arquivos de dados noseguinte caminho.

s3://mybucket/sourcedata/hr/employee

É possível especificar o delimitador de coluna, o delimitador de linha, o indicador de valor nulo e outrosparâmetros usando os atributos de conexão adicionais. Para obter mais informações, consulte Atributos deconexão adicionais ao usar o S3 como origem para o AWS DMS (p. 145).

Definir tabelas externas para o S3 como origem para o AWSDMSAlém dos arquivos de dados, você também deve fornecer uma definição de tabela externa. Definição detabela externa é um documento JSON que descreve como o AWS DMS deve interpretar os dados do S3.O tamanho máximo deste documento é 2 MB. Se você criar um endpoint de origem usando o AWS DMSManagement Console, poderá inserir o JSON diretamente na caixa de mapeamento de tabela. Se vocêusa o AWS Command Line Interface (AWS CLI) ou a API do AWS DMS para fazer migrações, pode criarum arquivo JSON para especificar a definição da tabela externa.

Suponha que você tem um arquivo de dados que inclui o seguinte.

101,Smith,Bob,4-Jun-14,New York102,Smith,Bob,8-Oct-15,Los Angeles103,Smith,Bob,13-Mar-17,Dallas104,Smith,Bob,13-Mar-17,Dallas

Veja a seguir um exemplo de definição de tabela externa para esses dados.

Versão da API API versão 2016-01-01142

Page 149: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como origem

{ "TableCount": "1", "Tables": [ { "TableName": "employee", "TablePath": "hr/employee/", "TableOwner": "hr", "TableColumns": [ { "ColumnName": "Id", "ColumnType": "INT8", "ColumnNullable": "false", "ColumnIsPk": "true" }, { "ColumnName": "LastName", "ColumnType": "STRING", "ColumnLength": "20" }, { "ColumnName": "FirstName", "ColumnType": "STRING", "ColumnLength": "30" }, { "ColumnName": "HireDate", "ColumnType": "DATETIME" }, { "ColumnName": "OfficeLocation", "ColumnType": "STRING", "ColumnLength": "20" } ], "TableColumnsTotal": "5" } ]}

Os elementos neste documento JSON são os seguintes:

TableCount- o número de tabelas de origem. Neste exemplo, há somente uma tabela.

Tables-um array que consiste em um mapa JSON por tabela de origem. Neste exemplo, há somente ummapa. Cada mapa consiste nos seguintes elementos:

• TableName - o nome da tabela de origem.• TablePath - o caminho no seu bucket do S3 em que o AWS DMS pode encontrar o arquivo de

carregamento total de dados. Se um valor bucketFolder for especificado, será pré-associado aocaminho.

• TableOwner - o nome do schema desta tabela.• TableColumns - um array de um ou mais mapas, cada um dos quais descrevendo uma coluna na

tabela de origem:• ColumnName - o nome de uma coluna na tabela de origem.• ColumnType - o tipo de dados da coluna. Para tipos de dados válidos, consulte Tipos de dados de

origem do Amazon S3 (p. 146).• ColumnLength - o número de bytes nesta coluna.• ColumnNullable - (opcional) um valor Booleano que é true, se esta coluna puder conter valores

NULL.• ColumnIsPk - (opcional) um valor Booleano que é true, se esta coluna for parte da chave primária.

Versão da API API versão 2016-01-01143

Page 150: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como origem

• TableColumnsTotal - o número total de colunas. Esse número deve corresponder ao número deelementos no array TableColumns.

No exemplo anterior, algumas colunas são do tipo STRING. Neste caso, use o elemento ColumnLengthpara especificar o número máximo de caracteres.

ColumnLength aplica-se para os seguintes tipos de dados:

• BYTE• STRING

Se você não especificar nada, AWS DMS assumirá que ColumnLength é zero.

Para obter uma coluna do tipo NUMERIC, você precisa especificar a precisão e a escala. Precision é onúmero total de dígitos em um número, e scale é o número de dígitos à direita do ponto decimal. Você usaos elementos ColumnPrecision e ColumnScale para isso, como mostrado a seguir.

... { "ColumnName": "HourlyRate", "ColumnType": "NUMERIC", "ColumnPrecision": "5" "ColumnScale": "2" }...

Uso do CDC com S3 como origem para o AWS DMSDepois que o AWS DMS executa um carregamento de dados total, ele pode replicar alterações de dadosno endpoint de destino. Para isso, você pode fazer upload de arquivos de captura de dados de alterações(arquivos de CDC) em seu bucket do S3. O AWS DMS lê esses arquivos de CDC quando você faz uploaddeles, depois aplica as alterações no endpoint de destino.

Os arquivos de CDC são nomeados como segue:

CDC00001.csvCDC00002.csvCDC00003.csv...

Para indicar onde o AWS DMS pode localizar os arquivos, especifique o parâmetro cdcPath. Continuandoo exemplo anterior, se você definir cdcPath como changedata, o AWS DMS lerá os arquivos de CDC noseguinte caminho.

s3://mybucket/changedata

Os registros em um arquivo de CDC são formatados da seguinte forma:

• Operation – a operação de alteração a ser executada: INSERT, UPDATEou DELETE. Essas palavras-chave diferenciam maiúsculas de minúsculas.

• Table name - o nome da tabela de origem.• Schema name - o nome do schema de origem.• Data – uma ou mais colunas que representam os dados a serem alterados.

Veja a seguir um exemplo de arquivo de CDC para uma tabela chamada employee.

Versão da API API versão 2016-01-01144

Page 151: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como origem

INSERT,employee,hr,101,Smith,Bob,4-Jun-14,New YorkUPDATE,employee,hr,101,Smith,Bob,8-Oct-15,Los AngelesUPDATE,employee,hr,101,Smith,Bob,13-Mar-17,DallasDELETE,employee,hr,101,Smith,Bob,13-Mar-17,Dallas

Pré-requisitos ao usar o S3 como origem para o AWS DMSQuando você usa o S3 como origem para o AWS DMS,o bucket do S3 de origem que você usa deve estarna mesma região da AWS que a instância de replicação do AWS DMS que você usa para migrar seusdados. Além disso, a conta da AWS que você usa para a migração deve ter acesso de leitura ao bucket deorigem.

A função do AWS Identity and Access Management (IAM) atribuída à conta de usuário usada para criar atarefa de migração deve ter o seguinte conjunto de permissões.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::mybucket*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::mybucket*" ] } ]}

Atributos de conexão adicionais ao usar o S3 como origem parao AWS DMSÉ possível especificar as seguintes opções como atributos de conexão extra.

Opção Descrição

bucketFolder (Opcional) Um nome da pasta no bucket do S3. Se o atributo de origem forinformado, os arquivos de dados de origem e os arquivos de CDC serão lidosno caminho bucketFolder/schemaName/tableName/. Se esse atributonão for especificado, o caminho usado será schemaName/tableName/. Vejaa seguir um exemplo.

bucketFolder=testFolder;

bucketName O nome do bucket do S3. Veja a seguir um exemplo.

Versão da API API versão 2016-01-01145

Page 152: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como origem

Opção DescriçãobucketName=buckettest;

cdcPath O local dos arquivos de captura de dados de alterações (CDC). Esse atributoé necessário quando uma tarefa captura dados de alterações; caso contrário,ele é opcional. Se cdcPath estiver presente, o AWS DMS lerá arquivos deCDC por esse caminho e replicará as alterações de dados no endpoint dedestino. Para obter mais informações, consulte Uso do CDC com S3 comoorigem para o AWS DMS (p. 144). Veja a seguir um exemplo.

cdcPath=dataChanges;

csvRowDelimiter O delimitador usado para separar linhas nos arquivos de origem. O padrão éum retorno de carro (\n). Veja a seguir um exemplo.

csvRowDelimiter=\n;

csvDelimiter O delimitador usado para separar colunas nos arquivos de origem. O padrãoé uma vírgula. Veja a seguir um exemplo.

csvDelimiter=,;

externalTableDefinitionUm objeto JSON que descreve como o AWS DMS deve interpretar os dadosno bucket do S3 durante a migração. Para obter mais informações, consulteDefinir tabelas externas para o S3 como origem para o AWS DMS (p. 142).Veja a seguir um exemplo.

externalTableDefinition=<json_object>

ignoreHeaderRows Quando definido como 1, o AWS DMS ignora o cabeçalho da primeira linhaem um arquivo CSV. Um valor de 1 habilita o recurso, um valor de 0 desabilitao recurso. O padrão é 0.

ignoreHeaderRows=1

Tipos de dados de origem do Amazon S3A migração de dados que usa Amazon S3 como origem para o AWS DMS precisará mapear os dados doS3 para tipos de dados do AWS DMS. Para obter mais informações, consulte Definir tabelas externas parao S3 como origem para o AWS DMS (p. 142).

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do AWS DMS - Amazon S3 como origem

BYTE

Requer ColumnLength. Para obter mais informações, consulte Definir tabelas externas para o S3 comoorigem para o AWS DMS (p. 142).

DATE

TIME

Versão da API API versão 2016-01-01146

Page 153: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do IBM Db2 como origem

Tipos de dados do AWS DMS - Amazon S3 como origem

DATETIME

TIMESTAMP

INT1

INT2

INT4

INT8

NUMERIC

Requer ColumnPrecision e ColumnScale. Para obter mais informações, consulte Definir tabelasexternas para o S3 como origem para o AWS DMS (p. 142).

REAL4

REAL8

STRING

Requer ColumnLength. Para obter mais informações, consulte Definir tabelas externas para o S3 comoorigem para o AWS DMS (p. 142).

UINT1

UINT2

UINT4

UINT8

BLOB

CLOB

BOOLEAN

Uso de um IBM Db2 para banco de dados Linux, Unixe Windows (Db2 LUW) como origem para o AWSDMSMigre dados de um IBM Db2 para banco de dados Linux, Unix e Windows (Db2 LUW) para qualquer bancode dados de destino suportado usando o AWS DMS (AWS DMS). O AWS DMS oferece suporte como umaorigem de migração às seguintes versões do Db2 LUW:

• Versão 9.7, todos os Fix Packs são compatíveis.• Versão 10.1, todos os Fix Packs são compatíveis.• Versão 10.5, todos os Fix Packs são compatíveis, exceto Fix Pack 5.

Use SSL para criptografar conexões entre o endpoint do Db2 LUW e a instância de replicação. Énecessário usar a versão 2.4.2 ou superior do mecanismo do AWS DMS para usar SSL. Para obter

Versão da API API versão 2016-01-01147

Page 154: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do IBM Db2 como origem

mais informações sobre o uso de SSL com um endpoint do Db2 LUW, consulte Uso de SSL com o AWSDatabase Migration Service (p. 49).

Pré-requisitos ao usar o Db2 LUW como origem para o AWSDMSOs pré-requisitos a seguir são necessários antes de usar um banco de dados Db2 LUW como origem.

Para habilitar a replicação contínua, também chamada de captura de dados de alteração (CDC), énecessário fazer o seguinte

• O banco de dados deve ser definido para ser recuperável. Para capturar as alterações, o AWSDMS requer que o banco de dados esteja configurado como recuperável. Um banco de dados érecuperável se um ou ambos os parâmetros de configuração do banco de dados LOGARCHMETH1 eLOGARCHMETH2 estiverem definidos como ON.

• A conta do usuário deve receber as seguintes permissões:

SYSADM ou DBADM

DATAACCESS

Limitações ao usar o Db2 LUW como origem para o AWS DMSBancos de dados clusterizados não são compatíveis. Observe, no entanto, que é possível definir um Db2LUW separado para cada um dos endpoints de um cluster. Consulte a documentação do IBM Db2 LUWpara obter mais informações.

Ao usar a replicação contínua (CDC), aplicam-se as seguintes limitações:

• Ao truncar uma tabela com diversas partições, o número de eventos de DDL mostrado no console doAWS DMS será igual ao número de partições. Isso ocorre porque o Db2 LUW registra um DDL separadopara cada partição.

• As seguintes ações de DDL não são suportados em tabelas particionadas:• ALTER TABLE ADD PARTITION• ALTER TABLE DETACH PARTITION• ALTER TABLE ATTACH PARTITION

• O tipo de dados DECFLOAT não é compatível. Consequentemente, alterações nas colunas DECFLOATsão ignoradas durante a replicação contínua.

• A instrução RENAME COLUMN não é compatível.• Ao realizar atualizações nas tabelas de MDC (Clusterização multidimensional), cada atualização é

exibida no console do AWS DMS como INSERT + DELETE.• Quando a configuração de tarefa Include LOB columns in replication (Incluir as colunas de LOB na

replicação) estiver desativada, qualquer tabela com colunas de LOB é suspensa durante a replicaçãocontínua.

• Quando a opção Tabela de auditoria estiver habilitada, o primeiro registro de timestamp na tabela deauditoria será NULL.

• Quando a opção Tabela de alteração estiver habilitada, o primeiro registro de timestamp na tabela serázero (isto é, 1970-01-01 00:00:00.000000).

• Para as versões 10.5 e superiores do Db2 LUW: colunas de strings de comprimento variável com dadosarmazenados fora da linha são ignoradas. Observe que essa limitação se aplica apenas às tabelascriadas com tamanho de linha estendida.

Versão da API API versão 2016-01-01148

Page 155: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do IBM Db2 como origem

Atributos de conexão adicionais ao usar o Db2 LUW comoorigem para o AWS DMSUse atributos de conexão adicionais para configurar a origem do Db2 LUW. Você especifica essasconfigurações ao criar o endpoint de origem. Várias configurações de atributo de conexão adicionaisdevem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o Db2 LUW como origem:

Nome Descrição

MaxKBytesPerRead Número máximo de bytes por leitura, como um valorNUMBER. O padrão é 64 KB.

SetDataCaptureChanges Habilita a replicação contínua (captura de dados dealteração), como um valor BOOLEAN. O padrão é verdadeiro.

Tipos de dados de origem para IBM Db2 LUWA migração de dados que usa o Db2 LUW como origem no AWS DMS oferece suporte à maioria dos tiposde dados do Db2 LUW. A tabela a seguir mostra os tipos de dados de origem do Db2 LUW compatíveisao usar o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS. Para obter maisinformações sobre os tipos de dados do Db2 LUW, consulte a documentação do Db2 LUW.

Para obter informações sobre como visualizar o tipo de dados mapeado no destino, consulte a seçãorelativa ao endpoint de destino que você está usando.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do Db2 LUW Tipos de dados do AWS DMS

INTEGER INT4

SMALLINT INT2

BIGINT INT8

DECIMAL (p,s) NUMERIC (p,s)

FLOAT REAL8

DOUBLE REAL8

REAL REAL4

DECFLOAT (p) Se a precisão = 16, então:

REAL8

Se a precisão = 34, então:

STRING

GRAPHIC WSTRING

n<=127

Versão da API API versão 2016-01-01149

Page 156: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioDestinos para a migração de dados

Tipos de dados do Db2 LUW Tipos de dados do AWS DMS

VARGRAPHIC WSTRING

n<=16k caracteres de byte duplo

LONG VARGRAPHIC CLOB

CHAR (n) STRING

n<=255

VARCHAR (n) STRING

n<=32k

LONG VARCHAR (n) CLOB

n<=32k

CHAR (n) FOR BIT DATA BYTES

VARCHAR (n) FOR BIT DATA BYTES

LONG VARCHAR FOR BIT DATA BYTES

DATE DATE

TIME TIME

TIMESTAMP DATETIME

BLOB BLOB

CLOB CLOB

Tamanho máximo: 2 GB

DBCLOB CLOB

Tamanho máximo: 1 G caracteres de byte duplo

XML CLOB

Destinos para a migração de dadosO AWS Database Migration Service (AWS DMS) pode usar muitos dos bancos de dados mais popularescomo destino da replicação de dados. O destino pode ser uma instância Amazon Elastic Compute Cloud(Amazon EC2), uma instância Amazon Relational Database Service (Amazon RDS) ou um banco de dadoslocal.

Note

Independentemente do mecanismo de armazenamento de origem (MyISAM, MEMÓRIA, etc.),o AWS DMS cria uma tabela de destino compatível com MySQL como InnoDB por padrão.Se você precisar de uma tabela que use um mecanismo de armazenamento além do InnoDB,será possível criar manualmente a tabela no destino compatível com MySQL e migrá-la usandoo modo "Do Nothing". Para obter mais informações sobre o modo "Do Nothing", consulteConfigurações de tarefa de carregamento completo (p. 211).

Versão da API API versão 2016-01-01150

Page 157: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como destino

Os bancos de dados incluem o seguinte:

Bancos de dados locais e de instância EC2

• Versões do Oracle 10g, 11g, 12c, para as versões Enterprise, Standard, Standard One e Standard Two• Versões do Microsoft SQL Server 2005, 2008, 2008R2, 2012, 2014 e 2016, para as edições Enterprise,

Standard, Workgroup e Developer. As edições Web e Express não são compatíveis.• MySQL, versões 5.5, 5.6 e 5.7• MariaDB (compatível como destino de dados compatível com o MySQL)• PostgreSQL, versões 9.4 e superior• Versões do SAP Adaptive Server Enterprise (ASE) 15, 15.5, 15.7, 16 e posteriores

Bancos de dados da instância do Amazon RDS, Amazon Redshift, Amazon S3 e AmazonDynamoDB

• Versões do Oracle Amazon RDS 11g (versões 11.2.0.3.v1 e superior) e 12c, para as edições Enterprise,Standard, Standard One e Standard Two

• Versões do Microsoft SQL Server Amazon RDS 2008R2, 2012 e 2014, para as edições Enterprise,Standard, Workgroup e Developer. As edições Web e Express não são compatíveis.

• MySQL Amazon RDS, versões 5.5, 5.6 e 5.7• MariaDB Amazon RDS (compatível como destino de dados compatível com o MySQL)• PostgreSQL Amazon RDS, versões 9.4 e superior• Amazon Aurora com compatibilidade do MySQL• Compatibilidade entre Amazon Aurora e PostgreSQL• Amazon Redshift• Amazon S3• Amazon DynamoDB

Tópicos• Uso de um banco de dados Oracle como destino do AWS Database Migration Service (p. 151)• Uso de um banco de dados Microsoft SQL Server como destino do AWS Database Migration

Service (p. 156)• Uso de um banco de dados PostgreSQL como destino do AWS Database Migration Service (p. 160)• Uso de um banco de dados compatível com MySQL como destino do AWS Database Migration

Service (p. 163)• Uso de um banco de dados Amazon Redshift como destino do AWS Database Migration

Service (p. 168)• Uso de um banco de dados SAP ASE como destino do AWS Database Migration Service (p. 174)• Uso do Amazon S3 como destino do AWS Database Migration Service (p. 176)• Uso de um banco de dados do Amazon DynamoDB como destino do AWS Database Migration

Service (p. 180)

Uso de um banco de dados Oracle como destino doAWS Database Migration ServiceÉ possível migrar dados para destinos de banco de dados Oracle usando o AWS DMS a partir de outrobanco de dados Oracle ou de um dos outros bancos de dados compatíveis. Você pode usar SecureSockets Layer (SSL) para criptografar conexões entre o endpoint do Oracle e a instância de replicação.

Versão da API API versão 2016-01-01151

Page 158: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como destino

Para obter mais informações sobre o uso de SSL com um endpoint do Oracle, consulte Uso de SSL com oAWS Database Migration Service (p. 49).

O AWS DMS é compatível com versões do Oracle 10g, 11g e 12c para instâncias EC2 e locais para asedições Enterprise, Standard, Standard One e Standard Two como destinos. O AWS DMS é compatívelcom versões do Oracle 11g (versões 11.2.0.3.v1 e superior) e 12c para bancos de dados de instâncias doAmazon RDS para as edições Enterprise, Standard, Standard One e Standard Two.

Ao usar o Oracle como destino, supomos que os dados devam ser migrados para o schema ou usuáriousado para a conexão de destino. Se você quiser migrar dados para um schema diferente, será necessáriousar uma transformação de schema. Por exemplo, suponha que seu endpoint de destino se conecte aousuário RDSMASTER e você queira migrar do usuário PERFDATA para o PERFDATA. Nesse caso, crieuma transformação da seguinte forma.

{ "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "rename", "rule-target": "schema", "object-locator": { "schema-name": "PERFDATA"},"value": "PERFDATA"}

Para obter mais informações sobre transformações, consulte Mapeamento de tabela de seleção etransformação usando JSON (p. 232).

Para obter mais detalhes sobre como trabalhar com bancos de dados Oracle como destino para o AWSDMS, consulte as seguintes seções:

Tópicos• Limitações no Oracle como destino do AWS Database Migration Service (p. 152)• Privilégios da conta de usuário necessários para usar o Oracle como destino (p. 153)• Configuração de um banco de dados Oracle como destino do AWS Database Migration

Service (p. 154)• Atributos de conexão adicionais ao usar o Oracle como destino para o AWS DMS (p. 154)• Tipos de dados de destino do Oracle (p. 155)

Limitações no Oracle como destino do AWS Database MigrationServiceVeja a seguir as limitações no uso do Oracle como destino para a migração de dados:

• O AWS DMS não cria o schema no banco de dados de destino do Oracle. Você deve criar todos osschemas que deseja no banco de dados de destino do Oracle. O nome do schema já deve existir para odestino do Oracle. As tabelas do schema de origem são importadas para o usuário/schema que o AWSDMS usa para se conectar à instância de destino. Você deverá criar várias tarefas de replicação se tiverque migrar vários schemas.

• O AWS DMS não é compatível com a opção Use direct path full load para tabelas comINDEXTYPE CONTEXT. Como solução, use o carregamento de matriz.

• No modo Batch Optimized Apply, o carregamento na tabela de alterações líquidas usa Direct Path, quenão é compatível com XMLType. Como solução, use o modo Transactional Apply.

Versão da API API versão 2016-01-01152

Page 159: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como destino

Privilégios da conta de usuário necessários para usar o Oraclecomo destinoPara usar um destino do Oracle em uma tarefa do AWS Database Migration Service para a conta deusuário especificada nas definições de banco de dados do Oracle no AWS DMS é necessário conceder osseguintes privilégios no banco de dados Oracle:

• SELECT ANY TRANSACTION• SELECT on V$NLS_PARAMETERS• SELECT on V$TIMEZONE_NAMES• SELECT on ALL_INDEXES• SELECT on ALL_OBJECTS• SELECT on DBA_OBJECTS• SELECT on ALL_TABLES• SELECT on ALL_USERS• SELECT on ALL_CATALOG• SELECT on ALL_CONSTRAINTS• SELECT on ALL_CONS_COLUMNS• SELECT on ALL_TAB_COLS• SELECT on ALL_IND_COLUMNS• DROP ANY TABLE• SELECT ANY TABLE• INSERT ANY TABLE• UPDATE ANY TABLE• CREATE ANY VIEW• DROP ANY VIEW• CREATE ANY PROCEDURE• ALTER ANY PROCEDURE• DROP ANY PROCEDURE• CREATE ANY SEQUENCE• ALTER ANY SEQUENCE• DROP ANY SEQUENCE

Para os requisitos especificados a seguir, conceda os privilégios adicionais chamados:

• Para usar uma lista de tabela específica, conceda SELECT em qualquer tabela replicada e ALTER emqualquer tabela replicada.

• Para permitir que um usuário crie uma tabela no tablespace padrão, conceda o privilégio GRANTUNLIMITED TABLESPACE.

• Para fazer logon, conceda o privilégio CREATE SESSION.• Se você estiver usando um caminho direto, conceda o privilégio LOCK ANY TABLE.• Se a opção "DROP and CREATE table" ou "TRUNCATE before loading" estiver selecionada nas

configurações de carregamento completo e o schema de tabela de destino for diferente daquele dousuário do AWS DMS, conceda o privilégio DROP ANY TABLE.

• Para armazenar alterações em tabelas de alterações ou em uma tabela de auditoria quando o schemada tabela de destino for diferente daquele do usuário do AWS DMS, conceda os privilégios CREATEANY TABLE e CREATE ANY INDEX.

Versão da API API versão 2016-01-01153

Page 160: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como destino

Privilégios de leitura necessários para o AWS Database Migration Service nobanco de dados de destino

A conta de usuário do AWS DMS deve ser receber permissões de leitura para as seguintes tabelas deDBA:

• SELECT on DBA_USERS• SELECT on DBA_TAB_PRIVS• SELECT on DBA_OBJECTS• SELECT on DBA_SYNONYMS• SELECT on DBA_SEQUENCES• SELECT on DBA_TYPES• SELECT on DBA_INDEXES• SELECT on DBA_TABLES• SELECT on DBA_TRIGGERS

Se algum dos privilégios necessários não puder ser concedido a V$xxx, conceda-o a V_$xxx.

Configuração de um banco de dados Oracle como destino doAWS Database Migration ServiceAntes de usar um banco de dados Oracle como destino de migração de dados, é necessário fornecer umaconta de usuário do Oracle ao AWS DMS. A conta de usuário deve ter privilégios de leitura/gravação nobanco de dados Oracle, como especificado na seção Privilégios da conta de usuário necessários para usaro Oracle como destino (p. 153).

Atributos de conexão adicionais ao usar o Oracle como destinopara o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino do Oracle. Vocêespecifica essas configurações ao criar o endpoint de destino. Várias configurações de atributo deconexão adicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o Oracle como destino.

Nome Descrição

useDirectPathFullLoad Usar rota direta para carregamento completo, utilize essaopção para habilitar/desabilitar o protocolo de rota direta OCIpara o carregamento em massa de tabelas do Oracle.

Valor padrão: Y

Valores válidos: Y/N

Exemplo: useDirectPathFullLoad=N

charLengthSemantics A expressão usada no tamanho da coluna especifica seo tamanho de uma coluna é expresso em bytes ou emcaracteres. Defina este valor como CHAR.

Exemplo: charLengthSemantics=CHAR

Versão da API API versão 2016-01-01154

Page 161: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Oracle como destino

Tipos de dados de destino do OracleO banco de dados de destino Oracle usado com o AWS DMS oferece suporte à maioria dos tipos de dadosdo Oracle. A tabela a seguir mostra os tipos de dados de destino do Oracle compatíveis com o AWS DMSe o mapeamento padrão relativo aos tipos de dados do AWS DMS. Para obter mais informações sobrecomo visualizar o tipo de dados mapeado da origem, consulte a seção relativa à origem que você estáusando.

Tipo de dados do AWS DMS Tipo de dados do Oracle

BOOLEAN NUMBER (1)

BYTES RAW (tamanho)

DATE DATETIME

TIME TIMESTAMP (0)

DATETIME TIMESTAMP (escala)

INT1 NUMBER (3)

INT2 NUMBER (5)

INT4 NUMBER (10)

INT8 NUMBER (19)

NUMERIC NUMBER (p,s)

REAL4 FLOAT

REAL8 FLOAT

STRING Com indicação de data: DATE

Com indicação de tempo: TIMESTAMP

Com indicação de time stamp: TIMESTAMP

Com indicação de time stamp com fuso horário: TIMESTAMP WITHTIMEZONE

Com indicação de time stamp com fuso horário local: TIMESTAMPWITH LOCAL TIMEZONE Com indicação de intervalo de tempo emanos e meses: INTERVAL YEAR TO MONTH

Com indicação de intervalo de tempo em dias e segundos: INTERVALDAY TO SECOND

Se comprimento > 4.000: CLOB

Em todos os demais casos: VARCHAR2 (comprimento)

UINT1 NUMBER (3)

UINT2 NUMBER (5)

UINT4 NUMBER (10)

UINT8 NUMBER (19)

Versão da API API versão 2016-01-01155

Page 162: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como destino

Tipo de dados do AWS DMS Tipo de dados do Oracle

WSTRING Se o comprimento > 2000: NCLOB

Em todos os demais casos: NVARCHAR2 (comprimento)

BLOB BLOB

Para usar esse tipo de dados no AWS DMS, você precisa habilitar ouso de BLOBs em uma tarefa específica. Os tipos de dados BLOB sãocompatíveis somente com tabelas que possuem uma chave primária

CLOB CLOB

Para usar esse tipo de dados no AWS DMS, você precisa habilitar o usode CLOBs em uma tarefa específica. Durante uma captura de dados dealteração (CDC), os tipos de dados CLOB são compatíveis somente comtabelas que possuem uma chave primária.

NCLOB NCLOB

Para usar esse tipo de dados no AWS DMS, você precisa habilitar o usode NCLOBs em uma tarefa específica. Durante uma captura de dadosde alteração (CDC), os tipos de dados NCLOB são compatíveis somentecom tabelas que possuem uma chave primária.

XMLTYPE O tipo de dados de destino XMLTYPE só é utilizado em tarefas dereplicação de Oracle para Oracle.

Quando o banco de dados de origem é Oracle, os tipos de dados deorigem são replicados diretamente (sem alterações) no destino doOracle. Por exemplo, um tipo de dados XMLTYPE na origem é criadocomo um tipo de dados XMLTYPE no destino.

Uso de um banco de dados Microsoft SQL Servercomo destino do AWS Database Migration ServiceÉ possível migrar dados para bancos de dados Microsoft SQL Server usando o AWS DMS. Com um bancode dados SQL Server como destino, é possível migrar dados de outro banco de dados SQL Server ou deum dos outros bancos de dados compatíveis.

Para bancos de dados locais e de instância do Amazon EC2, o AWS DMS é compatível com o SQL Servercomo destino nas versões 2005, 2008, 2008R2, 2012, 2014 e 2016, para as edições Enterprise, Standard,Workgroup e Developer. As edições Web e Express não são compatíveis.

Para bancos de dados de instância do Amazon EC2, o AWS DMS é compatível com o SQL Server comodestino nas versões 2008R2, 2012, 2014 e 2016, para as edições Enterprise, Standard, Workgroup eDeveloper. As edições Web e Express não são compatíveis.

Para obter mais detalhes sobre o trabalho com o AWS DMS e bancos de dados de destino SQL Server,consulte:

Tópicos• Limitações no uso do SQL Server como destino do AWS Database Migration Service (p. 157)• Requisitos de segurança ao usar o SQL Server como destino do AWS Database Migration

Service (p. 157)

Versão da API API versão 2016-01-01156

Page 163: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como destino

• Atributos de conexão adicionais ao usar o SQL Server como destino para o AWS DMS (p. 157)• Tipos de dados de destino do Microsoft SQL Server (p. 158)

Limitações no uso do SQL Server como destino do AWSDatabase Migration ServiceAs seguintes limitações aplicam-se ao uso de um banco de dados SQL Server como destino do AWSDMS:

• Ao criar manualmente uma tabela de destino do SQL Server com uma coluna calculada, a replicaçãode carregamento completo não é compatível quando é usado o utilitário de cópia em massa BCP.Para usar a replicação de carregamento completo, desabilite a opção Use BCP for loading tables naguia Advanced do console. Para obter mais informações sobre como trabalhar com o BCP, consulte adocumentação do Microsoft SQL Server.

• Ao replicar tabelas com tipos de dados espaciais do SQL Server (GEOMETRY e GEOGRAPHY), o AWSDMS substitui qualquer identificador de referência espacial (SRID) que você tenha pelo SRID padrão. OSRID padrão é 0 para GEOMETRY e 4326 para GEOGRAPHY.

• Tabelas temporais não são compatíveis. A migração de tabelas temporais pode funcionar comuma tarefa somente replicação no modo de aplicação transacional se esses tabelas forem criadasmanualmente no destino.

Requisitos de segurança ao usar o SQL Server como destino doAWS Database Migration ServiceA seguir, veja a descrição dos requisitos de segurança para usar o AWS DMS com um destino doMicrosoft SQL Server.

• A conta de usuário do AWS DMS deve ter pelo menos a função de usuário db_owner no banco dedados Microsoft SQL Server ao qual você está se conectando.

• Um administrador do sistema do Microsoft SQL Server deve fornecer essa permissão para todas ascontas de usuário do AWS DMS.

Atributos de conexão adicionais ao usar o SQL Server comodestino para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino do SQL Server Vocêespecifica essas configurações ao criar o endpoint de destino. Várias configurações de atributo deconexão adicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o SQL Server comodestino.

Nome Descrição

useBCPFullLoad Use esse atributo para transferir dados para operações decarga completa usando BCP. Quando a tabela de destinocontém uma coluna de identidade que não existe na tabelade origem, você deve desabilitar a opção de usar BCP paracarregamento de tabelas.

Valor padrão: Y

Versão da API API versão 2016-01-01157

Page 164: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como destino

Nome DescriçãoValores válidos: Y/N

Exemplo: useBCPFullLoad=Y

BCPPacketSize O tamanho máximo dos pacotes (em bytes) usados paratransferir dados usando BCP.

Valor padrão: 16384

Valores válidos: 1 – 100000

Exemplo : BCPPacketSize=16384

controlTablesFileGroup Especifique um grupo de arquivos para as tabelas internasdo AWS DMS. Quando a tarefa de replicação é iniciada,todas as tabelas internas de controle do AWS DMS(awsdms_apply_exception, awsdms_apply, awsdms_changes)são criadas no grupo de arquivos especificado.

Valor padrão: n/d

Valores válidos: string

Exemplo: controlTablesFileGroup=filegroup1  

O exemplo a seguir apresenta instruções para criar um grupode arquivos.

ALTER DATABASE replicate ADD FILEGROUP Test1FG1; GO ALTER DATABASE replicate ADD FILE (        NAME = test1dat5,        FILENAME = 'C:\temp\DATA\t1dat5.ndf',        SIZE = 5MB,        MAXSIZE = 100MB,        FILEGROWTH = 5MB    )    TO FILEGROUP Test1FG1;    GO

Tipos de dados de destino do Microsoft SQL ServerA tabela a seguir mostra os tipos de dados de destino do Microsoft SQL Server compatíveis com oAWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS. Para obter informaçõesadicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWS Database MigrationService (p. 300).

Tipo de dados do AWS DMS Tipo de dados do SQL Server

BOOLEAN TINYINT

BYTES VARBINARY(tamanho)

DATA Para SQL Server 2008 e posterior, use DATE.

Versão da API API versão 2016-01-01158

Page 165: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SQL Server como destino

Tipo de dados do AWS DMS Tipo de dados do SQL ServerPara versões anteriores, se a escala for menor ou igual a 3, useDATETIME. Em todos os demais casos, use VARCHAR (37).

TIME Para SQL Server 2008 e posterior, use DATETIME2 (%d).

Para versões anteriores, se a escala for menor ou igual a 3, useDATETIME. Em todos os demais casos, use VARCHAR (37).

DATETIME Para SQL Server 2008 e posterior, use DATETIME2 (escala).

Para versões anteriores, se a escala for menor ou igual a 3, useDATETIME. Em todos os demais casos, use VARCHAR (37).

INT1 SMALLINT

INT2 SMALLINT

INT4 INT

INT8 BIGINT

NUMERIC NUMBER (p,s)

REAL4 REAL

REAL8 FLOAT

STRING Se a coluna é uma data ou hora, faça o seguinte:

• Para SQL Server 2008 e posterior, use DATETIME2.• Para versões anteriores, se a escala for menor ou igual a 3, use

DATETIME. Em todos os demais casos, use VARCHAR (37).

Se a coluna não é uma data ou hora, use VARCHAR (tamanho).

UINT1 TINYINT

UINT2 SMALLINT

UINT4 INT

UINT8 BIGINT

WSTRING NVARCHAR (tamanho)

BLOB VARBINARY(máximo)

IMAGE

Para usar esse tipo de dados no AWS DMS, você precisa habilitar ouso de BLOBs em uma tarefa específica. O AWS DMS oferece suporteaos tipos de dados BLOB somente em tabelas que possuem uma chaveprimária.

Versão da API API versão 2016-01-01159

Page 166: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como destino

Tipo de dados do AWS DMS Tipo de dados do SQL Server

CLOB VARCHAR(máximo)

Para usar esse tipo de dados no AWS DMS, você precisa habilitar o usode CLOBs em uma tarefa específica. Durante uma captura de dados dealteração (CDC), o AWS DMS oferece suporte aos tipos de dados CLOBsomente em tabelas que possuem uma chave primária.

NCLOB NVARCHAR(máximo)

Para usar esse tipo de dados no AWS DMS, você precisa habilitar o usode NCLOBs em uma tarefa específica. Durante uma captura de dadosde alteração (CDC), o AWS DMS oferece suporte aos tipos de dadosNCLOB somente em tabelas que incluem uma chave primária.

Uso de um banco de dados PostgreSQL como destinodo AWS Database Migration ServiceÉ possível migrar dados para bancos de dados PostgreSQL usando o AWS DMS a partir de outro bancode dados PostgreSQL ou de um dos outros bancos de dados compatíveis. O PostgreSQL versão 9.4e posteriores são compatíveis com bancos de dados locais, do Amazon RDS, Amazon Aurora comcompatibilidade para PostgreSQL e de instância EC2.

O AWS DMS assume uma abordagem de tabela por tabela ao migrar dados de origem para o destino nafase de Carregamento total. Não é possível garantir a ordem da tabela durante a fase de Carregamentototal. As tabelas ficam dessincronizadas durante a fase de Carregamento total e enquanto transações emcache de tabelas individuais estão sendo aplicadas. Como resultado, restrições de integridade referencialativa podem gerar falhas de tarefas durante a fase de Carregamento total.

No PostgreSQL, chaves externas (restrições de integridade referencial) são implementadas usandotriggers. Durante a fase de Carregamento total, o AWS DMS carrega uma tabela por vez. Recomendamosque você desative as restrições de chave externa durante um carregamento total, usando um dosseguintes métodos:

• Desative temporariamente todos os triggers da instância e conclua o carregamento total.• Use o parâmetro session_replication_role no PostgreSQL.

Em determinado momento, um trigger pode estar em um dos seguintes estados: origin, replica,always, ou disabled. Quando o parâmetro session_replication_role é definido como replica,apenas triggers no estado replica ficam ativos, e eles são disparados quando chamados. Casocontrário, os triggers permanecem inativos.

PostgreSQL tem um mecanismo à prova de falhas para impedir que uma tabela seja truncada, mesmoquando session_replication_role é definido. Você pode usar isso como alternativa para adesativação de triggers, para ajudar a executar o carregamento total até a conclusão. Para isso, definao modo de preparação da tabela de destino DO_NOTHING. Caso contrário, as operações DROP eTRUNCATE falharão quando houver restrições de chave externa.

No Amazon RDS, você pode controlar esse parâmetro usando um grupo de parâmetros. Para umainstância do PostgreSQL em execução no Amazon EC2, você pode definir o parâmetro diretamente.

Para obter mais detalhes sobre como trabalhar com bancos de dados PostgreSQL como destino para oAWS DMS, consulte as seguintes seções:

Versão da API API versão 2016-01-01160

Page 167: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como destino

Tópicos• Limitações no uso do PostgreSQL como destino do AWS Database Migration Service (p. 161)• Requisitos de segurança ao usar um banco de dados PostgreSQL como destino do AWS Database

Migration Service (p. 161)• Atributos de conexão adicionais ao usar o PostgreSQL como destino para o AWS DMS (p. 161)• Tipos de dados de destino do PostgreSQL (p. 162)

Limitações no uso do PostgreSQL como destino do AWSDatabase Migration ServiceAs seguintes limitações aplicam-se ao uso de um banco de dados PostgreSQL como destino do AWSDMS:

• O tipo de dados JSON é convertido para o tipo de dados CLOB nativo.• Em uma migração de Oracle para PostgreSQL, se uma coluna no Oracle contém um caractere

NULL (valor hexadecimal U+0000), o AWS DMS converte o caractere NULL para um espaço (valorhexadecimal U+0020). Isso deve-se a uma limitação do PostgreSQL.

Requisitos de segurança ao usar um banco de dadosPostgreSQL como destino do AWS Database Migration ServicePara fins de segurança, a conta de usuário usada para a migração de dados deve ser um usuárioregistrado em qualquer banco de dados PostgreSQL que você use como destino.

Atributos de conexão adicionais ao usar o PostgreSQL comodestino para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino do PostgreSQL.Você especifica essas configurações ao criar o endpoint de destino. Várias configurações de atributo deconexão adicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao configurar o PostgreSQL comodestino do AWS DMS.

Nome Descrição

maxFileSize Especifica o tamanho máximo (em KB) de um arquivo CSVusado para transferir dados para o PostgreSQL.

Valor padrão: 32768 KB (32 MB)

Valores válidos: 1 – 1048576

Exemplo: maxFileSize=512

executeTimeout Define o tempo limite da instrução do cliente para a instânciado PostgreSQL, em segundos. O valor de padrão é de 60segundos.

Exemplo: executeTimeout=100

Versão da API API versão 2016-01-01161

Page 168: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do PostgreSQL como destino

Nome Descrição

afterConnectScript=SETsession_replication_role='replica'

Adicione esse atributo para que o AWS DMS ignore todasas chaves externas e triggers do usuário. Essa ação reduzsignificativamente o tempo necessário para carregar dadosem massa ao usar o modo de carga total.

Exemplo: afterConnectScript=SETsession_replication_role='replica'

Tipos de dados de destino do PostgreSQLO endpoint de banco de dados do PostgreSQL para o AWS DMS oferece suporte à maioria dos tipos dedados do banco de dados PostgreSQL. A tabela a seguir mostra os tipos de dados de destino do banco dedados PostgreSQL compatíveis com o AWS DMS e o mapeamento padrão relativo aos tipos de dados doAWS DMS. A tabela a seguir mostra os tipos de dados que não são compatíveis.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipo de dados do AWS DMS Tipo de dados do PostgreSQL

BOOL BOOL

BYTES BYTEA

DATE DATE

TIME TIME

TIMESTAMP Se a escala for de 0 a 6, use TIMESTAMP.

Se a escala for de 7 a 9, use VARCHAR (37).

INT1 SMALLINT

INT2 SMALLINT

INT4 INTEGER

INT8 BIGINT

NUMERIC DECIMAL (P,S)

REAL4 FLOAT4

REAL8 FLOAT8

STRING Se o tamanho for de 1 a 21.845, use VARCHAR (tamanho em bytes).

Se o tamanho for de 21.846 a 2.147.483.647, use VARCHAR (65535).

UINT1 SMALLINT

UINT2 INTEGER

UINT4 BIGINT

UINT8 BIGINT

Versão da API API versão 2016-01-01162

Page 169: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como destino

Tipo de dados do AWS DMS Tipo de dados do PostgreSQL

WSTRING Se o tamanho for de 1 a 21.845, use VARCHAR (tamanho em bytes).

Se o tamanho for de 21.846 a 2.147.483.647, use VARCHAR (65535).

BCLOB BYTEA

NCLOB TEXT

CLOB TEXT

Note

Ao replicar a partir de uma origem do PostgreSQL, o AWS DMS cria a tabela de destino com osmesmos tipos de dados para todas as colunas, além das colunas com tipos de dados definidospelo usuário. Nesses casos, o tipo de dados é criado como "variante de caractere" no destino.

Uso de um banco de dados compatível com MySQLcomo destino do AWS Database Migration ServiceVocê pode migrar dados para qualquer banco de dados compatível com MySQL usando o AWS DMS,a partir de qualquer um dos mecanismos de dados de origem ao qual o AWS DMS oferece suporte.Se você estiver migrando para um banco de dados compatível com MySQL, o AWS DMS exigirá queseu mecanismo de origem resida no ecossistema da AWS. O mecanismo pode estar em um serviçogerenciado pela Amazon, como Amazon RDS, Amazon Aurora ou Amazon S3. Se você preferir, omecanismo pode estar em um banco de dados autogerenciado no Amazon EC2.

Você pode usar o SSL para criptografar conexões entre o endpoint compatível com MySQL e a instânciade replicação. Para obter mais informações sobre o uso do SSL com um endpoint compatível com MySQL,consulte Uso de SSL com o AWS Database Migration Service (p. 49).

As versões do MySQL 5.5, 5.6 e 5.7 são compatíveis, além do MariaDB e do Aurora MySQL.

Você pode usar os seguintes bancos de dados compatíveis com MySQL como destinos para o AWS DMS:

• MySQL Community• MySQL Standard• MySQL Enterprise• MySQL Cluster Carrier Grade• MariaDB Community Edition• MariaDB Enterprise Edition• MariaDB Column Store• Amazon Aurora MySQL

Para obter mais detalhes sobre como trabalhar com bancos de dados compatíveis com MySQL comodestino para o AWS DMS, consulte as seguintes seções.

Tópicos• Uso de bancos de dados compatíveis com MySQL como destinos do AWS Database Migration

Service (p. 164)• Limitações de uso de um banco de dados compatível com MySQL como destino para o AWS Database

Migration Service (p. 164)

Versão da API API versão 2016-01-01163

Page 170: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como destino

• Atributos de conexão adicionais ao usar bancos de dados compatíveis com MySQL como destino parao AWS DMS (p. 165)

• Tipos de dados de destino do MySQL (p. 166)

Uso de bancos de dados compatíveis com MySQL como destinosdo AWS Database Migration ServiceAntes de começar a trabalhar com um banco de dados compatível com MySQL como destino do AWSDMS, confirme se você tem os seguintes pré-requisitos:

• Você precisa fornecer uma conta de usuário para o AWS DMS, com privilégios de leitura/gravação parao banco de dados compatível com o MySQL. Para criar os privilégios necessários, execute os seguintescomandos.

CREATE USER '<user acct>'@'%' IDENTIFIED BY '<user password>';GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON <schema>.* TO '<user acct>'@'%';GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';

• Durante a fase de migração de carga total, você precisa desativar as chaves externas nas suas tabelasde destino. Para desabilitar verificações de chave externa em um banco de dados compatível com oMySQL durante o carregamento total, adicione o seguinte comando a Extra Connection Attributes, naseção Advanced, nas informações de conexão do endpoint de destino.

initstmt=SET FOREIGN_KEY_CHECKS=0

Limitações de uso de um banco de dados compatível comMySQL como destino para o AWS Database Migration ServiceAo usar um banco de dados MySQL como destino, o AWS DMS não é compatível com o seguinte:

• As instruções de Data Definition Language (DDL - Linguagem de definição de dados) são: TRUNCATEPARTITION, DROP TABLE e RENAME TABLE.

• Uso de uma declaração ALTER TABLE <table_name> ADD COLUMN <column_name> paraadicionar colunas ao início ou meio de uma tabela.

• Quando apenas a coluna LOB em uma tabela de origem é atualizada, o AWS DMS não atualiza a colunade destino correspondente. O LOB de destino só será atualizado se pelo menos uma outra coluna foratualizada na mesma transação.

• Ao carregar dados em um destino compatível com MySQL em uma tarefa de carregamento total, o DMSda AWS não relata erros de chave duplicadas no log da tarefa.

• Quando você atualiza o valor de uma coluna para seu valor existente, os bancos de dadoscompatíveis com MySQL retornam um aviso 0 rows affected. Embora esse comportamentonão seja tecnicamente um erro, ele é diferente de como a situação é controlada por outrosmecanismos de banco de dados. Por exemplo, o Oracle executa uma atualização de uma linha. Parabancos de dados compatíveis com MySQL, o AWS DMS gera uma entrada na tabela de controleawsdms_apply_exceptions e registra o seguinte aviso.

Some changes from the source database had no impact when applied to

Versão da API API versão 2016-01-01164

Page 171: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como destino

the target database. See awsdms_apply_exceptions table for details.

Atributos de conexão adicionais ao usar bancos de dadoscompatíveis com MySQL como destino para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino compatível comMySQL. Você especifica essas configurações ao criar o endpoint de destino. Várias configurações deatributo de conexão adicionais devem ser separadas umas das outras por ponto-e-vírgula.

A tabela a seguir mostra as configurações adicionais que você pode usar ao criar um destino compatívelcom MySQL para o AWS DMS.

Nome Descrição

targetDbType Especifica o destino para onde devem migrar as tabelas deorigem, seja para um único banco de dados ou vários.

Valor padrão: MULTIPLE_DATABASES

Valores válidos: {SPECIFIC_DATABASE,MULTIPLE_DATABASES}

Exemplo: targetDbType=MULTIPLE_DATABASES

parallelLoadThreads Melhora o desempenho do carregamento de dados no bancode dados de destino compatível com MySQL. Especificaquantos threads devem ser usados para carregar dadosno banco de dados de destino compatível com MySQL.Configurar um grande número de threads pode ter um efeitoadverso no desempenho do banco de dados, pois cadathread requer uma conexão separada.

Valor padrão: 1

Valores válidos: 1 – 5

Exemplo: parallelLoadThreads=1

initstmt=SETFOREIGN_KEY_CHECKS=0

Desabilita as verificações de chaves estrangeiras.

initstmt=SET time-zone Especifica o fuso horário para o banco de dados de destinocompatível com MySQL.

Valor padrão: UTC

Valores válidos: uma abreviatura de três ou quatro caracterespara o fuso horário que deseja usar. Os valores válidossão as abreviaturas de fuso horário padrão do sistemaoperacional que hospeda o banco de dados de destinocompatível com MySQL.

Exemplo: initstmt=SET time_zone=UTC

afterConnectScript=SETcharacter_set_connection='latin1'

Especifica que o destino compatível com MySQL devetraduzir instruções recebidas no conjunto de caracteres

Versão da API API versão 2016-01-01165

Page 172: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como destino

Nome Descriçãolatin1, que é o padrão compilado no conjunto de caracteresdo banco de dados. Esse parâmetro geralmente melhora odesempenho ao converter a partir de clientes UTF8.

maxFileSize Especifica o tamanho máximo (em KB) de um arquivoCSV usado para transferir dados para um banco de dadoscompatível com MySQL;.

Valor padrão: 32768 KB (32 MB)

Valores válidos: 1 - 1048576

Exemplo: maxFileSize=512

CleanSrcMetadataOnMismatch Limpa e recria as informações dos metadados da tabela nainstância de replicação quando ocorre uma incompatibilidade.Por exemplo, em uma situação em que a execução deum DDL alternativo na tabela pode resultar em diferentesinformações sobre a tabela armazenada em cache nainstância de replicação. Booleano.

Valor padrão: false

Exemplo: CleanSrcMetadataOnMismatch=false

Tipos de dados de destino do MySQLA tabela a seguir mostra os tipos de dados de destino do banco de dados MySQL compatíveis com o AWSDMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do AWS DMS Tipos de dados do MySQL

BOOLEAN BOOLEAN

BYTES Se o tamanho for de 1 a 65.535, use VARBINARY(tamanho).

Se o tamanho for de 65.536 a 2.147.483.647, useLONGLOB.

DATE DATE

TIME TIME

TIMESTAMP “Se a escala for => 0 e =< 6, use: DATETIME(escala)

Se a escala for => 7 e =< 9, use: VARCHAR (37)”

INT1 TINYINT

INT2 SMALLINT

INT4 INTEGER

Versão da API API versão 2016-01-01166

Page 173: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do MySQL como destino

Tipos de dados do AWS DMS Tipos de dados do MySQL

INT8 BIGINT

NUMERIC DECIMAL (p,s)

REAL4 FLOAT

REAL8 DOUBLE PRECISION

STRING Se o tamanho for de 1 a 21.845, use VARCHAR(tamanho).

Se o tamanho for de 21.846 a 2.147.483.647, useLONGTEXT.

UINT1 UNSIGNED TINYINT

UINT2 UNSIGNED SMALLINT

UINT4 UNSIGNED INTEGER

UINT8 UNSIGNED BIGINT

WSTRING Se o tamanho for de 1 a 32.767, use VARCHAR(tamanho).

Se o tamanho for de 32.768 a 2.147.483.647, useLONGTEXT.

BLOB Se o tamanho for de 1 a 65.535, use BLOB.

Se o tamanho for de 65.536 a 2.147.483.647, useLONGBLOB.

Se o tamanho for 0, use LONGBLOB (suportepleno ao tipo LOB).

NCLOB Se o tamanho for de 1 a 65.535, use TEXT.

Se o tamanho for de 65.536 a 2.147.483.647, useLONGTEXT e UCS2 como CHARACTER SET.

Se o tamanho for 0, use LONGTEXT (suportepleno ao tipo LOB) e UCS2 como CHARACTERSET.

CLOB Se o tamanho for de 1 a 65.535, use TEXT.

Se o tamanho for de 65.536 a 2147483647, useLONGTEXT.

Se o tamanho for 0, use LONGTEXT (suportepleno ao tipo LOB).

Versão da API API versão 2016-01-01167

Page 174: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

Uso de um banco de dados Amazon Redshift comodestino do AWS Database Migration ServiceÉ possível migrar dados para bancos de dados Amazon Redshift usando o AWS Database MigrationService. O Amazon Redshift é um serviço de armazenamento de dados em escala de petabytes totalmentegerenciado na nuvem. Com um banco de dados Amazon Redshift como destino, é possível migrar dadosde todos os outros bancos de dados de origem compatíveis.

O cluster do Amazon Redshift deve estar na mesma conta e região da AWS que a instância de replicação.

Durante a migração de banco de dados para o Amazon Redshift, o AWS DMS antes move dados paraum bucket do S3. Quando os arquivos estiverem em um bucket do S3, o AWS DMS os transferirá para astabelas apropriadas no data warehouse do Amazon Redshift. O AWS DMS cria o bucket do S3 na mesmaregião da AWS que o banco de dados Amazon Redshift. A instância de replicação do AWS DMS deve ficarna mesma região.

Se você utiliza o AWS Command Line Interface (AWS CLI) ou a API do AWS DMS para migrar dados parao Amazon Redshift, é necessário configurar uma função AWS Identity and Access Management (IAM) parapermitir acesso ao S3. Para obter mais informações sobre a criação da função IAM, consulte Criação defunções IAM a serem usadas com o AWS CLI e a API do AWS DMS (p. 36).

O endpoint do Amazon Redshift fornece automação completa para o seguinte:

• Geração de schema e mapeamento de tipo de dados• Carregamento completo de tabelas de banco de dados de origem• Carregamento incremental de alterações feitas a tabelas de origem• Aplicação de alterações de schema em Data Definition Language (DDL - Linguagem de definição de

dados) feitas a tabelas de origem• Sincronização entre processos de carregamento completo e de captura de dados de alteração (CDC).

O AWS Database Migration Service oferece suporte a operações de carregamento completo e deprocessamento de alteração. O AWS DMS lê os dados do banco de dados de origem e cria uma sériede arquivos de valores separados por vírgula (CSV). Para operações de carregamento total, o AWSDMS cria arquivos para cada tabela. Em seguida, o AWS DMS copia os arquivos de cada tabela parauma pasta separada no Amazon S3. Quando os arquivos são carregados para o Amazon S3, o AWSDMS envia um comando de cópia e os dados nos arquivos são copiados para o Amazon Redshift. Paraoperações de processamento de alterações, o AWS DMS copia as alterações líquidas para os arquivosCSV. Em seguida, ele carrega os arquivos de alterações líquidas para o Amazon S3 e copia os dados parao Amazon Redshift.

Para obter mais detalhes sobre como trabalhar com o Amazon Redshift como destino para o AWS DMS,consulte as seguintes seções:

Tópicos• Pré-requisitos para o uso de um banco de dados Amazon Redshift como destino do AWS Database

Migration Service (p. 169)• Limitações no uso do Amazon Redshift como destino do AWS Database Migration Service (p. 169)• Configuração de um banco de dados Amazon Redshift como destino do AWS Database Migration

Service (p. 169)• Uso do roteamento por VPC aprimorado com um Amazon Redshift como destino do AWS Database

Migration Service (p. 170)• Atributos de conexão adicionais ao usar o Amazon Redshift como destino para o AWS DMS (p. 170)

Versão da API API versão 2016-01-01168

Page 175: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

• Tipos de dados de destino do Amazon Redshift (p. 172)

Pré-requisitos para o uso de um banco de dados AmazonRedshift como destino do AWS Database Migration ServiceA lista a seguir descreve os pré-requisitos necessários para trabalhar com o Amazon Redshift comodestino para a migração de dados:

• Use o Console de Gerenciamento da AWS para iniciar um cluster do Amazon Redshift. Você deveobservar as informações básicas sobre a sua conta da AWS e o seu cluster do Amazon Redshift, comosenha, nome do usuário e nome do banco de dados. Esses valores serão necessários para criar oendpoint de destino do Amazon Redshift.

• O cluster do Amazon Redshift deve estar na mesma conta e região da AWS que a instância dereplicação.

• A instância de replicação do AWS DMS precisa de conectividade de rede para o endpoint do AmazonRedshift (hostname e porta) que o cluster usa.

• O AWS DMS usa um bucket do Amazon S3 para transferir dados para o banco de dados do AmazonRedshift. Para o AWS DMS criar um bucket, o console do DMS usa uma função Amazon IAM, dms-access-for-endpoint. Se você utiliza o AWS CLI ou a API do DMS para migrar dados com oAmazon Redshift, como banco de dados de destino, é necessário criar essa função IAM. Para obtermais informações sobre a criação da função, consulte Criação de funções IAM a serem usadas com oAWS CLI e a API do AWS DMS (p. 36).

• O AWS DMS converte BLOBs, CLOBs e NCLOBs para VARCHAR na instância do Amazon Redshiftde destino. O Amazon Redshift não oferece suporte a tipos de dados VARCHAR maiores que 64 KB.Portanto, você não pode armazenar LOBs tradicionais no Amazon Redshift.

Limitações no uso do Amazon Redshift como destino do AWSDatabase Migration ServiceAo usar um banco de dados do Amazon Redshift como destino, o AWS DMS não é compatível com oseguinte:

• O DDL a seguir não tem suporte:

ALTER TABLE <table name> MODIFY COLUMN <column name> <data type>;

• O AWS DMS não pode migrar ou replicar alterações em um esquema com um nome que começacom sublinhado (_). Se você tiver esquemas com um nome que começa com um sublinhado, usartransformações de mapeamento para renomear o esquema no destino.

• O Amazon Redshift não oferece suporte a VARCHARs maiores que 64 KB. LOBs de bancos de dadostradicionais não podem ser armazenados no Amazon Redshift.

Configuração de um banco de dados Amazon Redshift comodestino do AWS Database Migration ServiceO AWS Database Migration Service deve ser configurado para trabalhar com a instância do AmazonRedshift. A tabela a seguir descreve as propriedades de configuração disponíveis para o endpoint doAmazon Redshift.

Versão da API API versão 2016-01-01169

Page 176: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

Propriedade Descrição

server O nome do cluster do Amazon Redshift que você está usando.

port O número da porta do Amazon Redshift. O valor padrão é 5439.

nome de usuário Um nome de usuário do Amazon Redshift para um usuário registrado.

password A senha do usuário nomeado na propriedade username.

banco de dados O nome do data warehouse (serviço) do Amazon Redshift com o qual vocêestá trabalhando.

Se quiser adicionar atributos de string de conexão extra ao endpoint do Amazon Redshift especifique osatributos maxFileSize e fileTransferUploadStreams. Para obter mais informações sobre essesatributos, consulte Atributos de conexão adicionais ao usar o Amazon Redshift como destino para o AWSDMS (p. 170).

Uso do roteamento por VPC aprimorado com um AmazonRedshift como destino do AWS Database Migration ServiceSe você está usando o recurso de roteamento por VPC aprimorado com o destino do Amazon Redshift,ele força todo o tráfego de cópia entre o seu cluster do Amazon Redshift e os seus repositórios de dadosatravés do Amazon VPC. Como o Enhanced VPC Routing afeta a maneira como o Amazon Redshiftacessa outros recursos, os comandos COPY poderão falhar se você não configurar a VPC corretamente.

O AWS DMS pode ser afetado por esse comportamento, já que usa o comando COPY para mover dadosno S3 para um cluster do Amazon Redshift.

A seguir, veja as etapas que o AWS DMS segue para carregar dados em um destino do Amazon Redshift:

1. O AWS DMS copia dados da origem para arquivos CSV no servidor de replicação.2. O AWS DMS usa o SDK da AWS para copiar arquivos CSV para um bucket do S3 na sua conta.3. Em seguida, o AWS DMS usa o comando COPY no Amazon Redshift para copiar dados dos arquivos

CSV no S3 para uma tabela apropriada no Amazon Redshift.

Se o Enhanced VPC Routing não estiver ativado, o Amazon Redshift roteará o tráfego pela Internet,inclusive o tráfego para outros serviços na rede da AWS. Se o recurso não estiver habilitado, nãoserá necessário configurar o caminho de rede. Se o recurso estiver habilitado, você deverá criarespecificamente um caminho de rede entre o cluster do VPC e os recursos de dados. Para obter maisinformações sobre as configuração necessárias, consulte Enhanced VPC Routing, na documentação doAmazon Redshift.

Atributos de conexão adicionais ao usar o Amazon Redshift comodestino para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino do Amazon Redshift.Você especifica essas configurações ao criar o endpoint de origem. Várias configurações de atributo deconexão adicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o Amazon Redshift comodestino.

Versão da API API versão 2016-01-01170

Page 177: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

Nome Descrição

maxFileSize Especifica o tamanho máximo (em KB) de um arquivo CSVusado para transferir dados para o Amazon Redshift.

Valor padrão: 32768 KB (32 MB)

Valores válidos: 1 - 1048576

Exemplo: maxFileSize=512

fileTransferUploadStreams Especifica o número de threads usados para fazer upload deum único arquivo.

Valor padrão: 10

Valores válidos: 1 - 64

Exemplo: fileTransferUploadStreams=20

acceptanydate Especifica se qualquer formato de data será aceito incluindoformatos de data inválidos, como 0000-00-00. Valor booleano.

Valor padrão: falso

Valores válidos: true | false

Exemplo: acceptanydate=true

dateformat Especifica o formato de data. Esta é uma sequência deentrada e, por padrão, está vazia. O formato padrão éAAAA-MM-DD, mas você pode alterá-lo para, por exemplo,DD-MM-AAAA. Se seus valores de data ou hora usaremoutros formatos, use o argumento auto com o parâmetrodateformat. O argumento auto reconhece vários formatosnão compatíveis ao usar uma sequência dateformat. Apalavra-chave auto diferencia maiúsculas de minúsculas.

Valor padrão: vazio

Valores válidos: 'dateformat_string' ou auto

Exemplo: dateformat=auto

timeformat Especifica o formato de hora. Esta é uma sequência deentrada e, por padrão, está vazia. O argumento autoreconhece vários formatos não compatíveis ao usar umasequência timeformat. Se seus valores de data e horausarem formatos um do outro, use o argumento auto com oparâmetro timeformat.

Valor padrão: 10

Valores válidos: 'timeformat_string' | 'auto' | 'epochsecs' |'epochmillisecs'

Exemplo: timeformat=auto

Versão da API API versão 2016-01-01171

Page 178: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

Nome Descrição

emptyasnull Especifica se o AWS DMS deve migrar campos CHAR eVARCHAR vazios como nulos. Um valor de true define oscampos CHAR e VARCHAR vazios como nulos.

Valor padrão: falso

Valores válidos: true | false

Exemplo: emptyasnull=true

truncateColumns Trunca dados em colunas no número apropriado decaracteres, de maneira que ele caiba na especificação dacoluna. Aplica-se somente a colunas com um tipo de dadosVARCHAR ou CHAR e linhas com 4 MB ou menos.

Valor padrão: falso

Valores válidos: true | false

Exemplo:

truncateColumns=true;

removeQuotes Remove as aspas de strings nos dados recebidos. Todos oscaracteres entre aspas, inclusive delimitadores, são mantidos.Para obter mais informações sobre a remoção de aspas paraum destino do AWS Redshift, consulte a documentação doRedshift.

Valor padrão: falso

Valores válidos: true | false

Exemplo:

removeQuotes=true;

trimBlanks Remove os caracteres de espaço em branco à direita deuma string VARCHAR. Esse parâmetro se aplica somente acolunas com um tipo de dados VARCHAR.

Valor padrão: falso

Valores válidos: true | false

Exemplo:

trimBlanks=false;

Tipos de dados de destino do Amazon RedshiftO endpoint do Amazon Redshift para o AWS DMS oferece suporte à maioria dos tipos de dados doAmazon Redshift. A tabela a seguir mostra os tipos de dados de destino do Amazon Redshift compatíveiscom o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Versão da API API versão 2016-01-01172

Page 179: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon Redshift como destino

Tipos de dados do AWS DMS Tipos de dados do Amazon Redshift

BOOLEAN BOOL

BYTES VARCHAR (tamanho)

DATE DATE

TIME VARCHAR(20)

DATETIME Se a escala for => 0 e =< 6, use:

TIMESTAMP (e)

Se a escala for => 7 e =< 9, use:

VARCHAR (37)

INT1 INT2

INT2 INT2

INT4 INT4

INT8 INT8

NUMERIC Se a escala for => 0 e =< 37, use:

NUMERIC (p,s)

Se a escala for => 38 e =< 127, use:

VARCHAR (tamanho)

REAL4 FLOAT4

REAL8 FLOAT8

STRING Se o tamanho for de 1 a 65,535, use VARCHAR(tamanho em bytes)

Se o tamanho for de 65,536 a 2.147.483.647, useVARCHAR (65535)

UINT1 INT2

UINT2 INT2

UINT4 INT4

UINT8 NUMERIC (20,0)

WSTRING Se o tamanho for de 1 a 65,535, use NVARCHAR(tamanho em bytes)

Se o tamanho for de 65,536 a 2.147.483.647, useNVARCHAR (65535)

BLOB VARCHAR (tamanho máximo de LOB *2)

Versão da API API versão 2016-01-01173

Page 180: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SAP ASE como destino

Tipos de dados do AWS DMS Tipos de dados do Amazon RedshiftO tamanho máximo de LOB não pode exceder31 KB. O Amazon Redshift não oferece suporte aVARCHARs maiores que 64 KB.

NCLOB NVARCHAR (tamanho máximo de LOB)

O tamanho máximo de LOB não pode exceder63 KB. O Amazon Redshift não oferece suporte aVARCHARs maiores que 64 KB.

CLOB VARCHAR (tamanho máximo de LOB)

O tamanho máximo de LOB não pode exceder63 KB. O Amazon Redshift não oferece suporte aVARCHARs maiores que 64 KB.

Uso de um banco de dados SAP ASE como destinodo AWS Database Migration ServiceÉ possível migrar dados para bancos de dados SAP Adaptive Server Enterprise (ASE) (antes conhecidocomo Sybase) usando o AWS DMS de qualquer banco de dados de origem compatível.

As versões do SAP ASE 15, 15.5, 15.7, 16 e posteriores são compatíveis.

Pré-requisitos para o uso de um banco de dados SAP ASE comodestino do AWS Database Migration ServiceAntes de começar a trabalhar com um banco de dados SAP ASE como destino do AWS DMS, confirme sevocê tem os seguintes pré-requisitos:

• Você deve fornecer acesso à conta ao SAP ASE ao usuário do AWS DMS. Esse usuário deve terprivilégios de leitura/gravação no banco de dados SAP ASE.

• Durante a replicação para a versão 15.7 do SAP ASE instalado em uma instância EC2 do Windowsconfigurada com um idioma não latino (por exemplo, chinês), o AWS DMS exige que SAP ASE 15.7SP121 esteja instalado na máquina SAP ASE de destino.

Atributos de conexão adicionais ao usar o SAP ASE comodestino para o AWS DMSVocê também pode usar atributos de conexão adicionais para configurar o destino do SAP ASE. Vocêespecifica essas configurações ao criar o endpoint de destino. Várias configurações de atributo deconexão adicionais devem ser separadas por ponto-e-vírgula.

A tabela a seguir mostra os atributos de conexão adicionais disponíveis ao usar o SAP ASE como destino:

Nome Descrição

enableReplication Defina como Y para habilitar automaticamente a replicaçãodo SAP ASE. Isto só é necessário caso a replicação do SAPASE ainda não tenha sido habilitada.

Versão da API API versão 2016-01-01174

Page 181: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do SAP ASE como destino

Nome Descrição

additionalConnectionProperties Quaisquer parâmetros de conexão de ODBC adicionais quedeseja especificar.

Note

Se o nome de usuário ou a senha especificados na string de conexão contêm caracteres nãolatinos (por exemplo, chineses), a seguinte propriedade será necessária: charset=gb18030

Tipos de dados de destino do SAP ASEA tabela a seguir mostra os tipos de dados de destino do banco de dados SAP ASE compatíveis com oAWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Tipos de dados do AWS DMS Tipos de dados do SAP ASE

BOOLEAN BIT

BYTES VARBINARY (tamanho)

DATE DATE

TIME TIME

TIMESTAMP Se a escala for => 0 e =< 6, use: BIGDATETIME

Se a escala for => 7 e =< 9, use: VARCHAR (37)

INT1 TINYINT

INT2 SMALLINT

INT4 INTEGER

INT8 BIGINT

NUMERIC NUMERIC (p,s)

REAL4 REAL

REAL8 DOUBLE PRECISION

STRING VARCHAR (tamanho)

UINT1 TINYINT

UINT2 UNSIGNED SMALLINT

UINT4 UNSIGNED INTEGER

UINT8 UNSIGNED BIGINT

WSTRING VARCHAR (tamanho)

BLOB IMAGE

Versão da API API versão 2016-01-01175

Page 182: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como destino

Tipos de dados do AWS DMS Tipos de dados do SAP ASE

CLOB UNITEXT

NCLOB TEXT

O AWS DMS não oferece suporte a tabelas que incluem campos com os tipos de dados a seguir. Ascolunas replicadas com esses tipos de dados são exibidas com valores nulos.

• Tipos definidos pelo usuário (UDT)

Uso do Amazon S3 como destino do AWS DatabaseMigration ServiceÉ possível migrar dados para o Amazon S3 usando o AWS DMS a partir de qualquer uma das origensde bancos de dados compatíveis. Ao usar o S3 como destino em uma tarefa do AWS DMS, os dados decarregamento total e de captura de dados de alteração (CDC) são gravados no formato CSV. O AWSDMS nomeia os arquivos criados durante um carregamento completo usando contadores incrementais,como LOAD00001.csv, LOAD00002 e assim por diante. O AWS DMS nomeia arquivos de CDC usandotimestamps, como 20141029-1134010000.csv. Para cada tabela de origem, o AWS DMS cria uma pastana pasta de destino especificada. O AWS DMS grava todos os arquivos de carregamento completo e deCDC no bucket do S3 especificado.

O parâmetro bucketFolder contém o local onde arquivos .csv são armazenados antes de sercarregados no bucket do S3. Os dados de tabela são armazenados no seguinte formato no bucket do S3:

<schema_name>/<table_name>/LOAD001.csv<schema_name>/<table_name>/LOAD002.csv<schema_name>/<table_name>/<time-stamp>.csv

É possível especificar o delimitador de coluna, o delimitador de linha e outros parâmetros usando osatributos de conexão adicionais. Para obter mais informações sobre os atributos de conexão extra,consulte Atributos de conexão adicionais ao usar o Amazon S3 como destino para o AWS DMS (p. 178),no final desta seção.

Quando você usa o AWS DMS para replicar alterações de dados, a primeira coluna do arquivo CSVresultante indica como os dados foram alterados, conforme mostrado a seguir:

I,101,Smith,Bob,4-Jun-14,New YorkU,101,Smith,Bob,8-Oct-15,Los AngelesU,101,Smith,Bob,13-Mar-17,DallasD,101,Smith,Bob,13-Mar-17,Dallas

Para este exemplo, suponha que haja uma tabela EMPLOYEE no banco de dados de origem. O AWS DMSgrava dados no arquivo CSV, em resposta aos seguintes eventos:

• Um novo funcionário (Bob Smith, ID de funcionário 101) é contratado em 4 de junho de 2014 noescritório de Nova York. No arquivo CSV, I na primeira coluna indica que uma nova linha INSERT foiinserida na tabela EMPLOYEE no banco de dados de origem.

• Em 8 de outubro de 2015, Bob é transferido para o escritório de Los Angeles. No arquivo CSV, o Uindica que a linha correspondente na tabela EMPLOYEE UPDATE foi atualizada para refletir o local do

Versão da API API versão 2016-01-01176

Page 183: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como destino

novo escritório de Bob. O restante da linha reflete a linha na tabela EMPLOYEE conforme ela apareceapós UPDATE.

• Em 13 de março de 2017, Bob é transferido novamente para o escritório de Dallas. No arquivo CSV,U indica que essa linha UPDATE foi novamente atualizada. O restante da linha reflete a linha na tabelaEMPLOYEE conforme ela aparece após UPDATE.

• Depois de um tempo trabalhando em Dallas, Bob deixa a empresa. No arquivo CSV, D indica que a linhaDELETE foi excluída da tabela de origem. O restante da linha reflete como a linha na tabela EMPLOYEEaparecia antes de ser excluída.

Pré-requisitos para o uso do Amazon S3 como destinoO bucket do Amazon S3 que você está usando como destino deve estar na mesma região da instância dereplicação DMS que você está usando para migrar seus dados.

A conta da AWS que você usa para a migração deve ter acesso de gravação e exclusão para o bucket doAmazon S3 que você está usando como destino. A função atribuída à conta de usuário usada para criar atarefa de migração deve ter o seguinte conjunto de permissões.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::buckettest2*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::buckettest2*" ] } ]}

Limitações do uso do Amazon S3 como destinoAs seguintes limitações se aplicam a um arquivo no Amazon S3 que você está usando como destino:

• Somente os seguintes comandos de Data Definition Language (DDL - Linguagem de definição de dados)são compatíveis: TRUNCATE TABLE, DROP TABLE e CREATE TABLE.

• O modo Full LOB não é compatível.• Não há suporte para alterações na estrutura da tabela de origem durante o carregamento total.

Alterações nos dados são compatíveis durante o carregamento completo.• Várias tarefas que replicam dados da mesma tabela de origem para o mesmo bucket de endpoint do

S3 de destino resultam em tarefas sendo gravadas no mesmo arquivo. Recomendamos que vocêespecifique diferentes endpoints de destino (buckets) se sua fonte de dados estiver na mesma tabela.

Versão da API API versão 2016-01-01177

Page 184: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como destino

SegurançaPara usar o Amazon S3 como destino, a conta usada para a migração deve ter acesso de gravação eexclusão para o bucket do Amazon S3 usado como destino. É necessário especificar o Nome de recursoda Amazon (ARN) de uma função IAM que tenha as permissões exigidas para acessar o Amazon S3

O AWS DMS oferece suporte a um conjunto de concessões predefinidas para o Amazon S3, conhecidascomo ACLs pré-configuradas. Cada ACL pré-configurada tem um conjunto de concessões e permissõesque podem ser usadas para definir permissões no bucket do Amazon S3. Você pode especificar uma ACLusando cannedAclForObjects no atributo da string de conexão para o endpoint de destino do S3. Paraobter mais informações sobre o uso do atributo de conexão adicional cannedAclForObjects, consulteAtributos de conexão adicionais ao usar o Amazon S3 como destino para o AWS DMS (p. 178). Paraobter mais informações sobre ACLs pré-configuradas do Amazon S3, consulte ACL pré-configurada.

A função do IAM que você usa para a migração deve ser capaz de executar a ação de APIs3:PutObjectAcl.

Atributos de conexão adicionais ao usar o Amazon S3 comodestino para o AWS DMSÉ possível especificar as seguintes opções como atributos de conexão extra. Várias configurações deatributo de conexão adicionais devem ser separadas por ponto-e-vírgula.

Opção Descrição

addColumnName Um parâmetro opcional que permite adicionar informações de nome da colunaao arquivo .csv resultante. O padrão é false.

Exemplo:

addColumnName=true;

bucketFolder Um parâmetro opcional para definir um nome de pasta no bucket doS3. Se fornecido, as tabelas são criadas no caminho <bucketFolder>/<nome_schema>/<nome_tabela>/. Se este parâmetro não for especificado, ocaminho usado será <nome_schema>/<nome_tabela>/.

Exemplo:

bucketFolder=testFolder;

bucketName O nome do bucket do S3.

Exemplo:

bucketName=buckettest;

cannedAclForObjects Permite que o AWS DMS especifique uma lista de controle de acesso (pré-configurada) predefinida para objetos gravados no bucket do S3. Para obtermais informações sobre ACLs pré-configuradas do Amazon S3, consulte ACLpré-configurada no Guia do desenvolvedor do Amazon S3.

Exemplo:

cannedAclForObjects=PUBLIC_READ;

Os valores válidos para este atributo são: NONE; PRIVATE; PUBLIC_READ;PUBLIC_READ_WRITE; AUTHENTICATED_READ; AWS_EXEC_READ;BUCKET_OWNER_READ; BUCKET_OWNER_FULL_CONTROL.

Versão da API API versão 2016-01-01178

Page 185: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon S3 como destino

Opção DescriçãoSe esse atributo não for especificado, o padrão será NONE.

cdcInsertsOnly Um parâmetro opcional para gravar apenas operações INSERT nosarquivos .CSV resultantes. Por padrão, o primeiro campo em umregistro .CSV contém a letra I (insert), U (update) ou D (delete) para indicarse a linha foi inserida, atualizada ou excluída no banco de dados de origem.Se cdcInsertsOnly estiver definido como true, somente INSERT asinserções serão registradas no arquivo CSV, sem qualquer anotação I.

Exemplo:

cdcInsertsOnly=true;

compressionType Um parâmetro opcional para usar GZIP para compactar os arquivos dedestino. Defina como NONE (o padrão) ou não use para deixar os arquivosdescompactados.

Exemplo:

compressionType=GZIP;

csvRowDelimiter O delimitador usado para separar linhas nos arquivos de origem. O padrão éum retorno de carro (\n).

Exemplo:

csvRowDelimiter=\n;

csvDelimiter O delimitador usado para separar colunas nos arquivos de origem. O padrãoé uma vírgula.

Exemplo:

csvDelimiter=,;

maxFileSize Especifica o tamanho máximo (em KB) de qualquer arquivo CSV a ser criadoao migrar para o destino do S3 durante o carregamento completo.

Valor padrão: 1.048.576 KB (1 GB)

Valores válidos: 1 - 1048576

Exemplo:

maxFileSize=512

rfc4180 Um parâmetro opcional usado para controlar o comportamento de RFC deconformidade com dados migrados para o Amazon S3. Ao usar o Amazon S3como destino, se os dados contiverem aspas ou um caractere de nova linha,o AWS DMS incluirá toda a coluna com um " adicional. Todas as aspas dentrodos dados são repetidas duas vezes. Isso está em conformidade com RFC4180.

O padrão é true.

Exemplo:

rfc4180=false;

Versão da API API versão 2016-01-01179

Page 186: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

Uso de um banco de dados do Amazon DynamoDBcomo destino do AWS Database Migration ServiceVocê pode usar o AWS DMS para migrar dados para uma tabela do Amazon DynamoDB. O AmazonDynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que proporciona umdesempenho rápido e previsível com escalabilidade fácil. O AWS DMS é compatível com o uso de umbanco de dados relacional ou do MongoDB como origem.

No DynamoDB, tabelas, itens e atributos são os componentes principais com que você trabalha. Umatabela é uma coleção de itens, sendo cada item um conjunto de atributos. O DynamoDB usa chavesprimárias, chamadas chaves de partição, para identificar de modo exclusivo cada item em uma tabela.Também é possível usar chaves e índices secundários para fornecer mais flexibilidade de consulta.

O mapeamento de objeto é usado para migrar os dados de um banco de dados de origem para uma tabelade destino do DynamoDB. Ele permite que você determine onde os dados de origem estão localizados nodestino.

Quando o AWS DMS cria tabelas em um endpoint de destino do Amazon DynamoDB, ele cria o mesmonúmero de tabelas que está no endpoint do banco de dados de origem. O AWS DMS também define váriosvalores de parâmetro do Amazon DynamoDB. O custo da criação da tabela depende da quantidade dedados e do número de tabelas a serem migradas.

Quando o AWS DMS define valores de parâmetros do Amazon DynamoDB para uma tarefa de migração, ovalor do parâmetro das Unidades de capacidade de leitura (RCU) padrão é definido como 200.

O valor do parâmetro das Unidades de capacidade de gravação (WCU) também é definido, mas o valordepende de várias outras configurações:

• O valor padrão do parâmetro WCU é 200.• Se o parâmetro parallelLoadThreads for definido acima de 1 (o padrão é 0), o parâmetro WCU será

definido para 200 vezes o valor de parallelLoadThreads.• Na região Leste dos EUA (Norte da Virgínia) (us-east-1), o maior valor possível de parâmetro WCU é

40.000. Se a região da AWS for us-east-1 e o valor do parâmetro WCU for superior a 40.000, o valor doparâmetro WCU será definido como 40.000.

• Em regiões da AWS que não sejam us-east-1, o maior valor possível do parâmetro WCU é 10.000. Pararegiões da AWS diferentes de us-east-1, se o valor do parâmetro WCU for superior a 10.000, o valor doparâmetro WCU será definido como 10.000.

Migração de um banco de dados relacional para uma tabela doDynamoDBO AWS DMS é compatível com a migração de dados para os tipos de dados escalares do DynamoDB.Para migrar de um banco de dados relacional, como Oracle ou MySQL, para o DynamoDB, reestruture aforma como você armazena esses dados.

Atualmente, o AWS DMS é compatível com restruturação de tabela em tabela para os atributos do tipoescalar. Se você estivesse migrando dados para o DynamoDB a partir de uma tabela de banco de dadosrelacional, pegaria dados de uma tabela e os reformataria como atributos de tipo de dados escalares.Esses atributos podem aceitar dados de várias colunas, e é possível mapear uma coluna diretamente paraum atributo.

O AWS DMS é compatível com os seguintes tipos de dados escalares do DynamoDB:

• String

Versão da API API versão 2016-01-01180

Page 187: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

• telefone• Booleano

Note

Os dados NULL da origem são ignorados no destino.

Pré-requisitos para o uso de um DynamoDB como destino doAWS Database Migration ServiceAntes de começar a trabalhar com um banco de dados DynamoDB como destino do AWS DMS, lembre-se de criar uma função IAM que permita que o AWS DMS assuma e conceda acesso às tabelas doDynamoDB que estão sendo migradas. O conjunto mínimo de permissões de acesso é mostrado noseguinte exemplo de política de função:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }]}

A função que você usa para a migração para o DynamoDB deve ter as seguintes permissões:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:DeleteTable", "dynamodb:DeleteItem" ], "Resource": [ "arn:aws:dynamodb:us-west-2:account-id:table/Name1", "arn:aws:dynamodb:us-west-2:account-id:table/OtherName*", ] },{ "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" } ]}

Versão da API API versão 2016-01-01181

Page 188: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

Limitações do uso do DynamoDB como destino do AWSDatabase Migration ServiceAplicam-se as seguintes limitações ao usar o Amazon DynamoDB como destino:

• O DynamoDB limita a precisão do tipo de dados Número a 38 locais. Armazene todos os tipos de dadoscom mais precisão como uma string. É necessário especificar isso explicitamente usando o recurso demapeamento de objeto.

• Como o Amazon DynamoDB não tem um tipo de dados Data, os dados usando o tipo de dados Data sãoconvertidos para strings.

• O Amazon DynamoDB não permite atualizações nos atributos da chave primária. Essa restrição éimportante quando se usa a replicação contínua com captura de dados de alterações (CDC), pois elapode gerar dados indesejados no destino. Dependendo de como você faz o mapeamento do objeto,uma operação de CDC que atualiza a chave primária pode tanto falhar como inserir um novo item com achave primária atualizada e dados incompletos.

• O AWS DMS aceita a replicação somente de tabelas com chaves primárias não compostas, a menosque você especifique um mapeamento de objeto para a tabela de destino com uma chave de partiçãopersonalizada, uma chave de classificação ou as duas.

• O AWS DMS não é compatível com dados de LOB, a menos que seja um CLOB. O AWS DMS convertedados CLOB para uma string do DynamoDB ao migrar dados.

Uso do mapeamento de objeto para migrar dados para oDynamoDBO AWS DMS usa regras de mapeamento de tabela para mapear dados da origem para a tabela de destinodo DynamoDB. Para mapear dados para um destino do DynamoDB, use um tipo de regra de mapeamentode tabela chamado object-mapping. O mapeamento de objeto permite definir os nomes de atributos e osdados a serem migrados para eles. Você deve ter regras de seleção ao usar o mapeamento de objetos.

O Amazon DynamoDB não tem uma estrutura predefinida além de ter uma chave de partição e uma chavede classificação opcional. Se você tiver uma chave primária não composta, o AWS DMS a usará. Se vocêtiver uma chave primária composta ou quiser usar uma chave de classificação, defina as chaves e osoutros atributos na tabela de destino do DynamoDB.

Para criar uma regra de mapeamento de objeto, especifique rule-type como object-mapping. Essa regraespecifica o tipo de mapeamento de objeto que você deseja usar.

A estrutura da regra é a seguinte:

{ "rules": [ { "rule-type": "object-mapping", "rule-id": "<id>", "rule-name": "<name>", "rule-action": "<valid object-mapping rule action>", "object-locator": { "schema-name": "<case-sensitive schema name>", "table-name": "" }, "target-table-name": "<table_name>", } } ]}

Versão da API API versão 2016-01-01182

Page 189: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

No momento, o AWS DMS é compatível com map-record-to-record e map-record-to-document como osúnicos valores do parâmetro rule-action. map-record-to-record e map-record-to-document especificamo que o AWS DMS faz por padrão a registros que não são excluídos como parte da lista de atributosexclude-columns. Esses valores não afetam os mapeamentos de atributo de forma alguma.

• map-record-to-record pode ser usado para migrar de um banco de dados relacional para o DynamoDB.Ele usa a chave primária do banco de dados relacional como chave de partição no Amazon DynamoDBe cria um atributo para cada coluna no banco de dados de origem. Ao usar map-record-to-record,para qualquer coluna na tabela de origem não listada na lista de atributos exclude-columns, o AWSDMS cria um atributo correspondente na instância do DynamoDB, independentemente de a coluna deorigem ser ou não usada em um mapeamento de atributo.

• map-record-to-document coloca colunas de origem em um mapa único sem formatação do DynamoDBno destino, usando o nome de atributo "_doc". Ao usar map-record-to-document, para qualquercoluna na tabela de origem não listada na lista de atributos exclude-columns, o AWS DMS coloca osdados em um atributo de mapa único e sem formatação do DynamoDB na origem chamada "_doc".

Uma maneira de compreender a diferença entre os parâmetros rule-action map-record-to-recorde map-record-to-document é vendo os dois em ação. Para este exemplo, suponha que você estácomeçando com uma linha de tabela de banco de dados relacional com a seguinte estrutura e dados:

Para migrar essas informações para o DynamoDB, você criaria regras para mapear os dados para umitem de tabela do DynamoDB. Observe as colunas listadas para o parâmetro exclude-columns. Essascolunas não são mapeadas diretamente para o destino. Em vez disso, o mapeamento de atributo é usadopara combinar os dados em novos itens, como quando FirstName e LastName são agrupados para virarCustomerName no destino do DynamoDB. NickName e income não foram excluídos.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "1", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "test", "table-name": "customer", }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone",

Versão da API API versão 2016-01-01183

Page 190: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

"WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "document", "attribute-sub-type": "dynamodb-map", "value": { "M": { "Home": { "M": { "Address": { "S": "${HomeAddress}" }, "Phone": { "S": "${HomePhone}" } } }, "Work": { "M": { "Address": { "S": "${WorkAddress}" }, "Phone": { "S": "${WorkPhone}" } } } } } } ] } } ]}

Ao usar o parâmetro rule-action map-record-to-record, os dados de NickName e income sãomapeados para itens com o mesmo nome no destino do DynamoDB.

Versão da API API versão 2016-01-01184

Page 191: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

No entanto, suponhamos que você use as mesmas regras, mas altere o parâmetro rule-actionpara map-record-to-document. Nesse caso, as colunas não listadas no parâmetro exclude-columns,NickName e income, serão mapeadas para um item _doc.

Uso de expressões condicionais personalizadas com mapeamento de objeto

Você pode usar um recurso do Amazon DynamoDB chamado de expressões condicionais para manipulardados sendo gravados em uma tabela do DynamoDB. Para obter mais informações sobre expressõescondicionais no DynamoDB, consulte Condition Expressions.

Um membro de expressão condicional consiste em:

• uma expressão (obrigatória)• valores de atributo de expressão (opcional). Especifica uma estrutura json do DynamoDB do valor de

atributo• nomes de atributo de expressão (opcional)

Versão da API API versão 2016-01-01185

Page 192: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

• opções para quando usar a expressão condicional (opcional). O padrão é apply-during-cdc = false eapply-during-full-load = true

A estrutura da regra é a seguinte:

"target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "condition-expression": { "expression":"<conditional expression>", "expression-attribute-values": [ { "name":"<attribute name>", "value":<attribute value> } ], "apply-during-cdc":<optional Boolean value>, "apply-during-full-load": <optional Boolean value> }

O exemplo a seguir destaca as seções usadas para expressão condicional.

Versão da API API versão 2016-01-01186

Page 193: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

Uso do mapeamento de atributo com mapeamento de objeto

O mapeamento de atributo permite especificar uma string de modelo usando nomes de coluna de origempara reestruturar dados no destino. Não há formatação feita além do que o usuário especifica no modelo.

O exemplo a seguir mostra a estrutura do banco de dados de origem e a estrutura desejada do destino doDynamoDB. Primeiramente, é mostrada a estrutura da origem: nesse caso um banco de dados do Oracle,e, depois, a estrutura desejada dos dados no DynamoDB. O exemplo termina com o JSON usado paracriar a estrutura de destino desejada.

A estrutura dos dados do Oracle é a seguinte:

FirstNameLastNameStoreIdHomeAddressHomePhoneWorkAddressWorkPhoneDateOfBirth

Chaveprimária

N/D  

RandyMarsh5 221BBakerStreet

123456789031SpoonerStreet,Quahog

987654321029/02/1988

A estrutura dos dados do DynamoDB é a seguinte:

CustomerNameStoreId ContactDetails DateOfBirth

Chavede

partição

Chavede

classificação

N/D

Randy,Marsh5 { "Name": "Randy", "Home": { "Address": "221B Baker Street", "Phone": 1234567890 }, "Work": { "Address": "31 Spooner Street, Quahog", "Phone": 9876541230 }}

02/29/1988

O JSON a seguir mostra o mapeamento de objeto e o mapeamento de coluna usados para alcançar aestrutura do DynamoDB:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%"

Versão da API API versão 2016-01-01187

Page 194: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

}, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "test", "table-name": "customer" }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "sort-key-name": "StoreId", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "StoreId", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${StoreId}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "{\"Name\":\"${FirstName}\",\"Home\":{\"Address\":\"${HomeAddress}\",\"Phone\":\"${HomePhone}\"}, \"Work\":{\"Address\":\"${WorkAddress}\",\"Phone\":\"${WorkPhone}\"}}" } ] } } ]}

Outra maneira de usar o mapeamento de coluna é usar o formato do DynamoDB como seu tipo dedocumento. O código a seguir usa dynamodb-map como attribute-sub-type para o mapeamento deatributo.

{ "rules": [ { "rule-type": "object-mapping", "rule-id": "1", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record",

Versão da API API versão 2016-01-01188

Page 195: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

"object-locator": { "schema-name": "test", "table-name": "customer", }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "sort-key-name": "StoreId", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "StoreId", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${StoreId}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "document", "attribute-sub-type": "dynamodb-map", "value": { "M": { "Name": { "S": "${FirstName}" }"Home": { "M": { "Address": { "S": "${HomeAddress}" }, "Phone": { "S": "${HomePhone}" } } }, "Work": { "M": { "Address": { "S": "${WorkAddress}" }, "Phone": { "S": "${WorkPhone}" } } } } } } ] } } ]}

Versão da API API versão 2016-01-01189

Page 196: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

Exemplo 1: uso do mapeamento de atributo com mapeamento de objeto

O exemplo a seguir migra dados de duas tabelas de banco de dados MySQL, nfl_data e sport_team, paraduas tabelas do DynamoDBs chamadas NFLTeams e SportTeams. A estrutura das tabelas e do JSONusados para mapear os dados das tabelas de banco de dados MySQL para as tabelas do DynamoDB émostrada a seguir.

A estrutura da tabela do banco de dados MySQL nfl_data é mostrada abaixo:

mysql> desc nfl_data;+---------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------------+-------------+------+-----+---------+-------+| Position | varchar(5) | YES | | NULL | || player_number | smallint(6) | YES | | NULL | || Name | varchar(40) | YES | | NULL | || status | varchar(10) | YES | | NULL | || stat1 | varchar(10) | YES | | NULL | || stat1_val | varchar(10) | YES | | NULL | || stat2 | varchar(10) | YES | | NULL | || stat2_val | varchar(10) | YES | | NULL | || stat3 | varchar(10) | YES | | NULL | || stat3_val | varchar(10) | YES | | NULL | || stat4 | varchar(10) | YES | | NULL | || stat4_val | varchar(10) | YES | | NULL | || team | varchar(10) | YES | | NULL | |+---------------+-------------+------+-----+---------+-------+

A estrutura do banco de dados MySQL sport_team é mostrada abaixo:

mysql> desc sport_team;+---------------------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+---------------------------+--------------+------+-----+---------+----------------+| id | mediumint(9) | NO | PRI | NULL | auto_increment || name | varchar(30) | NO | | NULL | || abbreviated_name | varchar(10) | YES | | NULL | || home_field_id | smallint(6) | YES | MUL | NULL | || sport_type_name | varchar(15) | NO | MUL | NULL | || sport_league_short_name | varchar(10) | NO | | NULL | || sport_division_short_name | varchar(10) | YES | | NULL | |

As regras de mapeamento de tabela usadas para mapear duas tabelas para as duas tabelas doDynamoDB são mostradas abaixo:

{ "rules":[ { "rule-type": "selection", "rule-id": "1", "rule-name": "1",

Versão da API API versão 2016-01-01190

Page 197: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

"object-locator": { "schema-name": "dms_sample", "table-name": "nfl_data" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "dms_sample", "table-name": "sport_team" }, "rule-action": "include" }, { "rule-type":"object-mapping", "rule-id":"3", "rule-name":"MapNFLData", "rule-action":"map-record-to-record", "object-locator":{ "schema-name":"dms_sample", "table-name":"nfl_data" }, "target-table-name":"NFLTeams", "mapping-parameters":{ "partition-key-name":"Team", "sort-key-name":"PlayerName", "exclude-columns": [ "player_number", "team", "Name" ], "attribute-mappings":[ { "target-attribute-name":"Team", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${team}" }, { "target-attribute-name":"PlayerName", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${Name}" }, { "target-attribute-name":"PlayerInfo", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"{\"Number\": \"${player_number}\",\"Position\": \"${Position}\",\"Status\": \"${status}\",\"Stats\": {\"Stat1\": \"${stat1}:${stat1_val}\",\"Stat2\": \"${stat2}:${stat2_val}\",\"Stat3\": \"${stat3}:${stat3_val}\",\"Stat4\": \"${stat4}:${stat4_val}\"}" } ] } }, { "rule-type":"object-mapping", "rule-id":"4", "rule-name":"MapSportTeam", "rule-action":"map-record-to-record", "object-locator":{ "schema-name":"dms_sample", "table-name":"sport_team" },

Versão da API API versão 2016-01-01191

Page 198: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso do Amazon DynamoDB como destino

"target-table-name":"SportTeams", "mapping-parameters":{ "partition-key-name":"TeamName", "exclude-columns": [ "name", "id" ], "attribute-mappings":[ { "target-attribute-name":"TeamName", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${name}" }, { "target-attribute-name":"TeamInfo", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"{\"League\": \"${sport_league_short_name}\",\"Division\": \"${sport_division_short_name}\"}" } ] } } ]}

A amostra de saída da tabela NFLTeams do DynamoDB é mostrada abaixo:

"PlayerInfo": "{\"Number\": \"6\",\"Position\": \"P\",\"Status\": \"ACT\",\"Stats\": {\"Stat1\": \"PUNTS:73\",\"Stat2\": \"AVG:46\",\"Stat3\": \"LNG:67\",\"Stat4\": \"IN 20:31\"}", "PlayerName": "Allen, Ryan", "Position": "P", "stat1": "PUNTS", "stat1_val": "73", "stat2": "AVG", "stat2_val": "46", "stat3": "LNG", "stat3_val": "67", "stat4": "IN 20", "stat4_val": "31", "status": "ACT", "Team": "NE"}

A amostra de saída da tabela SportsTeams do DynamoDB é mostrada abaixo:

{ "abbreviated_name": "IND", "home_field_id": 53, "sport_division_short_name": "AFC South", "sport_league_short_name": "NFL", "sport_type_name": "football", "TeamInfo": "{\"League\": \"NFL\",\"Division\": \"AFC South\"}", "TeamName": "Indianapolis Colts"}

Versão da API API versão 2016-01-01192

Page 199: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de endpoints de origem e destino

Tipos de dados de destino do Amazon DynamoDBO endpoint do Amazon DynamoDB para o Amazon AWS DMS oferece suporte à maioria dos tipos dedados do Amazon DynamoDB. A tabela a seguir mostra os tipos de dados de destino do Amazon AWSDMS compatíveis com o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS.

Para obter informações adicionais sobre tipos de dados do AWS DMS, consulte Tipos de dados do AWSDatabase Migration Service (p. 300).

Quando o AWS DMS migra dados de bancos de dados heterogêneos, mapeamos os tipos de dados dobanco de dados de origem para tipos de dados intermediários chamados de tipos de dados do AWS DMS.Em seguida, mapeamos os tipos de dados intermediários para os tipos de dados de destino. A tabela aseguir mostra cada tipo de dados do AWS DMS e o tipo de dados que ele mapeia no DynamoDB:

Tipo de dados do AWS DMS Tipo de dados DynamoDB

String String

WString String

Booleano Booleano

Data String

DateTime String

INT1 telefone

INT2 telefone

INT4 telefone

INT8 telefone

Numeric telefone

Real4 telefone

Real8 telefone

UINT1 telefone

UINT2 telefone

UINT4 telefone

UINT8 telefone

CLOB String

Criação de endpoints de origem e destinoCrie endpoints de origem e destino ao criar a instância de replicação ou crie os endpoints depois que ainstância de replicação for criada. Os datastores de origem e de destino podem estar em uma instância doAmazon Elastic Compute Cloud (Amazon EC2), uma instância do Amazon Relational Database Service(Amazon RDS) ou um banco de dados local.

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS. Observeque você também pode realizar esta etapa selecionando Endpoints, no painel de navegação do console

Versão da API API versão 2016-01-01193

Page 200: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de endpoints de origem e destino

do AWS DMS, e Create endpoint. Ao usar o assistente de console, os endpoints de origem e de destinosão criados na mesma página. Quando o assistente de console não é usado, cada endpoint é criadoseparadamente.

Como especificar endpoints do banco de dados de origem ou de destino usando o console daAWS

1. Na página Connect source and target database endpoints, especifique as suas informações deconexão do banco de dados de origem ou de destino. A tabela a seguir descreve as configurações.

Para esta opção Faça o seguinte

Endpoint type Determine se esse endpoint é o endpoint de origem ou dedestino.

Select RDS DB Instance (Selecionarinstância de banco de dados do RDS)

Escolha essa opção se o endpoint for uma instância debanco de dados do Amazon RDS.

Endpoint identifier Digite o nome que deseja usar para identificar o endpoint.Talvez você queira incluir o tipo de endpoint no nome,como oracle-origem ou PostgreSQL-destino. Onome deve ser exclusivo para todas as instâncias dereplicação.

Source engine e Target engine Escolha o tipo de mecanismo de banco de dados que é oendpoint.

Versão da API API versão 2016-01-01194

Page 201: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de endpoints de origem e destino

Para esta opção Faça o seguinte

Server name Digite o nome do servidor. Para um banco de dadoslocal, ele pode ser o endereço IP ou o hostnamepúblico. Para uma instância de banco de dados doAmazon RDS, ele pode ser o endpoint (tambémchamado de nome DNS) da instância de banco dedados, como mysqlsrvinst.abcd12345678.us-west-2.rds.amazonaws.com.

Port Digite a porta usada pelo banco de dados.

SSL mode Escolha um modo SSL se você deseja habilitar acriptografia de conexão para esse endpoint. Dependendodo modo selecionado, talvez você seja solicitado afornecer informações de certificado e de certificado doservidor.

User name Digite o nome do usuário com as permissões necessáriaspara permitir a migração de dados. Para obter informaçõessobre as permissões necessárias, consulte a seção desegurança do mecanismo de banco de dados de origemou de destino neste guia do usuário.

Password Digite a senha da conta com as permissões necessárias.Se quiser usar caracteres especiais na senha, como "+" ou"&", coloque a senha inteira entre chaves "{}".

Database name O nome do banco de dados que deseja usar comoendpoint.

2. Selecione a guia Advanced, mostrada a seguir, para definir valores para string de conexão e chave decriptografia, se necessário. Para testar a conexão do endpoint, selecione Run test.

Versão da API API versão 2016-01-01195

Page 202: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriação de endpoints de origem e destino

Para esta opção Faça o seguinte

Extra connection attributes Digite os parâmetros de conexão adicional aqui. Paraobter mais informações sobre os atributos de conexãoextra, consulte a seção da documentação de seuarmazenamento de dados.

KMS master key Escolha a chave de criptografia a ser usada paracriptografar o armazenamento de replicação e asinformações de conexão. Se você escolher (Default) aws/dms, a chave padrão do AWS Key Management Service(AWS KMS) associada à sua conta e região será usada.Para obter mais informações sobre o uso da chave decriptografia, consulte Configuração de uma chave decriptografia e especificação de permissões do KMS (p. 47).

Test endpoint connection (optional)(Testar a conexão do endpoint(opcional))

Adicione a VPC e o nome da instância de replicação. Paratestar a conexão, selecione Run test (Executar o teste).

Versão da API API versão 2016-01-01196

Page 203: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Trabalho com tarefas do AWS DMSUma tarefa do AWS Database Migration Service (AWS DMS) é onde acontece todo o trabalho. Você podeusar as tarefas para migrar dados do endpoint de origem para o endpoint de destino, e o processamentoda tarefa acontece na instância de replicação. Você especifica quais tabelas e schemas usar para amigração e qualquer processamento especial, como requisitos de registro em log, dados da tabela decontrole e gerenciamento de erros.

Há várias coisas que você precisa saber ao criar uma tarefa:

• Antes de criar uma tarefa de migração, é necessário criar um endpoint de origem, um endpoint dedestino e uma instância de replicação.

• Há um número significativo de configurações de tarefa que você pode especificar para ajustar sua tarefade migração. Você pode defini-las ao usar o console do AWS DMS, a CLI da AWS ou a API do DMS.Essas configurações incluem a especificação de como os erros de migração são gerenciados, comofazer registro em log de erros e como controlar informações da tabela.

• Após criar uma tarefa, você poderá executá-la imediatamente. As tabelas de destino com as definiçõesde metadados necessárias são criadas e carregadas automaticamente, e você pode especificar areplicação contínua.

• Por padrão, o AWS DMS inicia a tarefa assim que ela é criada. Contudo, em algumas situações, vocêpode querer adiar o início da tarefa. Por exemplo, ao usar a Interface da linha de comando da AWSCommand Line Interface (AWS CLI), pode haver um processo que cria uma tarefa e um processodiferente que inicia a tarefa com base em algum evento de trigger. Conforme necessário, é possíveladiar o início da tarefa.

• É possível monitorar, interromper ou reiniciar tarefas de replicação usando o console do AWS DMS, aCLI da AWS ou a API do AWS DMS.

A seguir, veja as ações que podem ser feitas durante o trabalho com uma tarefa do AWS DMS

Tarefa Documentação relevante

Criar um relatório de avaliação de tarefa

Você pode criar um relatório deavaliação de tarefa que mostre os tiposde dados incompatíveis, que podemcausar problemas durante a migração.Você pode executar esse relatóriona tarefa antes de executá-la, paradescobrir possíveis problemas.

Criar um relatório de avaliação de tarefa (p. 199)

Criar uma tarefa

Quando você cria uma tarefa, especificaa origem, o destino e a instância dereplicação, juntamente com todas asconfigurações de migração.

Criar uma tarefa (p. 201)

Creating an Ongoing Replication Task(Criar uma tarefa de replicação contínua)

Você pode configurar uma tarefa parafornecer replicação contínua entre aorigem e o destino.

Criação de tarefas para replicação contínua usando o AWSDMS (p. 222)

Versão da API API versão 2016-01-01197

Page 204: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Tarefa Documentação relevante

Aplicação de configurações de tarefa

Cada tarefa tem configurações quepodem ser definidas de acordo com asnecessidades da migração do banco dedados. Crie essas configurações em umarquivo JSON ou, no caso de algumasconfigurações, especifique-as usando oconsole do AWS DMS.

Especificar configurações de tarefas do AWS DatabaseMigration Service (p. 207)

Validação de dados

A validação de dados é umaconfiguração de tarefa que você podeusar para que o AWS DMS compare osdados no datastore de destino com osdados do datastore de origem.

Validação de tarefas do AWS DMS (p. 252).

Modificação de uma tarefa

Quando uma tarefa é interrompida, épossível modificar as configuraçõesdela.

Modificação de uma tarefa (p. 225)

Recarregamento de tabelas durante umatarefa

Você poderá recarregar uma tabeladurante uma tarefa se ocorrer um errodurante sua execução.

Recarregamento de tabelas durante uma tarefa (p. 225)

Uso do mapeamento de tabela

O mapeamento de tabela usa váriostipos de regras para especificar a fontede dados, o schema de origem, osdados e as transformações que devemocorrer durante a tarefa.

Regras de seleçãoRegras de seleção e ações (p. 232)

Regras de transformaçãoRegras de transformação e ações (p. 233)

Aplicação de filtros

É possível usar filtros de origem paralimitar o número e o tipo de registrostransferidos da origem ao destino. Porexemplo, você pode especificar quesomente os funcionários localizadosna sede serão movidos para o bancode dados de destino. Os filtros sãoaplicados a uma coluna de dados.

Uso de filtros de origem (p. 238)

Monitoramento de uma tarefa

Há várias maneiras de obterinformações sobre o desempenho deuma tarefa e das tabelas usadas por ela.

Monitorar tarefas do AWS DMS (p. 242)

Versão da API API versão 2016-01-01198

Page 205: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar um relatório de avaliação de tarefa

Tarefa Documentação relevante

Managing Task Logs (Gerenciamento delogs de tarefas)

Você pode visualizar e excluir logs detarefas usando a API do AWS DMS ou aCLI da AWS.

Gerenciamento de logs de tarefas do AWS DMS (p. 249)

Criar um relatório de avaliação de tarefaO recurso de avaliação de tarefa identifica tipos de dados que podem não ser migrados corretamente.Durante a avaliação de uma tarefa, o AWS DMS lê o schema do banco de dados de origem e cria umalista de tipos de dados. Em seguida, ele compara essa lista com uma lista predefinida de tipos de dadosaceitos pelo AWS DMS. O AWS DMS cria um relatório em que você pode ver se a tarefa de migraçãocontém tipos de dados incompatíveis.

O relatório de avaliação de tarefas inclui um resumo que lista os tipos de dados incompatíveis e acontagem de colunas de cada um. Ele inclui uma lista de estruturas de dados em JSON para cada tipo dedados incompatível. Você pode usar o relatório para modificar os tipos de dados de origem e melhorar osucesso da migração.

Há dois níveis de tipos de dados incompatíveis. Os tipos de dados que são mostrados no relatório como"incompatíveis" não podem ser migrados. Os tipos de dados que são mostrados no relatório como"parcialmente compatíveis" podem ser convertidos em outro tipo de dados e não migrar como esperado.

Como exemplo, segue um exemplo de relatório de avaliação de tarefas.

{ "summary":{ "task-name":"test15", "not-supported":{ "data-type": [ "sql-variant" ], "column-count":3 }, "partially-supported":{ "data-type":[ "float8", "jsonb" ], "column-count":2 } }, "types":[ { "data-type":"float8", "support-level":"partially-supported", "schemas":[ { "schema-name":"schema1", "tables":[ { "table-name":"table1", "columns":[ "column1", "column2" ] },

Versão da API API versão 2016-01-01199

Page 206: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar um relatório de avaliação de tarefa

{ "table-name":"table2", "columns":[ "column3", "column4" ] } ] }, { "schema-name":"schema2", "tables":[ { "table-name":"table3", "columns":[ "column5", "column6" ] }, { "table-name":"table4", "columns":[ "column7", "column8" ] } ] } ] }, { "datatype":"int8", "support-level":"partially-supported", "schemas":[ { "schema-name":"schema1", "tables":[ { "table-name":"table1", "columns":[ "column9", "column10" ] }, { "table-name":"table2", "columns":[ "column11", "column12" ] } ] } ] } ]}

O relatório de avaliação de tarefas mais recente pode ser visualizadas na guia Avaliação, na páginaTarefas, no console AWS. O AWS DMS armazena relatórios de avaliação de tarefas anteriores em umbucket do Amazon S3. O nome do bucket do Amazon S3 está no seguinte formato.

dms-<customerId>-<customerDNS>

Versão da API API versão 2016-01-01200

Page 207: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

O relatório é armazenado no bucket, em uma pasta identificada com o nome da tarefa. O nome do arquivodo relatório é a data da avaliação no formato aaaa-mm-dd-hh-mm. Para visualizar e comparar relatórios deavaliação de tarefas anteriores, use o console do Amazon S3.

O AWS DMS também cria uma função do AWS Identity and Access Management (IAM) para permitiro acesso ao bucket do S3; o nome da função é dms-access-for-tasks. A função usa a políticaAmazonDMSRedshiftS3Role.

Você pode ativar o recurso de avaliação de tarefas usando o console AWS, o AWS CLI ou a API do DMS:

• No console, escolha Avaliação de tarefas ao criar ou modificar uma tarefa. Para visualizar o relatório deavaliação de tarefas usando o console, escolha a tarefa na página Tarefas e escolha a guia Resultadosda avaliação, na seção de detalhes.

• Os comandos CLI são start-replication-task-assessment para iniciar uma avaliação de tarefa,e describe-replication-task-assessment-results para receber a avaliação de tarefa noformato JSON.

• A API do AWS DMS usa a ação StartReplicationTaskAssessment para iniciar uma avaliação detarefa, e a ação DescribeReplicationTaskAssessment para receber o relatório de avaliação detarefas no formato JSON.

Criar uma tarefaHá várias ações a realizar para criar uma tarefa de migração do AWS DMS:

• Antes de criar uma tarefa de migração, crie um endpoint de origem, um endpoint de destino e umainstância de replicação.

• Selecione um método de migração:• Migração de dados para o banco de dados de destino – este processo cria arquivos ou tabelas no

banco de dados de destino, define automaticamente os metadados necessários no destino e preencheas tabelas com dados da origem. Os dados das tabelas são carregados em paralelo para melhorar aeficiência. Esse processo é a opção Migrate existing data no console da AWS e se chama Full Loadna API.

• Captura de alterações durante a migração – este processo captura alterações no banco de dados deorigem que ocorrem enquanto os dados são migrados da origem para o destino. Quando a migraçãodos dados solicitados originalmente for concluída, o processo de captura de dados de alteração (CDC)aplicará as alterações capturadas ao banco de dados de destino. As alterações são capturadas eaplicadas como unidades de transações confirmadas únicas, e várias tabelas de destino diferentespodem ser atualizadas como uma única confirmação de origem. Essa abordagem garante integridadetransacional no banco de dados de destino. Esse processo é a opção Migrate existing data andreplicate ongoing changes no console da AWS e se chama full-load-and-cdc na API.

• Replicação apenas de alterações de dados no banco de dados de origem – este processo lê o arquivode log de recuperação do sistema de gerenciamento do banco de dados de origem (DBMS) e agrupaas entradas de cada transação. Se o AWS DMS não conseguir aplicar alterações ao destino em umtempo razoável (por exemplo, se o destino não for acessível), ele fará o buffer das alterações noservidor de replicação pelo tempo que for necessário. Ele não relê os logs do DBMS de origem, quepode demorar muito tempo. Esse processo é a opção Replicate data changes only no console doAWS DMS.

• Determine como a tarefa deve lidar com grandes objetos binários (LOBs) na origem. Para obter maisinformações, consulte Configuração de suporte a LOB para bancos de dados de origem na tarefa doAWS DMS (p. 221).

• Especifique as configurações da tarefa de migração. Elas incluem configurar o registro em log,especificar quais dados são gravados na tabela de controle de migração, como os erros sãoprocessados, entre outras configurações. Para obter mais informações sobre as configurações detarefas, consulte Especificar configurações de tarefas do AWS Database Migration Service (p. 207).

Versão da API API versão 2016-01-01201

Page 208: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

• Configure o mapeamento da tabela para definir regras para selecionar e filtrar os dados que você estámigrando. Para obter mais informações sobre o mapeamento de tabela, consulte Uso do mapeamentode tabela para especificar as configurações da tarefa (p. 227). Antes de especificar o mapeamento,analise a seção da documentação sobre o mapeamento de tipo de dados do banco de dados de origeme de destino.

É possível escolher iniciar uma tarefa assim que terminar de especificar as informações sobre ela napágina Create task ou iniciar a tarefa na página do painel assim que terminar de especificar essasinformações.

O procedimento a seguir supõe que você tenha escolhido o assistente de console do AWS DMS eespecificado informações sobre a instância de replicação e os endpoints usando o assistente de console.Observe que você também pode realizar esta etapa selecionando Tasks, no painel de navegação doconsole do AWS DMS, e Create task.

Como criar uma tarefa de migração

1. Na página Create Task, especifique as opções de tarefa. A tabela a seguir descreve as configurações.

Para esta opção Faça o seguinte

Task name Digite um nome para a tarefa.

Task description Digite uma descrição para a tarefa.

Source endpoint Exibe o endpoint de origem que será utilizado.

Versão da API API versão 2016-01-01202

Page 209: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

Para esta opção Faça o seguinte

Target endpoint Exibe o endpoint de destino que será utilizado.

Replication instance Exibe a instância de replicação que será utilizada.

Migration type Escolha o método de migração que deseja usar. Vocêpode escolher que apenas os dados existentes sejammigrados para o banco de dados de destino ou que asalterações contínuas sejam enviadas para o banco dedados de destino além dos dados migrados.

Start task on create Quando esta opção estiver selecionada, a tarefa começaráassim for criada.

2. Selecione a guia Task Settings, mostrada a seguir, e especifique valores para tabela de destino,suporte a LOB e habilitação de registro. As configurações de tarefa mostradas dependem do valorselecionado de Migration type. Por exemplo, ao selecionar Migrate existing data, as seguintes opçõessão exibidas:

Para esta opção Faça o seguinte

Target table preparation mode Do nothing (Não executar nenhuma ação) – no modoDo nothing (Não executar nenhuma ação), o AWS DMSpressupõe que as tabelas de destino foram pré-criadas nodestino. Se a migração é uma carga total ou carga totalmais CDC, é necessário garantir que as tabelas de destinoestão vazias antes de iniciar a migração. O modo Donothing (Não executar nenhuma ação) será uma escolhaadequada para tarefas somente CDC quando as tabelasde destino forem pré-aterradas da origem e a replicaçãocontínua for aplicada para manter a origem e o destino emsincronia. Você pode usar a Schema Conversion Tool daAWS (AWS SCT) para pré-criar tabelas de destino.

Drop tables on target (Descartar tabelas no destino) – nomodo Drop tables on target (Descartar tabelas no destino),o AWS DMS descarta as tabelas de destino e recria elasantes de iniciar a migração. Isso garante que as tabelas

Versão da API API versão 2016-01-01203

Page 210: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

Para esta opção Faça o seguintede destino estejam vazias quando a migração começar.O AWS DMS cria apenas os objetos necessários paramigrar com eficiência os dados: tabelas, chaves primáriase, em alguns casos, índices exclusivos. O AWS DMS nãocria índices secundários, restrições de chave não primáriaou padrões de dados de coluna. Se estiver executandouma tarefa de carga total mais CDC ou somente CDC,recomendamos que você pause a migração e crie índicessecundários que oferecem suporte à filtragem parainstruções de atualização e exclusão.

Talvez seja necessário executar algumas configuraçõesno banco de dados de destino ao usar o modo Drop tableson target (Descartar tabelas no destino). Por exemplo,para um destino Oracle, o AWS DMS não pode criar umesquema (usuário de banco de dados) por motivos desegurança. Nesse caso, é necessário pré-criar o usuáriode esquema para que o AWS DMS possa criar as tabelasquando a migração começar. Para a maioria dos outrostipos de destino, o AWS DMS cria o esquema e todas astabelas associadas com os parâmetros de configuraçãoadequados.

Truncate (Truncar) – no modo Truncate (Truncar), oAWS DMS trunca todas as tabelas de destino antesde a migração começar. O modo Truncate (Truncar) éadequado para migrações de carga total ou carga totalmais CDC em que o esquema de destino foi pré-criadoantes de a migração começar. Você pode usar a SchemaConversion Tool da AWS (AWS SCT) para pré-criartabelas de destino.

Include LOB columns in replication Don't include LOB columns (Não incluir colunas de LOB) –as colunas de LOB são excluídas da migração.

Full LOB mode - migra LOBs completos,independentemente do tamanho. O AWS DMS migraLOBs por partes, em blocos controlados pelo parâmetroMax LOB size (Tamanho máximo de LOB). Esse modoé mais lento que usar o Limited LOB mode (Modo LOBlimitado).

Limited LOB mode (Modo LOB limitado) – trunca LOBs deacordo com o valor do parâmetro Max LOB size (Tamanhomáximo de LOB). Esse modo é mais rápido que usar o FullLOB mode (Modo LOB total).

Max LOB size (kb) Em Limited LOB Mode (Modo LOB limitado), as colunas deLOB que ultrapassam o Max LOB size (Tamanho máximode LOB) são truncadas no tamanho de LOB máximoespecificado.

Ativar a validação Ativa a validação de dados para verificar se eles sãomigrados corretamente da origem para o destino. Paraobter mais informações, consulte Validação de tarefas doAWS DMS (p. 252).

Versão da API API versão 2016-01-01204

Page 211: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

Para esta opção Faça o seguinte

Enable logging Habilita o registro pelo Amazon CloudWatch.

Ao selecionar Migrate existing data and replicate, em Migration type, as seguintes opções sãoexibidas:

Para esta opção Faça o seguinte

Target table preparation mode Do nothing - os dados e metadados das tabelas de destinonão são alterados.

Drop tables on target - as tabelas são abandonadas enovas tabelas são criadas no lugar.

Truncate - as tabelas são truncadas sem afetar osmetadados delas.

Versão da API API versão 2016-01-01205

Page 212: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCriar uma tarefa

Para esta opção Faça o seguinte

Stop task after full load completes Don't stop - não interrompe a tarefa. Aplica alteraçõesarmazenadas em cache imediatamente e prossegue.

Stop before applying cached changes - interrompe a tarefaantes da aplicação de alterações armazenadas em cache.Isso permitirá que você adicione índices secundários quepodem acelerar a aplicação de alterações.

Stop after applying cached changes - interrompe a tarefaapós as alterações armazenadas em cache terem sidoaplicadas. Isso permitirá que você adicione chavesexternas, triggers, etc., se estiver usando TransactionalApply.

Include LOB columns in replication Don't include LOB columns - as colunas de LOB serãoexcluídas da migração.

Full LOB mode - migra LOBs completos,independentemente do tamanho. LOBs são migrados porpartes, em blocos controlados de acordo com o tamanho.Este método é mais lento que Limited LOB Mode.

Limited LOB mode - trunca LOBs no "tamanho máximo deLOB". Este método é mais rápido que Full LOB Mode.

Max LOB size (kb) Em Limited LOB Mode, as colunas de LOB queultrapassam o tamanho máximo de LOB são truncadas notamanho de LOB máximo especificado.

Ativar a validação Ativa a validação de dados para verificar se eles sãomigrados corretamente da origem para o destino. Paraobter mais informações, consulte Validação de tarefas doAWS DMS (p. 252).

Enable logging Habilita o registro pelo Amazon CloudWatch.

3. Selecione a guia Table mappings, mostrada a seguir, para definir valores para o mapeamento deschema e o método de mapeamento. Se você escolher Custom, poderá especificar o schema dedestino e valores de tabela. Para obter mais informações sobre o mapeamento de tabela, consulteUso do mapeamento de tabela para especificar as configurações da tarefa (p. 227).

4. Assim que tiver terminado as configurações de tarefa, selecione Create task.

Versão da API API versão 2016-01-01206

Page 213: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Especificar configurações de tarefas do AWSDatabase Migration ServiceCada tarefa tem configurações que podem ser definidas de acordo com as necessidades da migração dobanco de dados. Crie essas configurações em um arquivo JSON ou, no caso de algumas configurações,especifique-as usando o console do AWS DMS.

Há vários tipos principais de configurações de tarefa:

Tópicos• Configurações de tarefa de metadados de destino (p. 210)• Configurações de tarefa de carregamento completo (p. 211)• Configurações de registro de tarefa (p. 211)• Configurações de tarefa de tabela de controle (p. 212)• Configurações de tarefas de buffer de fluxo (p. 215)• Configurações de ajuste de processamento de alterações (p. 215)• Configurações da tarefa de validação de dados (p. 216)• Configurações de tarefa de política de identificação de DDL de processamento de alterações (p. 217)• Configurações de tarefa de manipulação de erros (p. 217)• Salvamento de configurações de tarefa (p. 219)

Configurações de tarefa Documentação relevante

Criar um relatório de avaliação de tarefa

Você pode criar um relatório deavaliação de tarefa que mostre os tiposde dados incompatíveis, que podemcausar problemas durante a migração.Você pode executar esse relatóriona tarefa antes de executá-la, paradescobrir possíveis problemas.

Criar um relatório de avaliação de tarefa (p. 199)

Criar uma tarefa

Quando você cria uma tarefa, especificaa origem, o destino e a instância dereplicação, juntamente com todas asconfigurações de migração.

Criar uma tarefa (p. 201)

Creating an Ongoing Replication Task(Criar uma tarefa de replicação contínua)

Você pode configurar uma tarefa parafornecer replicação contínua entre aorigem e o destino.

Criação de tarefas para replicação contínua usando o AWSDMS (p. 222)

Aplicação de configurações de tarefa

Cada tarefa tem configurações quepodem ser definidas de acordo com asnecessidades da migração do banco dedados. Crie essas configurações em um

Especificar configurações de tarefas do AWS DatabaseMigration Service (p. 207)

Versão da API API versão 2016-01-01207

Page 214: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Configurações de tarefa Documentação relevantearquivo JSON ou, no caso de algumasconfigurações, especifique-as usando oconsole do AWS DMS.

Validação de dados

A validação de dados é umaconfiguração de tarefa que você podeusar para que o AWS DMS compare osdados no datastore de destino com osdados do datastore de origem.

Validação de tarefas do AWS DMS (p. 252).

Modificação de uma tarefa

Quando uma tarefa é interrompida, épossível modificar as configuraçõesdela.

Modificação de uma tarefa (p. 225)

Recarregamento de tabelas durante umatarefa

Você poderá recarregar uma tabeladurante uma tarefa se ocorrer um errodurante sua execução.

Recarregamento de tabelas durante uma tarefa (p. 225)

Uso do mapeamento de tabela

O mapeamento de tabela usa váriostipos de regras para especificar asconfigurações da tarefa da fonte dedados, os dados do esquema de origeme as transformações que devem ocorrerdurante a tarefa.

Regras de seleçãoRegras de seleção e ações (p. 232)

Regras de transformaçãoRegras de transformação e ações (p. 233)

Aplicação de filtros

É possível usar filtros de origem paralimitar o número e o tipo de registrostransferidos da origem ao destino. Porexemplo, você pode especificar quesomente os funcionários localizadosna sede serão movidos para o bancode dados de destino. Os filtros sãoaplicados a uma coluna de dados.

Uso de filtros de origem (p. 238)

Monitoramento de uma tarefa

Há várias maneiras de obterinformações sobre o desempenho deuma tarefa e das tabelas usadas por ela.

Monitorar tarefas do AWS DMS (p. 242)

Managing Task Logs (Gerenciamento delogs de tarefas)

Você pode visualizar e excluir logs detarefas usando a API do AWS DMS ou aCLI da AWS.

Gerenciamento de logs de tarefas do AWS DMS (p. 249)

Versão da API API versão 2016-01-01208

Page 215: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Um arquivo JSON de configurações de tarefas pode ter a seguinte aparência:

{ "TargetMetadata": { "TargetSchema": "", "SupportLobs": true, "FullLobMode": false, "LobChunkSize": 64, "LimitedSizeLobMode": true, "LobMaxSize": 32, "BatchApplyEnabled": true }, "FullLoadSettings": { "TargetTablePrepMode": "DO_NOTHING", "CreatePkAfterFullLoad": false, "StopTaskCachedChangesApplied": false, "StopTaskCachedChangesNotApplied": false, "MaxFullLoadSubTasks": 8, "TransactionConsistencyTimeout": 600, "CommitRate": 10000 }, "Logging": { "EnableLogging": false }, "ControlTablesSettings": { "ControlSchema":"", "HistoryTimeslotInMinutes":5, "HistoryTableEnabled": false, "SuspendedTablesTableEnabled": false, "StatusTableEnabled": false }, "StreamBufferSettings": { "StreamBufferCount": 3, "StreamBufferSizeInMB": 8 }, "ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }, "ChangeProcessingDdlHandlingPolicy": { "HandleSourceTableDropped": true, "HandleSourceTableTruncated": true, "HandleSourceTableAltered": true }, "ValidationSettings": { "EnableValidation": false, "ThreadCount": 5 }, "ErrorBehavior": { "DataErrorPolicy": "LOG_ERROR", "DataTruncationErrorPolicy":"LOG_ERROR", "DataErrorEscalationPolicy":"SUSPEND_TABLE", "DataErrorEscalationCount": 50, "TableErrorPolicy":"SUSPEND_TABLE", "TableErrorEscalationPolicy":"STOP_TASK", "TableErrorEscalationCount": 50,

Versão da API API versão 2016-01-01209

Page 216: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

"RecoverableErrorCount": 0, "RecoverableErrorInterval": 5, "RecoverableErrorThrottling": true, "RecoverableErrorThrottlingMax": 1800, "ApplyErrorDeletePolicy":"IGNORE_RECORD", "ApplyErrorInsertPolicy":"LOG_ERROR", "ApplyErrorUpdatePolicy":"LOG_ERROR", "ApplyErrorEscalationPolicy":"LOG_ERROR", "ApplyErrorEscalationCount": 0, "FullLoadIgnoreConflicts": true }}

Configurações de tarefa de metadados de destinoVeja as configurações de metadados de destino:

• TargetSchema – o nome do schema da tabela de destino. Se essa opção de metadados estiver vazia,o schema da tabela de origem será utilizado. O AWS DMS adiciona automaticamente o prefixo doproprietário do banco de dados de destino a todas as tabelas se não houver schema de origem definido.Essa opção deve ficar vazia para endpoints de destino do tipo MySQL.

• LOB settings – configurações que determinam como objetos grandes (LOBs) são gerenciados. Sevocê definir SupportLobs=true, deverá definir um dos seguintes como true:• FullLobMode – se você definir esta opção como true, deverá inserir um valor para a opçãoLobChunkSize. Insira o tamanho, em kilobytes, dos blocos de LOB a serem usados durante areplicação dos dados para o destino. A opção FullLobMode funciona melhor para tamanhos de LOBmuito grandes, mas costuma deixar o carregamento mais lento.

• LimitedSizeLobMode – se você definir esta opção como true, deverá inserir um valor para aopção LobMaxSize. Insira o tamanho máximo, em kilobytes, de um LOB individual.

• LoadMaxFileSize – uma opção para endpoints de destino PostgreSQL e MySQL que define otamanho máximo em disco de dados armazenados e não carregados, como arquivos CSV. Essa opçãosubstitui o atributo de conexão. Você pode fornecer valores de 0, que indica que essa opção nãosubstitui o atributo de conexão, a 100.000 KB.

• BatchApplyEnabled – determina se cada transação é aplicada individualmente ou se as alteraçõessão confirmadas em lotes. O valor padrão é false.

O parâmetro BatchApplyEnabled é usado em conjunto com o parâmetroBatchApplyPreserveTransaction. Se BatchApplyEnabled estiver definido como true, oparâmetro BatchApplyPreserveTransaction determinará a integridade transacional.

Se BatchApplyPreserveTransaction estiver definido como true, a integridade transacional serápreservada e será garantido que um lote contenha todas as alterações dentro de uma transação daorigem.

Se BatchApplyPreserveTransaction estiver definido como false, poderá haver lapsostemporários na integridade transacional para melhorar o desempenho.

O parâmetro BatchApplyPreserveTransaction se aplica apenas aos endpoints de destino Oracle,e só será relevante quando o parâmetro BatchApplyEnabled estiver definido como true.

Quando as colunas de LOB estão incluídas na replicação, BatchApplyEnabledsó pode ser usado emLimited-size LOB mode.

• ParallelLoadThreads – Especifica o número de threads que o AWS DMS usa para carregar cadatabela no banco de dados de destino. O valor máximo para um destino do MySQL é 16; o valor máximopara um destino do DynamoDB é 32. O limite máximo pode ser aumentado mediante solicitação.

Versão da API API versão 2016-01-01210

Page 217: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

• ParallelLoadBufferSize – Especifica o número máximo de registros para armazenar em bufferusado pelos threads paralelos para carregar dados no destino. O valor padrão é 50. Valor máximo de1000. Este campo atualmente é válido somente quando o DynamoDB é o destino. Esse parâmetro deveser usado em conjunto com ParallelLoadThreads e é válido apenas quando ParallelLoadThreads >1.

Configurações de tarefa de carregamento completoAs configurações de carregamento completo incluem o seguinte:

• Para indicar como manusear o carregamento do destino em uma inicialização de carregamentocompleto, especifique um dos seguintes valores para a opção TargetTablePrepMode:• DO_NOTHING – os dados e metadados da tabela de destino existente não são afetados.• DROP_AND_CREATE – a tabela existente é abandonada e uma nova tabela é criada em seu lugar.• TRUNCATE_BEFORE_LOAD – os dados são truncados sem afetar os metadados da tabela.

• Para atrasar a criação de uma chave primária ou um índice único para depois da conclusão docarregamento completo, defina a opção CreatePkAfterFullLoad. Quando essa opção estiverselecionada, você não poderá retomar tarefas incompletas de carregamento completo.

• Para tarefas com CDC e carregamento completo habilitados, defina as seguintes opções Stop taskafter full load completes:• StopTaskCachedChangesApplied – defina esta opção como true para interromper uma tarefa

após um carregamento completo ser concluído e as alterações em cache serem aplicadas.• StopTaskCachedChangesNotApplied – defina esta opção como true para interromper uma

tarefa antes que as alterações em cache sejam aplicadas.• MaxFullLoadSubTasks – Defina essa opção para indicar o número máximo de tabelas a serem

carregadas em paralelo. O padrão é 8; o valor máximo é 50.• Ao configurar o número de segundos que o AWS DMS aguarda para as transações serem encerradas

antes de iniciar uma operação de carregamento completo, se as transações estiverem abertas quando atarefa iniciar, defina a opção TransactionConsistencyTimeout. O valor padrão é 600 (10 minutos).O AWS DMS começa o carregamento completo após o valor do tempo limite ser atingido, mesmo quehaja transações abertas. Uma tarefa de carga total não aguarda 10 minutos. Ela começa imediatamente.

• Para indicar o número máximo de eventos que podem ser transferidos juntos, defina a opçãoCommitRate.

Configurações de registro de tarefaAs configurações de registro de tarefa são gravadas em um arquivo JSON e permitem que vocêespecifique as atividades de componente que estão registradas e a quantidade de informações que estáregistrada no log. O recurso de registro usa o Amazon CloudWatch para registrar informações durante oprocesso de migração.

Há várias maneiras de habilitar o registro do Amazon CloudWatch. Selecione a opção EnableLogging,no Console de Gerenciamento da AWS, ao criar a tarefa de migração ou defina a opção EnableLoggingcomo true ao criar uma tarefa usando a API do AWS DMS. Você também pode especificar"EnableLogging": true no JSON da seção de registro de configurações de tarefa.

Para excluir logs de tarefas, você pode especificar "DeleteTaskLogs": true no JSON da seção deregistro em log das configurações de tarefas.

É possível especificar o registro das seguintes atividades de componente:

• SOURCE_UNLOAD — dados não são carregados do banco de dados de origem.• SOURCE_CAPTURE — dados são capturados do banco de dados de origem.

Versão da API API versão 2016-01-01211

Page 218: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

• TARGET_LOAD — dados são carregados no banco de dados de destino.• TARGET_APPLY — dados e DDL são aplicados ao banco de dados de destino.• TASK_MANAGER — o gerenciador de tarefas aciona um evento.

Quando você especifica uma atividade de componente, pode especificar a quantidade de informaçõesregistradas. A lista a seguir está em ordem do menor nível de informações para o maior nível deinformações. Os níveis mais altos sempre incluem informações dos níveis mais baixos. Esses valores deseveridade incluem:

• LOGGER_SEVERITY_ERROR — mensagens de erro são registradas no log.• LOGGER_SEVERITY_WARNING — avisos e mensagens de erro são registrados no log.• LOGGER_SEVERITY_INFO — mensagens informativas, mensagens de erro e avisos são registrados no

log.• LOGGER_SEVERITY_DEFAULT — mensagens informativas, avisos e mensagens de erro são

registrados no log.• LOGGER_SEVERITY_DEBUG — mensagens de depuração, mensagens informativas, mensagens de

erro e avisos são registrados no log.• LOGGER_SEVERITY_DETAILED_DEBUG — todas as informações são registradas no log.

Por exemplo, a próxima seção do JSON fornece configurações de tarefa para registrar todas as atividadesde componente:

… "Logging": { "EnableLogging": true, "LogComponents": [{ "Id": "SOURCE_UNLOAD", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "SOURCE_CAPTURE", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "TARGET_LOAD", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "TARGET_APPLY", "Severity": "LOGGER_SEVERITY_INFO" },{ "Id": "TASK_MANAGER", "Severity": "LOGGER_SEVERITY_DEBUG" }] }, …

Configurações de tarefa de tabela de controleAs tabelas de controle fornecem informações sobre a tarefa do AWS DMS, bem como estatísticasúteis que você pode usar para planejar e gerenciar tarefas de migração atuais e futuras. Aplique essasconfigurações de tarefa em um arquivo JSON ou use o link Advanced Settings, na página Create task, noconsole do AWS DMS. Além da tabela Aplicar exceções (dmslogs.awsdms_apply_exceptions), que sempreestá criada, você pode optar por criar tabelas adicionais como:

• Status de replicação (dmslogs.awsdms_status) – esta tabela fornece detalhes sobre a tarefa atual,incluindo o status, a quantidade de memória consumida, o número de alterações ainda não aplicadasao destino e a posição no banco de dados de origem de onde o AWS DMS está fazendo a leitura no

Versão da API API versão 2016-01-01212

Page 219: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

momento. Ela também indica se a tarefa é um carregamento completo ou uma captura de dados dealteração (CDC).

• Tabelas suspensas (dmslogs.awsdms_suspended_tables) – esta tabela fornece uma lista de tabelassuspensas e o motivo por que foram suspensas.

• Histórico de replicação (dmslogs.awsdms_history) – esta tabela fornece informações sobre o histórico dereplicação, incluindo o número e o volume de registros processados durante a tarefa, a latência no finalde uma tarefa de CDC e outras estatísticas.

A tabela Aplicar exceções (dmslogs.awsdms_apply_exceptions) contém os seguintes parâmetros:

Coluna Tipo Descrição

TASK_NAME nvchar O nome da tarefa do AWS DMS.

TABLE_OWNER nvchar O proprietário da tabela.

TABLE_NAME nvchar O nome da tabela.

ERROR_TIME timestamp A hora em que a exceção (erro)ocorreu.

STATEMENT nvchar A declaração que estava sendoexecutada quando o erro ocorreu.

ERROR nvchar O nome e a descrição do erro.

A tabela Histórico de replicação (dmslogs.awsdms_history) contém os seguintes parâmetros:

Coluna Tipo Descrição

SERVER_NAME nvchar O nome da máquina onde a tarefa dereplicação está sendo executada.

TASK_NAME nvchar O nome da tarefa do AWS DMS.

TIMESLOT_TYPE varchar Um dos seguintes valores:

• FULL LOAD• CHANGE PROCESSING (CDC)

Se a tarefa estiver executando tantocarregamento total quanto CDC,dois registros de histórico serãoregistrados no slot de tempo.

TIMESLOT timestamp O timestamp de término no slot detempo.

TIMESLOT_DURATION int A duração do slot de tempo.

TIMESLOT_LATENCY int A latência de destino no final do slotde tempo. Esse valor só é aplicável aslots de tempo CDC.

RECORDS int O número de registros processadosdurante o slot de tempo.

Versão da API API versão 2016-01-01213

Page 220: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Coluna Tipo Descrição

TIMESLOT_VOLUME int O volume de dados processados emMB.

A tabela Status de replicação (dmslogs.awsdms_status) contém o status atual da tarefa e do banco dedados de destino. Ela possui as seguintes configurações:

Coluna Tipo Descrição

SERVER_NAME nvchar O nome da máquina onde a tarefa dereplicação está sendo executada.

TASK_NAME nvchar O nome da tarefa do AWS DMS.

TASK_STATUS varchar Um dos seguintes valores:

• FULL LOAD• CHANGE PROCESSING (CDC)

O status da tarefa é definido comoFULL LOAD desde que haja pelomenos uma tabela em carregamentototal. Após todas as tabelas seremcarregadas, o status da tarefaserá alterado para CHANGEPROCESSING se CDC estiverhabilitado.

STATUS_TIME timestamp O timestamp do status da tarefa.

PENDING_CHANGES int O número de registros de alteraçõesque não foram aplicadas ao destino.

DISK_SWAP_SIZE int A quantidade de espaço em discousada por transações antigas oudescarregadas.

TASK_MEMORY int Memória atual utilizada em MB.

SOURCE_CURRENT

_POSITION

varchar A posição no banco de dados deorigem de onde o AWS DMS estáfazendo a leitura no momento.

SOURCE_CURRENT

_TIMESTAMP

timestamp O timestamp no banco de dados deorigem de onde o AWS DMS estáfazendo a leitura no momento.

SOURCE_TAIL

_POSITION

varchar A posição da transação de iníciomais antigo que ainda não estáconfirmada. Esse valor é a posiçãomais recente para a qual é possívelreverter sem perder alterações.

SOURCE_TAIL

_TIMESTAMP

timestamp O timestamp da transação de iníciomais antiga que ainda não está

Versão da API API versão 2016-01-01214

Page 221: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Coluna Tipo Descriçãoconfirmada. Esse valor é o timestampmais recente para o qual é possívelreverter sem perder alterações.

SOURCE_TIMESTAMP

_APPLIED

timestamp O timestamp da última confirmaçãode transação. Em um processo deaplicação em lote, esse valor é otimestamp da confirmação da últimatransação no lote.

Veja a seguir as configurações adicionais de tabela de controle:

• ControlSchema – use esta opção para indicar o nome do schema do banco de dados das tabelasde controle de destino do AWS DMS. Se você não inserir informações neste campo, as tabelas serãocopiadas para o local padrão no banco de dados.

• HistoryTimeslotInMinutes – use esta opção para indicar o tamanho de cada slot de tempo natabela Histórico de replicação. O padrão é 5 minutos.

Configurações de tarefas de buffer de fluxoVocê pode definir as configurações de buffer de fluxo usando o AWS CLI, incluindo o seguinte:

• StreamBufferCount – use esta opção para especificar o número de buffers de fluxo de dados paraa tarefa de migração. O número de buffer de fluxo padrão é 3. Aumentar o valor dessa configuraçãopode aumentar a velocidade de extração de dados. Contudo, esse aumento de desempenho dependealtamente do ambiente de migração, incluindo o sistema de origem e a classe da instância do servidorde replicação. O padrão é suficiente na maioria de situações.

• StreamBufferSizeInMB – use esta opção para indicar o tamanho máximo de cada buffer de fluxo dedados. O tamanho padrão é 8 MB. Pode ser necessário aumentar o valor dessa opção ao trabalhar comLOBs muito grandes ou ao receber uma mensagem nos arquivos de log indicando que o tamanho dobuffer de fluxo é insuficiente. Ao calcular o tamanho dessa opção, use a seguinte equação: [Tamanhomáximo do LOB (ou tamanho do bloco de LOB)]*[número de colunas de LOB]*[número de buffers defluxo]*[número de tabelas sendo carregadas em paralelo por tarefa (MaxFullLoadSubTasks)]*3

• CtrlStreamBufferSizeInMB – use esta opção para definir o tamanho do buffer de fluxo de controle.O valor é em MB e pode ser de 1 a 8. O valor padrão é 5. Pode ser necessário aumentá-lo ao trabalharcom um número muito grande de tabelas, como dezenas de milhares de tabelas.

Configurações de ajuste de processamento de alteraçõesAs seguintes configurações determinam como o AWS DMS manipula alterações de tabelas de destinodurante a captura de dados de alteração (CDC). Várias dessas configurações dependem do valor doparâmetro de metadados de destino BatchApplyEnabled. Para obter mais informações sobre oparâmetro BatchApplyEnabled, consulte Configurações de tarefa de metadados de destino (p. 210).

Veja a seguir as configurações de ajuste do processamento de alterações:

As seguintes configurações aplicam-se somente quando o parâmetro de metadados de destinoBatchApplyEnabled está definido como true.

• BatchApplyPreserveTransaction – se definido como true, a integridade transacional épreservada e é garantido que um lote contenha todas as alterações dentro de uma transação da origem.O valor padrão é true. Essa configuração se aplica apenas a endpoints de destino da Oracle.

Versão da API API versão 2016-01-01215

Page 222: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Se definido como false, pode haver lapsos temporários na integridade para melhorar o desempenho.Não há garantia de que todas as alterações em uma transação da origem serão aplicadas ao destino emum único lote.

• BatchApplyTimeoutMin – define a quantidade de tempo mínima em segundos que o AWS DMSaguarda entre cada aplicação de alterações em lote. O valor padrão é 1.

• BatchApplyTimeoutMax – define a quantidade de tempo máxima em segundos que o AWS DMSaguarda entre cada aplicação de alterações em lote antes de o tempo terminar. O valor padrão é 30.

• BatchApplyMemoryLimit – define a quantidade máxima de memória em MB a ser usada noprocessamento em Batch optimized apply mode. O valor padrão é 500.

• BatchSplitSize – define o número máximo de alterações aplicadas em um único lote. O valor padrãoé 0, o que significa que não há limite aplicado.

As seguintes configurações aplicam-se somente quando o parâmetro de metadados de destinoBatchApplyEnabled está definido como false.

• MinTransactionSize – define o número mínimo de alterações a serem incluídas em cada transação.O valor padrão é 1000.

• CommitTimeout – define a quantidade de tempo máxima em segundos para o AWS DMS coletartransações em lotes antes de o tempo acabar. O valor padrão é 1.

• HandleSourceTableAltered – defina esta opção como true para alterar a tabela de destino quandoa tabela de origem for alterada.

O AWS DMS tenta manter os dados de transação na memória até que a transação esteja totalmenteconfirmada na origem e/ou no destino. Contudo, as transações maiores que a memória alocada ou nãoconfirmadas dentro do limite de tempo especificado são gravadas no disco.

As seguintes configurações aplicam-se ao ajuste de processamento de alterações, independentemente domodo de processamento de alterações.

• MemoryLimitTotal – define o tamanho máximo em MB que todas as transações podem ocupar namemória antes de serem gravadas no disco. O valor padrão é 1024.

• MemoryKeepTime – define o tempo máximo em segundos que cada transação pode permanecer namemória antes de ser gravada no disco. A duração é calculada a partir do momento em que o AWSDMS inicia a captura da transação. O valor padrão é 60.

• StatementCacheSize – define o número máximo de declarações preparadas a serem armazenadasno servidor para execução posterior ao aplicar alterações ao destino. O valor padrão é 50. O valormáximo é 200.

Configurações da tarefa de validação de dadosVocê pode verificar se seus dados foram migrados com precisão da origem para o destino. Quando vocêo ativa para uma tarefa, o AWS DMS começa a comparar os dados de origem e destino imediatamentedepois que o carregamento total de uma tabela é feito. Para obter mais informações sobre a validação dedados, consulte Validação de tarefas do AWS DMS (p. 252).

As configurações de validação de dados incluem o seguinte:

• Para ativar a validação de dados, defina a configuração EnableValidation como true.• Para ajustar o número de threads de execução que o AWS DMS usa durante a validação, defina o

valor ThreadCount. O valor padrão para ThreadCount é 5. Se você definir ThreadCount comoum número maior, o AWS DMS concluirá a validação mais rápido, porém executará mais consultassimultâneas, o que consumirá mais recursos na origem e no destino.

Versão da API API versão 2016-01-01216

Page 223: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Por exemplo, o seguinte JSON permite que a validação de dados:

"ValidationSettings": { "EnableValidation": true, "ThreadCount": 5 }

Para um endpoint da Oracle, o AWS DMS usa DBMS_CRYPTO para validar BLOBs. Se o endpoint daOracle usar BLOBs, você deverá conceder a permissão de execução em dbms_crypto para a conta deusuário que é usada para acessar esse endpoint. Para isso, execute a seguinte instrução:

grant execute on sys.dbms_crypto to <dms_endpoint_user>;

Configurações de tarefa de política de identificação de DDL deprocessamento de alteraçõesAs seguintes configurações determinam como o AWS DMS identifica alterações de DDL para tabelas dedestino durante a captura de dados de alteração (CDC). Veja a seguir as configurações de política deidentificação de DDL de processamento de alterações:

• HandleSourceTableDropped – defina esta opção como true para abandonar a tabela de destinoquando a tabela de origem for abandonada.

• HandleSourceTableTruncated – defina esta opção como true para truncar a tabela de destinoquando a tabela de origem for truncada.

• HandleSourceTableAltered – defina esta opção como true para alterar a tabela de destino quandoa tabela de origem for alterada.

Configurações de tarefa de manipulação de errosÉ possível definir o comportamento de processamento de erros da tarefa de replicação durante a capturade dados de alterações (CDC) usando as seguintes configurações:

• DataErrorPolicy – determina a ação que o AWS DMS realiza quando há um erro relacionado aoprocessamento de dados no nível de registro. Erros de conversão, erros de transformação e dados ruinssão alguns exemplos de erros de processamento de dados. O padrão é LOG_ERROR.• IGNORE_RECORD – a tarefa continua e os dados daquele registro são ignorados. O contador de erros

da propriedade DataErrorEscalationCount é incrementado de forma que se você definir umlimite de erros para uma tabela, esse erro entrará na conta do limite.

• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

• DataTruncationErrorPolicy – determina a ação que o AWS DMS realiza quando os dados estãotruncados. O padrão é LOG_ERROR.• IGNORE_RECORD – a tarefa continua e os dados daquele registro são ignorados. O contador de erros

da propriedade DataErrorEscalationCount é incrementado de forma que se você definir umlimite de erros para uma tabela, esse erro entrará na conta do limite.

• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

Versão da API API versão 2016-01-01217

Page 224: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

• DataErrorEscalationPolicy – determina a ação que o AWS DMS realiza quando o númeromáximo de erros (definido no parâmetro DataErrorsEscalationCount) é atingido. O padrão éSUSPEND_TABLE.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

• DataErrorEscalationCount – define o número máximo de erros que podem ocorrer nos dados deum registro específico. Quando esse número é atingido, os dados da tabela que contém o registro deerro são manipulados de acordo com a política definida em DataErrorEscalationCount. O padrão é0.

• TableErrorPolicy – determina a ação que o AWS DMS realiza quando um erro ocorre durante oprocessamento de dados ou metadados de uma tabela específica. Esse erro só se aplica a dados geraisda tabela e é relacionado a um registro específico. O padrão é SUSPEND_TABLE.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

• TableErrorEscalationPolicy – determina a ação que o AWS DMS realiza quando o númeromáximo de erros (definido usando o parâmetro TableErrorEscalationCount) é atingido. Aconfiguração de usuário padrão, e única, é STOP_TASK, onde a tarefa é interrompida e é necessáriaintervenção manual.

• TableErrorEscalationCount – o número máximo de erros que podem ocorrer devido a dados oumetadados gerais de uma tabela específica. Quando esse número é atingido, os dados da tabela sãomanipulados de acordo com a política definida em TableErrorEscalationPolicy. O padrão é 0.

• RecoverableErrorCount – o número máximo de tentativas feitas para reiniciar uma tarefa quandoum erro ambiental ocorre. Após o sistema tentar reiniciar a tarefa o número designado de vezes, elaserá interrompida e será necessária intervenção manual. O valor padrão é -1, que instrui o AWS DMSa tentar reiniciar a tarefa indefinidamente. Defina esse valor como 0 para nunca tentar reiniciar umatarefa. Se ocorrer um erro grave, o AWS DMS interromperá a tentativa de reinicialização da tarefa após6 tentativas.

• RecoverableErrorInterval – o número de segundos que o AWS DMS aguarda entre as tentativaspara reiniciar uma tarefa. O padrão é 5.

• RecoverableErrorThrottling – quando habilitado, o intervalo entre as tentativas de reiniciar umatarefa aumenta sempre que se tenta uma reinicialização. O padrão é true.

• RecoverableErrorThrottlingMax – o número máximo de segundos que o AWS DMS aguardaentre as tentativas de reiniciar uma tarefa caso RecoverableErrorThrottling esteja habilitado. Opadrão é 1800.

• ApplyErrorDeletePolicy – determina a ação que o AWS DMS realiza quando há um conflito comuma operação DELETE. O padrão é IGNORE_RECORD.• IGNORE_RECORD – a tarefa continua e os dados daquele registro são ignorados. O contador de erros

da propriedade ApplyErrorEscalationCount é incrementado de forma que se você definir umlimite de erros para uma tabela, esse erro entrará na conta do limite.

• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

• ApplyErrorInsertPolicy – determina a ação que o AWS DMS realiza quando há um conflito comuma operação INSERT. O padrão é LOG_ERROR.• IGNORE_RECORD – a tarefa continua e os dados daquele registro são ignorados. O contador de erros

da propriedade ApplyErrorEscalationCount é incrementado de forma que se você definir umlimite de erros para uma tabela, esse erro entrará na conta do limite.

• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.Versão da API API versão 2016-01-01

218

Page 225: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidospara um estado de erro e não são replicados.

• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.• INSERT_RECORD – se houver um registro de destino existente com a mesma chave primária que o

registro de origem inserido, o registro de destino será atualizado.• ApplyErrorUpdatePolicy – determina a ação que o AWS DMS realiza quando há um conflito com

uma operação UPDATE. O padrão é LOG_ERROR.• IGNORE_RECORD – a tarefa continua e os dados daquele registro são ignorados. O contador de erros

da propriedade ApplyErrorEscalationCount é incrementado de forma que se você definir umlimite de erros para uma tabela, esse erro entrará na conta do limite.

• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.• UPDATE_RECORD – se o registro de destino estiver ausente, ele será inserido em uma tabela de

destino. Selecionar essa opção requer que o registro suplementar total seja habilitado para todas ascolunas da tabela de origem quando o Oracle é o banco de dados de origem.

• ApplyErrorEscalationPolicy – determina a ação que o AWS DMS realiza quando o númeromáximo de erros (definido usando o parâmetro ApplyErrorsEscalationCount) é atingido.• LOG_ERROR – a tarefa continua e o erro é registrado no log de tarefas.• SUSPEND_TABLE – a tarefa continua, mas os dados da tabela com o registro de erro são movidos

para um estado de erro e não são replicados.• STOP_TASK – a tarefa é interrompida e é necessária intervenção manual.

• ApplyErrorEscalationCount – define o número máximo de conflitos APPLY que poderá ocorrerpara uma tabela específica durante uma operação de processo de alteração. Quando esse númeroé atingido, os dados da tabela são manipulados de acordo com a política definida no parâmetroApplyErrorEscalationPolicy. O padrão é 0.

• ApplyErrorFailOnTruncationDdl – Defina como true para que a tarefa falhe quando ocorrerum truncamento em uma das tabelas rastreadas durante a CDC. A mensagem de falha será: "DDL detruncamento detectado." O padrão é false.

Isso não funciona com PostgreSQL ou qualquer outro endpoint de origem que não replica o truncamentoda tabela de DDL.

• FailOnNoTablesCaptured – Defina como true para que uma tarefa falhe quando as regras detransformação definidas para uma tarefa não encontrarem tabelas assim que a tarefa começar. Opadrão é false.

• FailOnTransactionConsistencyBreached – Essa opção se aplica a tarefas que usam o Oraclecomo uma origem com CDC. Defina como true para fazer com que uma tarefa falhe quando umatransação permanecer aberta por um tempo maior do que o limite especificado e puder ser descartada.

Quando uma tarefa de CDC começa com Oracle, o AWS DMS aguarda um tempo limitado até que atransação aberta mais antiga seja fechada antes de iniciar a CDC. Se a transação aberta mais antiganão fechar até que o limite de tempo seja atingido, normalmente a CDC é iniciada assim mesmo,ignorando essa transação. se essa configuração for definida como true, a tarefa falhará.

• FulloadIgnoreConflicts – Defina como false para que o AWS DMS ignore erros de "nenhumalinha afetada" e "duplicatas" quando aplicar eventos em cache. Se definido como true, o AWS DMSreportará todos os erros, em vez de ignorá-los. O padrão é false.

Salvamento de configurações de tarefaÉ possível salvar as configurações de uma tarefa como um arquivo JSON caso você queira reutilizá-las emoutra tarefa.

Versão da API API versão 2016-01-01219

Page 226: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfigurações de tarefa

Por exemplo, o seguinte arquivo JSON contém as configurações salvas de uma tarefa:

{ "TargetMetadata": { "TargetSchema": "", "SupportLobs": true, "FullLobMode": false, "LobChunkSize": 64, "LimitedSizeLobMode": true, "LobMaxSize": 32, "BatchApplyEnabled": true }, "FullLoadSettings": { "TargetTablePrepMode": "DO_NOTHING", "CreatePkAfterFullLoad": false, "StopTaskCachedChangesApplied": false, "StopTaskCachedChangesNotApplied": false, "MaxFullLoadSubTasks": 8, "TransactionConsistencyTimeout": 600, "CommitRate": 10000 }, "Logging": { "EnableLogging": false }, "ControlTablesSettings": { "ControlSchema":"", "HistoryTimeslotInMinutes":5, "HistoryTableEnabled": false, "SuspendedTablesTableEnabled": false, "StatusTableEnabled": false }, "StreamBufferSettings": { "StreamBufferCount": 3, "StreamBufferSizeInMB": 8 }, "ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }, "ChangeProcessingDdlHandlingPolicy": { "HandleSourceTableDropped": true, "HandleSourceTableTruncated": true, "HandleSourceTableAltered": true }, "ErrorBehavior": { "DataErrorPolicy": "LOG_ERROR", "DataTruncationErrorPolicy":"LOG_ERROR", "DataErrorEscalationPolicy":"SUSPEND_TABLE", "DataErrorEscalationCount": 50, "TableErrorPolicy":"SUSPEND_TABLE", "TableErrorEscalationPolicy":"STOP_TASK", "TableErrorEscalationCount": 50, "RecoverableErrorCount": 0, "RecoverableErrorInterval": 5, "RecoverableErrorThrottling": true, "RecoverableErrorThrottlingMax": 1800,

Versão da API API versão 2016-01-01220

Page 227: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfiguração do suporte a LOB

"ApplyErrorDeletePolicy":"IGNORE_RECORD", "ApplyErrorInsertPolicy":"LOG_ERROR", "ApplyErrorUpdatePolicy":"LOG_ERROR", "ApplyErrorEscalationPolicy":"LOG_ERROR", "ApplyErrorEscalationCount": 0, "FullLoadIgnoreConflicts": true }}

Configuração de suporte a LOB para bancos de dadosde origem na tarefa do AWS DMSObjetos grandes (LOBs), às vezes, podem ser difíceis de migrar entre sistemas. O AWS DMS oferece umavariedade de opções para ajudar com o ajuste de colunas de LOBs. Para ver quais e quando os tipos dedados são considerados LOBs pelo AWS DMS, consulte a documentação do AWS DMS.

ao migrar dados de um banco de dados para outro, aproveite a oportunidade para repensar como os seusLOBS são armazenados, especialmente para migrações heterogêneas. Se quiser fazer isso, não haveránecessidade de migrar os dados de LOB.

Se você quiser incluir LOBs, poderá escolher as outras configurações de LOB:

• O modo de LOB determina como os LOBs são processados:• Full LOB mode - em full LOB mode, o AWS DMS migra todos os LOBs da origem para o destino,

independentemente do tamanho. Nessa configuração, o AWS DMS não tem nenhuma informaçãosobre o tamanho máximo esperado dos LOBs. Assim, migra-se um LOB por vez, parte por parte. Essemodo pode ser bem lento.

• Limited LOB mode - em limited LOB mode, você define o tamanho máximo de LOB que o AWS DMSdeve aceitar. Isso permite que o AWS DMS pré-aloque memória e carregue os dados do LOB emmassa. Os LOBs que ultrapassam o tamanho máximo são truncados, e é enviado um aviso para oarquivo de log. Em limited LOB mode, há ganhos significativos de desempenho em relação a full LOBmode. Recomendamos que você use limited LOB mode sempre que possível.

Note

Com o Oracle, os LOBs são tratados como tipos de dados VARCHAR sempre que possível.Essa abordagem significa que o AWS DMS os coleta no banco de dados em massa, o que éconsideravelmente mais rápido que outros métodos. O tamanho máximo de um VARCHAR noOracle é 64K, então um tamanho limitado de LOB de menos de 64K é ideal quando o Oracle éo banco de dados de origem.

• Quando uma tarefa é configurada para executar em limited LOB mode, a opção Tamanho máx. de LOB(K) define o tamanho máximo de LOB que o AWS DMS aceita. Os LOBs maiores que esse valor serãotruncados nele.

• Quando uma tarefa é configurada para usar full LOB mode, o AWS DMS recupera LOBs em partes.A opção Tamanho do bloco de LOB (K) determina o tamanho de cada parte. Ao configurá-la, prestebastante atenção ao tamanho máximo de pacote permitido pela sua configuração de rede. Se otamanho do bloco de LOB exceder o tamanho máximo de pacote permitido, talvez você veja erros dedesconexão.

Criação de várias tarefasEm alguns cenários de migração, talvez seja necessário criar várias tarefas de migração. Observe queas tarefas trabalham de modo independente e podem ser executadas simultaneamente; cada uma tem

Versão da API API versão 2016-01-01221

Page 228: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTarefas de replicação contínua

seu próprio carregamento, CDC e processo de leitura de log. As tabelas relacionadas a Data ManipulationLanguage (DML - Linguagem de manipulação de dados) devem fazer parte da mesma tarefa.

Veja a seguir alguns motivos para criar várias tarefas para uma migração:

• As tabelas de destino das tarefas residem em bancos de dados diferentes, como quando você realizafan-out ou divide um sistema em vários.

• Você deseja dividir a migração de uma tabela grande em várias tarefas usando filtragem.

Note

Como cada tarefa tem seu próprio processo de leitura de log e de captura de alterações, asalterações não são coordenadas entre elas. Portanto, ao usar várias tarefas para realizar umamigração, verifique se todas as transações de origem estão completamente contidas em umaúnica tarefa.

Criação de tarefas para replicação contínua usandoo AWS DMS

Você pode criar uma tarefa do AWS DMS que captura alterações contínuas no armazenamento de dadosde origem. Essa captura pode ser feita durante a migração de dados. Também é possível criar uma tarefaque captura alterações contínuas depois de concluir a migração inicial para um armazenamento de dadosde destino compatível. Esse processo é chamado de replicação contínua ou captura de dados de alteração(CDC). O AWS DMS usa esse processo ao replicar alterações contínuas de um armazenamento de dadosde origem. Esse processo funciona ao coletar as alterações nos logs de banco de dados usando a APInativa do mecanismo de banco de dados.

Cada mecanismo de origem tem requisitos de configuração específicos para expor esse fluxo dealterações a uma conta de usuário específica. A maioria dos mecanismos exige algumas configuraçõesadicionais para possibilitar que o processo de captura consuma os dados de alteração de formasignificativa, sem perda de dados. Por exemplo, a Oracle exige a adição do registro em log suplementar eo MySQL exige o registro em log binário a nível de linha (registro binário).

Para fazer a leitura das alterações contínuas do banco de dados de origem, o AWS DMS usa ações daAPI específicas do mecanismo para ler alterações dos logs de transação do mecanismo de origem. Veja aseguir alguns exemplos de como o AWS DMS faz isso:

• Para Oracle, o AWS DMS usa a API Oracle LogMiner ou a API do leitor binário (API bfile) para ler asalterações contínuas. O AWS DMS lê as alterações contínuas dos logs redo online ou arquivados combase no número de alterações do sistema (SCN).

• Para o Microsoft SQL Server, o AWS DMS usa MS-Replication ou MS-CDC para gravarinformações no log de transações do SQL Server. Em seguida, ele usa as funções fn_dblog() oufn_dump_dblog() no SQL Server para ler as alterações no log de transações com base no número desequência de log (LSN).

• Para o MySQL, o AWS DMS lê as alterações dos logs binários (binlogs) baseados em linha e migraessas alterações para o destino.

• Para o PostgreSQL, o AWS DMS define slots de replicação lógica e usa o plugin test_decoding paraler as alterações da origem e migrá-las para o destino.

• Para o Amazon RDS como uma origem, recomendamos garantir que os backups estejam habilitadospara configurar a CDC. Também recomendamos garantir que o banco de dados de origem estejaconfigurado para reter os logs de alterações durante um tempo suficiente – 24 horas geralmente ésuficiente.

Versão da API API versão 2016-01-01222

Page 229: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPontos de início de CDC nativo

Existem dois tipos de tarefas de replicação contínua:

• Carga total mais CDC – a tarefa migra os dados existentes e, em seguida, atualiza o banco de dados dedestino com base nas alterações do banco de dados de origem.

• Somente CDC – a tarefa migra alterações contínuas depois de ter os dados no banco de dados dedestino.

Execução da replicação a partir de um ponto de iníciode CDCInicie uma tarefa de replicação contínua do AWS DMS (somente para captura de dados de alteração) dediversos pontos. Dentre elas estão:

• A partir de um tempo de início de CDC personalizado – use o Console de Gerenciamento da AWSou a CLI da AWS para fornecer ao AWS DMS o timestamp de quando deseja que a replicação inicie.Em seguida, o AWS DMS inicia uma tarefa de replicação contínua a partir desse tempo de início deCDC personalizado. O AWS DMS converte o timestamp fornecido (em UTC) para um ponto de inícionativo, como um LSN para SQL Server ou um SCN para Oracle. O AWS DMS usa métodos específicosdo mecanismo para determinar onde exatamente iniciar a tarefa de migração com base no fluxo dealterações do mecanismo de origem.

Note

PostgreSQL como uma origem não é compatível com um tempo de início de CDCpersonalizado pois o mecanismo do banco de dados não possui uma forma de mapear umtimestamp para um LSN ou SCN, já a Oracle e o SQL Server, sim.

• A partir de um ponto de início nativo de CDC – em vez de fornecer um timestamp, que pode incluir váriospontos nativos no log de transações, escolha iniciar a partir de um ponto nativo do log de transaçõesdo mecanismo de origem. O AWS DMS oferece suporte a esse recurso para os seguintes endpoints deorigem:• SQL Server• Oracle• MySQL

Determinação de um ponto de início de CDC nativoUm ponto de início nativo de CDC é um ponto no log do mecanismo do banco de dados que define umtempo para começar a CDC. Se um despejo de dados em massa foi aplicado ao destino a partir de umponto no tempo, consulte o ponto de início nativo em busca da tarefa de somente replicação contínua apartir de um ponto antes da realização do despejo.

Veja a seguir exemplos de como encontrar o ponto de início nativo de CDC de um mecanismo de origemsuportado:

SQL Server

O número de sequência de log (LSN) do SQL Server possui três partes:• Número de sequência do Arquivo de log virtual (VLF)• Deslocamento inicial de um bloco de log• Número do slot

Um exemplo de LSN é o seguinte: 00000014:00000061:0001Versão da API API versão 2016-01-01

223

Page 230: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioPontos de início de CDC nativo

Para obter o ponto de início para uma tarefa de migração do SQL Server com base nas configuraçõesde backup do log de transações, use as funções fn_dblog() ou fn_dump_dblog() no SQL Server.

Para usar o ponto de início nativo de CDC com o SQL Server, é necessário criar uma publicaçãoem qualquer tabela que participa da replicação contínua. Para obter mais informações sobre acriação de uma publicação, consulte Criação de uma publicação do SQL Server para uma replicaçãocontínua (p. 106). O AWS DMS cria a publicação automaticamente ao usar a CDC sem ponto de inícionativo.

Oracle

Um número de alterações do sistema (SCN) é um time stamp interno e lógico usado por bancosde dados Oracle. Os SCNs ordenam os eventos que ocorrem dentro do banco de dados, o que énecessário para satisfazer as propriedades ACID de uma transação. Os bancos de dados Oracleusam SCNs para marcar o local onde todas as alterações foram gravadas em disco para que umaação de recuperação não seja aplicada nas alterações já gravadas. A Oracle também usa SCNspara marcar o ponto onde não existem ações de restauração para um conjunto de dados, para que arecuperação possa parar. Para obter mais informações sobre Oracle SCNs, consulte a Documentaçãodo Oracle.

Para obter o SCN atual em um banco de dados Oracle, execute o seguinte comando:

SELECT current_scn FROM V$DATABASE

MySQL

Antes do lançamento do MySQL versão 5.6.3, o número de sequência de log (LSN) para MySQL eraum inteiro não assinado de 4 bytes. No MySQL versão 5.6.3, quando o limite de tamanho de arquivode log redo aumentou de 4 GB para 512 GB, o LSN se tornou um inteiro não assinado de 8 bytes.O aumento reflete que bytes adicionais foram necessários para armazenar informações de tamanhoextra. Os aplicativos criados no MySQL 5.6.3 ou posterior que usam valores de LSN devem usarvariáveis de 64 bits em vez de 32 bits para armazenar e comparar valores de LSN. Para obter maisinformações LSNs do MySQL, consulte a documentação do MySQL.

Para obter o LSN atual em um banco de dados MySQL, execute o seguinte comando:

mysql> show master status;

A consulta retorna o nome e a posição do arquivo de log binário, além de vários outros valores.O ponto de início nativo de CDC é uma combinação do nome e da posição do arquivo de logbinário, por exemplo, mysql-bin-changelog.000024:373. Nesse exemplo, mysql-bin-changelog.000024 é o nome do arquivo de log binário e 373 é a posição onde o AWS DMS precisainiciar a captura de alterações.

Uso de um ponto de verificação como um ponto de início de CDCInicie a partir de um ponto de verificação:

Uma tarefa de replicação contínua migra as alterações e o AWS DMS armazena em cache as informaçõessobre ponto de verificação específicos do AWS DMS, de tempo em tempo. O ponto de verificaçãocriado pelo AWS DMS contém informações para que o mecanismo de replicação conheça o ponto derecuperação para o fluxo de alterações. Você pode usar o ponto de verificação para voltar no cronogramade alterações e recuperar uma tarefa de migração com falha. Você também pode usar um ponto deverificação para iniciar outra tarefa de replicação contínua para outro destino em um determinado ponto notempo.

Versão da API API versão 2016-01-01224

Page 231: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioModificação de uma tarefa

Você pode obter as informações do ponto de verificação de uma das seguintes formas:

• Execute o comando da API DescribeReplicationTasks e visualize os resultados. Você pode filtraras informações por tarefa e pesquisar o ponto de verificação. Você pode recuperar o último ponto deverificação quando a tarefa está no estado interrompida ou com falha.

• Visualize a tabela de metadados chamada awsdms_txn_state na instância de destino. Você podeconsultar a tabela para obter informações do ponto de verificação. Para criar a tabela de metadados,defina o parâmetro TaskRecoveryTableEnabled como Yes ao criar uma tarefa. Essa configuraçãofaz com que o AWS DMS grave continuamente as informações do ponto de verificação na tabela demetadados de destino. Essas informações serão perdidas se uma tarefa for excluída.

Veja a seguir um exemplo de ponto de verificação na tabela de metadados:checkpoint:V1#34#00000132/0F000E48#0#0#*#0#121

Interrupção de uma tarefa em um ponto de tempo de confirmaçãoou servidorCom a introdução dos pontos de início nativos de CDC, o AWS DMS também pode interromper uma tarefanos seguintes pontos:

• Um tempo de confirmação na origem• Um tempo do servidor na instância de replicação

Você pode modificar uma tarefa e definir um tempo em UTC para interromper, conforme necessário. Atarefa é interrompida automaticamente com base nos tempos de confirmação ou servidor definidos. Alémdisso, se souber um tempo adequado para interromper a tarefa de migração durante a criação da tarefa,defina também um tempo de interrupção ao criar a tarefa.

Modificação de uma tarefaÉ possível modificar as configurações de uma tarefa, o mapeamento de tabela e outras configurações.Para modificar uma tarefa no console do DMS, selecione-a e escolha Modify. Também é possível usar ocomando ModifyReplicationTask do AWS CLI ou a API do AWS DMS.

Há poucas limitações para modificar uma tarefa. Dentre elas estão:

• Não é possível modificar o endpoint de origem ou de destino de uma tarefa.• Você não pode alterar o tipo de migração de uma tarefa.• Para ser modificada, uma tarefa que foi executada deve ter o status Stopped ou Failed.

Recarregamento de tabelas durante uma tarefaEnquanto uma tarefa é executada, é possível recarregar uma tabela de banco de dados de destino usandoos dados da origem. Se, durante a tarefa, ocorrer um erro ou forem alterados dados devido a operações departição, você poderá recarregar uma tabela (por exemplo, usando o Oracle). É possível recarregar até 10tabelas de uma tarefa.

Para recarregar uma tabela, as seguintes condições devem ser verdadeiras:

• A tarefa deve estar em execução.

Versão da API API versão 2016-01-01225

Page 232: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConsole de gerenciamento da AWS

• O método de migração da tarefa deve ser Full_Load ou Full_Load_with_CDC.• Não são permitidas tabelas duplicadas.• O AWS DMS mantém a definição da tabela lida anteriormente e não a recria durante a operação de

recarregamento. As instruções de DDL, como ALTER TABLE ADD COLUMN e DROP COLUMN, feitasna tabela antes de ela ser recarregada podem causar uma falha na operação de recarregamento.

Console de gerenciamento da AWSComo recarregar uma tabela usando o console do AWS DMS

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS DMS. Se você estiver conectadocomo usuário do AWS Identity and Access Management (IAM), deverá ter as permissões apropriadaspara acessar o AWS DMS. Para obter mais informações sobre as permissões necessárias, consultePermissões do IAM necessárias para o uso do AWS DMS (p. 33).

2. No painel de navegação, selecione Tasks.3. Escolha a tarefa em execução que tem a tabela que você deseja recarregar.4. Escolha a guia Table Statistics (Estatísticas da tabela).

5. Escolha a tabela que você deseja recarregar. Se a tarefa não está mais em execução, você não poderecarregar a tabela.

6. Selecione Drop and reload table data.

Quando o AWS DMS está se preparando para recarregar uma tabela, o console altera o status da tabelapara The table is being reloaded.

Versão da API API versão 2016-01-01226

Page 233: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela

Uso do mapeamento de tabela para especificar asconfigurações da tarefa

O mapeamento de tabela usa vários tipos de regras para especificar a fonte de dados, o schema deorigem, os dados e as transformações que devem ocorrer durante a tarefa. É possível usar o mapeamentode tabela para especificar as tabelas individuais em um banco de dados a serem migradas e o schema aser usado na migração. Além disso, você pode usar filtros para especificar os dados de uma determinadacoluna da tabela que você deseja replicar e pode usar transformações para modificar os dados gravadosno banco de dados de destino.

Mapeamento de tabela de transformação e seleçãousando o Console de Gerenciamento da AWSUse o Console de Gerenciamento da AWS para executar mapeamento de tabela, incluindo a especificaçãode seleção e transformações de tabela. Na interface do usuário do console AWS, use a seção Where(Onde) para especificar o esquema, a tabela e a ação (incluir ou excluir). A seção Filter é usada paraespecificar o nome da coluna em uma tabela e as condições que você deseja aplicar à tarefa dereplicação. Juntas, essas duas ações criam uma regra de seleção.

As transformações podem ser incluídas no mapeamento de tabela após você especificar pelo menosuma regra de seleção. As transformações podem ser usadas para renomear um schema ou uma tabela,adicionar um prefixo ou sufixo a um schema ou uma tabela ou remover a coluna de uma tabela.

Versão da API API versão 2016-01-01227

Page 234: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de transformação e seleção

usando o Console de Gerenciamento da AWS

O exemplo a seguir mostra como configurar regras de seleção para uma tabela chamada Customers emum schema chamado EntertainmentAgencySample. Observe que a guia Guided, onde é possível criarregras de seleção e transformações, só aparece quando há um endpoint de origem com informações deschema e tabela.

Como especificar uma seleção de tabela, critérios de filtro e transformações usando o console daAWS

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS DMS. Observe que se vocêestiver conectado como usuário do AWS Identity and Access Management (IAM), deverá ter aspermissões apropriadas para acessar o AWS DMS. Para obter mais informações sobre as permissõesnecessárias, consulte Permissões do IAM necessárias para o uso do AWS DMS (p. 33).

2. Na página do Painel, selecione Tasks.3. Selecione Create Task.4. Insira as informações da tarefa, incluindo nome da tarefa, instância de replicação, endpoint de origem,

endpoint de destino e tipo de migração. Selecione Guided, na seção Table mappings.

5. Na seção Table mapping, selecione o nome do schema e o nome da tabela. Você pode usar "%"como valor curinga ao especificar o nome da tabela. Especifique a ação a ser realizada para incluir ouexcluir dados definidos pelo filtro.

Versão da API API versão 2016-01-01228

Page 235: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de transformação e seleção

usando o Console de Gerenciamento da AWS

6. Para especificar as informações de filtro, use os links Add column filter e Add condition . Primeiro,selecione Add column filter para especificar uma coluna e as condições. Selecione Add condition paraincluir condições adicionais. O exemplo a seguir mostra um filtro para a tabela Customers, que incluiAgencyIDs entre 01 e 85.

Versão da API API versão 2016-01-01229

Page 236: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de transformação e seleção

usando o Console de Gerenciamento da AWS

7. Quando tiver criado as seleções que deseja, selecione Add selection rule.8. Depois de criar pelo menos uma regra de seleção, você poderá adicionar uma transformação à tarefa.

Selecione add transformation rule.

9. Selecione o destino que deseja transformar e insira as informações adicionais solicitadas. O exemploa seguir mostra uma transformação que exclui a coluna AgencyStatus da tabela Customer.

Versão da API API versão 2016-01-01230

Page 237: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de transformação e seleção

usando o Console de Gerenciamento da AWS

10. Selecione Add transformation rule.11. Você pode adicionar regras de seleção ou transformação adicionais escolhendo add selection rule ou

add transformation rule. Quando tiver concluído, selecione Create task.

Versão da API API versão 2016-01-01231

Page 238: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

Mapeamento de tabela de seleção e transformaçãousando JSONOs mapeamentos de tabela podem ser criados no formato JSON. Se você criar uma tarefa de migraçãousando o AWS DMS Management Console, poderá inserir o JSON diretamente na caixa de mapeamentode tabela. Se você utiliza o AWS Command Line Interface (AWS CLI) ou a API do AWS DatabaseMigration Service para realizar migrações, é possível criar um arquivo JSON para especificar osmapeamentos de tabela que você deseja que ocorram durante a migração.

É possível especificar as tabelas ou os schemas com os quais você quer trabalhar, além de realizartransformações de tabela e schema. As regras de mapeamento de tabela são criadas usando os tipos deregras selection e transformation.

Regras de seleção e açõesUsando o mapeamento de tabela, é possível especificar as tabelas ou os schemas com os quais vocêquer trabalhar utilizando regras de seleção e ações. Os seguintes valores podem ser aplicados a regras demapeamento de tabela que usam o tipo de regra de seleção:

Parâmetro Possíveis valores Descrição

rule-type selection Você deve ter pelo menos uma regra deseleção ao especificar um mapeamentode tabela.

rule-id Um valor numérico. Um valor numérico exclusivo paraidentificar a regra.

rule-name Um valor alfanumérico. Um nome exclusivo para identificar aregra.

rule-action include, exclude Inclui ou exclui o objeto selecionadopela regra.

Example Migração de todas as tabelas em um schema

O exemplo a seguir migra todas as tabelas de um schema chamado Test da origem para o endpoint dedestino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" } ]}

Versão da API API versão 2016-01-01232

Page 239: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

Example Migração de algumas tabelas em um schema

O exemplo a seguir migra todas as tabelas, exceto as que começam com DMS, de um schema chamadoTest na origem para o endpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "DMS%" }, "rule-action": "exclude" } ]}

Regras de transformação e açõesAs ações de transformação são usadas para especificar as transformações que você deseja aplicar aoschema ou à tabela selecionada. As regras da transformação são opcionais.

Os seguintes valores podem ser aplicados a regras de mapeamento de tabela que usam o tipo de regra detransformação:

Parâmetro Possíveis valores Descrição

rule-type transformation Aplica uma transformação ao objetoespecificado pela regra de seleção.

rule-id Um valor numérico. Um valor numérico exclusivo paraidentificar a regra.

rule-name Um valor alfanumérico. Um nome exclusivo para identificar aregra.

object-locator schema-name O nome do schema.

table-nameO nome da tabela. Vocêpode usar o símbolo de porcentagem"%" como caractere curinga.

O schema e a tabela aos quais a regrase aplica.

rule-action • rename

• remove-column

• convert-lowercase, convert-uppercase

A transformação que você quer aplicarao objeto. Todas as ações de regra detransformação diferenciam maiúsculas eminúsculas.

Versão da API API versão 2016-01-01233

Page 240: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

Parâmetro Possíveis valores Descrição• add-prefix, remove-prefix,replace-prefix

• add-suffix, remove-suffix,replace-suffix

rule-target schema, table, column O tipo de objeto que você estátransformando.

value Um valor alfanumérico que segue asregras de nomeação do tipo de destino.

O novo valor de ações que exigementrada, como rename.

old-value Um valor alfanumérico que segue asregras de nomeação do tipo de destino.

O antigo valor de ações que exigemsubstituição, como replace-prefix.

Example Renomeação de um schema

O exemplo a seguir renomeia um schema de Test, na origem, para Test1, no endpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "rename", "rule-target": "schema", "object-locator": { "schema-name": "Test" }, "value": "Test1" } ]}

Example Renomeação de uma tabela

O exemplo a seguir renomeia uma tabela de Actor, na origem, para Actor1, no endpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include"

Versão da API API versão 2016-01-01234

Page 241: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

}, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "rename", "rule-target": "table", "object-locator": { "schema-name": "Test", "table-name": "Actor" }, "value": "Actor1" } ]}

Example Renomeação de uma coluna

O exemplo a seguir renomeia uma coluna na tabela Actor de first_name, na origem, para fname, noendpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "4", "rule-name": "4", "rule-action": "rename", "rule-target": "column", "object-locator": { "schema-name": "test", "table-name": "Actor", "column-name" : "first_name" }, "value": "fname" } ]}

Example Remoção de uma coluna

O exemplo a seguir transforma a tabela chamada Actor, na origem, para remover dela todas as colunasque começam com os caracteres col, no endpoint de destino:

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%"

Versão da API API versão 2016-01-01235

Page 242: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

}, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "remove-column", "rule-target": "column", "object-locator": { "schema-name": "test", "table-name": "Actor", "column-name": "col%" } }] }

Example Conversão para minúsculas

O exemplo a seguir converte o nome de uma tabela de ACTOR, na origem, para actor, no endpoint dedestino:

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "test", "table-name": "ACTOR" } }]}

Example Conversão para maiúsculas

O exemplo a seguir converte todas as colunas em todas as tabelas e todos os schemas de minúsculas, naorigem, para maiúsculas, no endpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, {

Versão da API API versão 2016-01-01236

Page 243: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMapeamento de tabela de seleção

e transformação usando JSON

"rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "convert-uppercase", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" } } ]}

Example Adição de um prefixo

O exemplo a seguir transforma todas as tabelas na origem para adicionar o prefixo DMS_ a elas noendpoint de destino:

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "add-prefix", "rule-target": "table", "object-locator": { "schema-name": "test", "table-name": "%" }, "value": "DMS_" }] }

Example Substituição de um prefixo

O exemplo a seguir transforma todas as colunas contendo o prefixo Pre_, na origem, para substituí-lo porNewPre_, no endpoint de destino:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, {

Versão da API API versão 2016-01-01237

Page 244: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de filtros de origem

"rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "replace-prefix", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" }, "value": "NewPre_", "old-value": "Pre_" } ]}

Example Remoção de um sufixo

O exemplo a seguir transforma todas as tabelas na origem para remover o sufixo DMS_ delas no endpointde destino:

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "remove-suffix", "rule-target": "table", "object-locator": { "schema-name": "test", "table-name": "%" }, "value": "_DMS" }]}

Uso de filtros de origemÉ possível usar filtros de origem para limitar o número e o tipo de registros transferidos da origem aodestino. Por exemplo, você pode especificar que somente os funcionários localizados na sede serãomovidos para o banco de dados de destino. Os filtros fazem parte de uma regra de seleção. Os filtros sãoaplicados a uma coluna de dados.

Os filtros de origem devem seguir estas restrições:

• Uma regra de seleção pode não ter filtros ou ter um ou mais filtros.• Cada filtro pode ter uma ou mais condições de filtro.• Se for usado mais de um filtro, a lista de filtros será combinada como se usasse um operador AND entre

eles.• Se for usada mais de uma condição de filtro em um único filtro, a lista de condições de filtro será

combinada como se usasse um operador OR entre elas.

Versão da API API versão 2016-01-01238

Page 245: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de filtros de origem

• Os filtros só são aplicados quando rule-action = 'include'.• Os filtros exigem um nome de coluna e uma lista de condições de filtro. As condições de filtro devem ter

um operador de filtro e um valor.• Os nomes de coluna, de tabela e de schema diferenciam maiúsculas e minúsculas.

Filtragem por hora e dataAo selecionar dados para importar, é possível especificar uma data ou hora como parte dos critérios defiltro. O AWS DMS usa o formato de data YYYY-MM-DD e o formato de hora YYYY-MM-DD HH:MM:SSpara filtrar. As funções de comparação do AWS DMS seguem as convenções SQLite. Para obter maisinformações sobre tipos de dados SQLite e comparações de data, consulte Datatypes In SQLite Version 3.

O exemplo a seguir mostra como filtrar em uma data.

Example Filtro de data única

O seguinte filtro replica todos os funcionários em que empstartdate >= January 1, 2002 para obanco de dados de destino.

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "employee" }, "rule-action": "include", "filters": [{ "filter-type": "source", "column-name": "empstartdate", "filter-conditions": [{ "filter-operator": "gte", "value": "2002-01-01" }] }] }]}

Criação de regras de filtro de origem em JSONÉ possível criar filtros de origem especificando um nome de coluna, uma condição de filtro, um operador defiltro e um valor de filtro.

A tabela a seguir mostra os parâmetros usados para a filtragem de origem.

Parâmetro Value

filter-type source

column-name O nome da coluna de origem à qual você deseja aplicar o filtro. O nomediferencia maiúsculas e minúsculas.

filter-conditions  

Versão da API API versão 2016-01-01239

Page 246: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de filtros de origem

Parâmetro Value

filter-operator Esse parâmetro pode ser:

• ste – menor ou igual a• gte – maior ou igual a• eq – igual a• between – igual a ou entre dois valores

value O valor do parâmetro filter-operator. Se filter-operator for between,forneça dois valores: um para start-valor e um para end-value.

Os exemplos a seguir mostram algumas maneiras comuns de usar filtros de origem.

Example Filtro único

O seguinte filtro replica todos os funcionários em que empid >= 100 para o banco de dados de destino.

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "employee" }, "rule-action": "include", "filters": [{ "filter-type": "source", "column-name": "empid", "filter-conditions": [{ "filter-operator": "gte", "value": "100" }] }] }]}

Example Vários operadores de filtro

O seguinte filtro aplica vários operadores de filtro a uma única coluna de dados. O filtro replica todos osfuncionários em que (empid <=10) OU (empid is between 50 and 75) OU (empid >= 100)para o banco de dados de destino.

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "employee" }, "rule-action": "include", "filters": [{

Versão da API API versão 2016-01-01240

Page 247: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioUso de filtros de origem

"filter-type": "source", "column-name": "empid", "filter-conditions": [{ "filter-operator": "ste", "value": "10" }, { "filter-operator": "between", "start-value": "50", "end-value": "75" }, { "filter-operator": "gte", "value": "100" }] }] }] }

Example Vários filtros

O seguinte filtro aplica vários filtros a duas colunas em uma tabela. O filtro replica todos os funcionários emque (empid <= 100) E (dept= tech) para o banco de dados de destino.

{ "rules": [{ "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "employee" }, "rule-action": "include", "filters": [{ "filter-type": "source", "column-name": "empid", "filter-conditions": [{ "filter-operator": "ste", "value": "100" }] }, { "filter-type": "source", "column-name": "dept", "filter-conditions": [{ "filter-operator": "eq", "value": "tech" }] }] }]}

Versão da API API versão 2016-01-01241

Page 248: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioStatus da tarefa

Monitorar tarefas do AWS DMSVocê pode monitorar o andamento de uma tarefa verificando o status da tarefa e monitorando a tabelade controle da tarefa. Para obter mais informações sobre tabelas de controle, consulte Configurações detarefa de tabela de controle (p. 212).

Você também pode monitorar o andamento de suas tarefas usando o Amazon CloudWatch. Você podemonitorar o andamento de tarefas, recursos e conectividade da rede usando o Console de Gerenciamentoda AWS, a Interface da Linha de Comando (ILC) do AWS ou a API do AWS DMS.

Finalmente, você pode monitorar o status das tabelas de origem em uma tarefa visualizando o estado databela.

Observe que a coluna "última atualização" do console DMS só indica a hora que o AWS DMS atualizoupela última vez o registro de estatísticas de uma tabela. Ela não indica a hora da última atualização databela.

Para obter mais informações, consulte os tópicos a seguir.

Tópicos• Status da tarefa (p. 242)• Estado da tabela durante as tarefas (p. 243)• Monitorar tarefas de replicação usando o Amazon CloudWatch (p. 244)• Métricas do Data Migration Service (p. 246)• Gerenciamento de logs de tarefas do AWS DMS (p. 249)• Registro de chamadas à API do AWS DMS usando o AWS CloudTrail (p. 250)

Status da tarefaO status da tarefa indica a condição da tarefa. A tabela a seguir mostra os possíveis status que uma tarefapode ter:

Status da tarefa Descrição

Creating O AWS DMS está criando a tarefa.

Running A tarefa está executando as ações de migraçãoespecificadas.

Stopped A tarefa foi interrompida.

Stopping A tarefa está sendo interrompida. Em geral, esta é umaindicação de intervenção do usuário na tarefa.

Deleting A tarefa está sendo excluída, normalmente a partir de umasolicitação de intervenção do usuário.

Versão da API API versão 2016-01-01242

Page 249: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEstado da tabela durante as tarefas

Status da tarefa Descrição

Failed A tarefa falhou. Consulte os arquivos de log da tarefa paraobter mais informações.

Starting A tarefa está se conectando à instância de replicação eaos endpoints de origem e de destino. Todos os filtros e astransformações estão sendo aplicados.

Ready A tarefa está pronta para ser executada. Este statusgeralmente ocorre depois do status “Creating”.

Modifying A tarefa está sendo alterada, normalmente devido a umaação do usuário que modificou as definições da tarefa.

A barra de status de tarefa fornece uma estimativa do andamento da tarefa. A qualidade dessa estimativadepende da qualidade das estatísticas de tabela do banco de dados de origem: quanto melhores asestatísticas de tabela, mais precisa a estimativa. Para tarefas com apenas uma tabela que não temestatísticas sobre linhas estimadas, não é possível fornecer qualquer estimativa sobre a porcentagem deconclusão. Nesse caso, o estado da tarefa e a indicação de linhas carregadas podem ser usados paraconfirmar que a tarefa realmente está sendo executada e progredindo.

Estado da tabela durante as tarefasO console do AWS DMS atualiza as informações sobre o estado de suas tabelas durante a migração. Atabela a seguir mostra os possíveis valores para o estado:

Versão da API API versão 2016-01-01243

Page 250: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMonitorar tarefas de replicaçãousando o Amazon CloudWatch

Estado Descrição

Table does not exist O AWS DMS não encontrou a tabela no endpoint de origem.

Before load O processamento de carga completa foi habilitado, mas aindanão foi iniciado.

Full load O processamento de carga completa está em andamento.

Table completed O carregamento total foi concluído.

Table cancelled O carregamento da tabela foi cancelado.

Table error Ocorreu um erro durante o carregamento da tabela.

Monitorar tarefas de replicação usando o AmazonCloudWatch

Você pode usar os alertas ou eventos do Amazon CloudWatch para acompanhar mais de perto amigração. Para obter mais informações sobre o Amazon CloudWatch, consulte O que são AmazonCloudWatch, Eventos do Amazon CloudWatch e Amazon CloudWatch Logs? no Guia do usuário doAmazon CloudWatch. O uso do Amazon CloudWatch pode ser cobrado.

O console do AWS DMS mostra as estatísticas básicas do CloudWatch para cada tarefa, incluindo o statusdas tarefas, porcentagens de conclusão, tempo decorrido e estatísticas de tabelas, como mostramos aseguir. Selecione a tarefa de replicação e, em seguida, selecione a guia Task monitoring.

Versão da API API versão 2016-01-01244

Page 251: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMonitorar tarefas de replicaçãousando o Amazon CloudWatch

O console do AWS DMS mostra as estatísticas de desempenho para cada tabela, incluindo o número deinserções, exclusões e atualizações, quando você seleciona a guia Table statistics.

Versão da API API versão 2016-01-01245

Page 252: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMétricas do Data Migration Service

Além disso, se você selecionar uma instância de replicação na página Replication Instance, poderávisualizar as métricas de desempenho para a instância selecionando a guia Monitoring.

Métricas do Data Migration ServiceO AWS DMS fornece as seguintes estatísticas:

• Métricas do host – estatísticas de desempenho e utilização para o host de replicação, fornecidas peloAmazon CloudWatch. Para obter uma lista completa das métricas disponíveis, consulte Métricas deinstâncias de replicação (p. 247).

• Métricas das tarefas de replicação – estatísticas para as tarefas de replicação incluindo as alteraçõesde entrada e confirmadas, e a latência entre o host de replicação e os bancos de dados de origeme destino. Para obter uma lista completa das métricas disponíveis, consulte Métricas de tarefas dereplicação (p. 248).

• Métricas de tabela – estatísticas para as tabelas que estão sendo migradas, incluindo o número deinserções, atualizações, exclusões e de instruções DDL concluídas.

Versão da API API versão 2016-01-01246

Page 253: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMétricas de instâncias de replicação

As métricas de tarefas são divididas em estatísticas entre o host de replicação e o endpoint de origem,e estatísticas entre o host de replicação e o endpoint de destino. Você pode determinar a estatísticatotal para uma tarefa somando as duas estatísticas relacionadas. Por exemplo, você pode determinara latência total, ou o atraso de réplica, para uma tarefa combinando os valores CDCLatencySource eCDCLatencyTarget.

Os valores das métricas de uma tarefa podem ser influenciados pela atividade atual do banco de dados deorigem. Por exemplo, se uma transação foi iniciada, mas não foi confirmada, a métrica CDCLatencySourcecontinua aumentando até que a transação seja confirmada.

Para a instância de replicação, a métrica FreeableMemory requer esclarecimento. Memória passível deliberação não é indicação de memória real livre disponível. É a memória que está atualmente em uso e quepode ser liberada e usada para outros fins; é uma combinação de buffers e cache em uso na instância dereplicação.

Embora a métrica FreeableMemory não reflita a memória real livre disponível, a combinação das métricasFreeableMemory e SwapUsage pode indicar se a instância de replicação está sobrecarregada.

Monitore as seguintes condições dessas duas métricas.

• A métrica FreeableMemory se aproximando de zero.

• A métrica SwapUsage aumenta ou flutua.

Se você encontrar uma dessas duas condições, mude para uma instância de replicação maior. Vocêtambém deve reduzir o número e o tipo de tarefas em execução na instância de replicação. Tarefas decarregamento total exigem mais memória do que tarefas que apenas replicam alterações.

Métricas de instâncias de replicaçãoO monitoramento de instâncias de replicação inclui métricas do Amazon CloudWatch para as seguintesestatísticas:

CPUUtilization

A quantidade de CPU usada.

Unidade: bytesFreeStorageSpace

A quantidade de espaço de armazenamento disponível.

Unidade: bytesFreeableMemory

A quantidade de memória de acesso aleatório disponível.

Unidade: bytesWriteIOPS

O número médio de operações de I/O de disco por segundo.

Unidade: contagem/segundoReadIOPS

O número médio de operações de I/O de disco por segundo.

Unidade: contagem/segundo

Versão da API API versão 2016-01-01247

Page 254: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMétricas de tarefas de replicação

WriteThroughput

O número médio de bytes gravados no disco por segundo.

Unidade: bytes/segundoReadThroughput

O número médio de bytes lidos do disco por segundo.

Unidade: bytes/segundoWriteLatency

O tempo médio necessário por operação de I/O de disco.

Unidade: segundosReadLatency

O tempo médio necessário por operação de I/O de disco.

Unidade: segundosSwapUsage

A quantidade de espaço de troca usada na instância de replicação.

Unidade: bytesNetworkTransmitThroughput

O tráfego de rede de saída (enviado) na instância de replicação, incluindo o tráfego do banco dedados do cliente e o tráfego do AWS DMS usados para monitoramento e replicação.

Unidade: bytes/segundoNetworkReceiveThroughput

O tráfego de rede de entrada (recebido) na instância de replicação, incluindo o tráfego do banco dedados do cliente e o tráfego do AWS DMS usados para monitoramento e replicação.

Unidade: bytes/segundo

Métricas de tarefas de replicaçãoO monitoramento de tarefas de replicação inclui métricas para as seguintes estatísticas:

FullLoadThroughputBandwidthSource

A largura de banda de entrada da rede de uma carga completa da origem em kilobytes (KB) porsegundo.

FullLoadThroughputBandwidthTarget

A largura de banda de saída da rede de uma carga completa para o destino em kilobytes (KB) porsegundo.

FullLoadThroughputRowsSource

As alterações de entrada de uma carga completa da origem em linhas por segundo.FullLoadThroughputRowsTarget

As alterações de saída de uma carga completa para o destino em linhas por segundo.

Versão da API API versão 2016-01-01248

Page 255: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioGerenciamento de logs do AWS DMS

CDCIncomingChanges

O número total de eventos de alteração em um ponto no tempo aguardando para serem aplicadosao destino. Observe que isso não é o mesmo que uma medida da taxa de alteração de transaçãodo endpoint de origem. Um número alto para essa métrica normalmente indica que o AWS DMS nãoconsegue aplicar alterações capturadas de maneira adequada, por isso causa uma alta latência nodestino.

CDCChangesMemorySource

O número de linhas que se acumulam na memória esperando para serem confirmadas a partir daorigem.

CDCChangesMemoryTarget

O número de linhas que se acumulam na memória esperando para serem confirmadas no destino.CDCChangesDiskSource

O número de linhas que se acumulam no disco esperando para serem confirmadas a partir da origem.CDCChangesDiskTarget

O número de linhas que se acumulam no disco esperando para serem confirmadas no destino.CDCThroughputBandwidthSource

Largura de banda da rede para o destino em KB por segundo. CDCThroughputBandwidth registra alargura de banda em pontos de amostragem. Se nenhum tráfego de rede for encontrado, o valor serázero. Como a CDC não emite transações prolongadas, o tráfego de rede pode não ser registrado.

CDCThroughputBandwidthTarget

Largura de banda da rede para o destino em KB por segundo. CDCThroughputBandwidth registra alargura de banda em pontos de amostragem. Se nenhum tráfego de rede for encontrado, o valor serázero. Como a CDC não emite transações prolongadas, o tráfego de rede pode não ser registrado.

CDCThroughputRowsSource

As alterações das tarefas de entrada a partir de origem em linhas por segundo.CDCThroughputRowsTarget

As alterações da tarefa de saída para o destino em linhas por segundo.CDCLatencySource

O intervalo, em segundos, entre o último evento capturado do endpoint de origem e o time stamp atualdo sistema na instância do AWS DMS. Se nenhuma alteração tiver sido capturada da origem devidoao escopo da tarefa, o AWS DMS definirá esse valor como zero.

CDCLatencyTarget

O intervalo, em segundos, entre o primeiro timestamp de evento aguardando a confirmação nodestino e o timestamp atual da instância do AWS DMS. Esse valor ocorrerá se houver transações nãoprocessadas pelo destino. Caso contrário, a latência de destino será a mesma da latência de origemse todas as transações forem aplicadas. A latência de destino nunca deve ser inferior à latência deorigem.

Gerenciamento de logs de tarefas do AWS DMSO AWS DMS usa o Amazon CloudWatch para registrar informações de tarefas em log durante o processode migração. Você pode usar a CLI da AWS ou a API do AWS DMS para visualizar informações sobre os

Versão da API API versão 2016-01-01249

Page 256: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioRegistro de chamadas à API do

AWS DMS usando o AWS CloudTrail

logs de tarefas. Para fazer isso, use o comando describe-replication-instance-task-logs daCLI da AWS ou a ação da API do AWS DMS DescribeReplicationInstanceTaskLogs.

Por exemplo, o seguinte comando da CLI da AWS mostra os metadados do log de tarefas no formatoJSON.

$ aws dms describe-replication-instance-task-logs \ --replication-instance-arn arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY

O seguinte é um exemplo de resposta do comando.

{ "ReplicationInstanceTaskLogs": [ { "ReplicationTaskArn": "arn:aws:dms:us-east-1:237565436:task:MY34U6Z4MSY52GRTIX3O4AY", "ReplicationTaskName": "mysql-to-ddb", "ReplicationInstanceTaskLogSize": 3726134 } ], "ReplicationInstanceArn": "arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY"}

Nessa resposta, há um único log de tarefas (mysql-to-ddb) associado à instância de replicação. Otamanho do log é 3.726.124 bytes.

Você pode usar as informações retornadas por describe-replication-instance-task-logspara diagnosticar e solucionar problemas com logs de tarefas. Por exemplo, se você habilitar o log dedepuração detalhada para uma tarefa, o log de tarefas crescerá rapidamente - potencialmente consumindotodo o armazenamento disponível na instância de replicação e fazendo com que o status da instância sejaalterado para storage-full. Descrevendo os logs de tarefas, você pode determinar de quais você nãoprecisa mais e, em seguida, você pode excluí-los, liberando espaço de armazenamento.

Para excluir os logs de tarefas de uma tarefa, defina a tarefa com DeleteTaskLogs definido comotrue. Por exemplo, o JSON a seguir exclui os logs de tarefas ao modificar uma tarefa usando o comandomodify-replication-task da CLI da AWS ou a ação ModifyReplicationTask da API do AWSDMS.

{ "Logging": { "DeleteTaskLogs":true }}

Registro de chamadas à API do AWS DMS usandoo AWS CloudTrail

O serviço do AWS CloudTrail registra todas as chamadas à API do AWS Database Migration Service(AWS DMS) feitas pela sua conta do AWS ou em nome dela. O AWS CloudTrail armazena as informações

Versão da API API versão 2016-01-01250

Page 257: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioConfiguração do registro de eventos no CloudTrail

registradas em um bucket no S3. Você pode usar as informações coletadas pelo CloudTrail para monitoraras atividades do AWS DMS, como a criação ou exclusão de uma instância de replicação ou de umendpoint. Por exemplo, você pode determinar se uma solicitação foi concluída com êxito e qual usuário feza solicitação. Para obter mais informações sobre o CloudTrail, consulte AWS CloudTrail User Guide.

Se uma ação é tomada em nome de sua conta do AWS usando o console do AWS DMS ou a interfacede linha de comando do AWS DMS, o AWS CloudTrail registra a ação como uma chamada à API doAWS DMS. Por exemplo, se você usar o console do AWS DMS para descrever conexões ou executar ocomando describe-connections do AWS CLI, o log do AWS CloudTrail mostrará uma chamada à API doAWS DMS para executar a ação DescribeConnections. Para ver a lista das ações da API do AWS DMSque são registradas pelo AWS CloudTrail, consulte a Referência de API do AWS DMS.

Configuração do registro de eventos no CloudTrailO CloudTrail cria trilhas de auditoria em cada região separadamente e as armazena em um bucket do S3.Você pode configurar o CloudTrail para usar o Amazon Simple Notification Service (Amazon SNS) paranotificá-lo quando um arquivo de log é criado, mas isso é opcional. O CloudTrail envia notificações combastante frequência, portanto recomendamos que você use o Amazon SNS com uma fila Amazon SimpleQueue Service (Amazon SQS) e administre as notificações de forma programática.

Você pode habilitar o CloudTrail usando o Console de gerenciamento da AWS, o CLI ou a API. Quandovocê habilita o registro em log no CloudTrail pode fazer com que o serviço do CloudTrail crie um bucket noS3 para você armazenar os arquivos de log. Para obter mais detalhes, consulte Criação e atualização datrilha no AWS CloudTrail User Guide. O AWS CloudTrail User Guide também contém informações sobrecomo reunir os logs do CloudTrail de várias regiões em um único bucket no S3.

Não há custo para usar o serviço do CloudTrail. No entanto, as tarifas padrão para o uso do S3 sãoaplicadas, além das tarifas para o uso do Amazon SNS, se você incluir esta opção. Para obter maisdetalhes de preços, consulte as páginas sobre a definição de preços do S3 e do Amazon SNS.

Entradas de eventos do AWS Database MigrationService em arquivos de log do CloudTrailOs arquivos de log do CloudTrail contêm informações de eventos formatados com JSON. Um registrode evento representa uma única chamada à API do AWS e inclui informações sobre a ação solicitada, ousuário que solicitou a ação, a data e hora da solicitação, e assim por diante.

Os arquivos de log do CloudTrail incluem os eventos de todas as chamadas de API do AWS para suaconta do AWS, e não apenas as chamadas para a API do AWS DMS. No entanto, você pode ler osarquivos de log e fazer uma varredura por chamadas à API do AWS DMS usando o elemento eventName.

Para obter mais informações sobre os diferentes elementos e valores nos arquivos de log do CloudTrail,consulte a Referência de eventos do CloudTrail no AWS CloudTrail User Guide.

Procure também usar uma das soluções de parceiros da Amazon que são integradas com o CloudTrailpara ler e analisar seus arquivos de log do CloudTrail. Para ver essas opções, consulte a página deparceiros do AWS.

Versão da API API versão 2016-01-01251

Page 258: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEstatísticas da tarefa de replicação

Validação de tarefas do AWS DMSO AWS DMS concede suporte à validação de dados para garantir que seus dados sejam migrados comprecisão da origem para o destino. Quando você o ativa para uma tarefa, o AWS DMS começa a compararos dados de origem e destino imediatamente depois que o carregamento total de uma tabela é feito.

A validação de dados é opcional. O AWS DMS compara registros de origem e de destino, depois relatatodas as incompatibilidades. Além disso, para uma tarefa habilitada para CDC, o AWS DMS compara asalterações incrementais e relata as incompatibilidades.

Durante a validação de dados, o AWS DMS compara cada linha na origem com a linha correspondente nodestino e verifica se essas linhas contêm os mesmos dados. Para fazer isso, o AWS DMS emite consultasapropriadas para recuperar os dados. Observe que essas consultas consomem recursos adicionais naorigem e no destino, bem como outros recursos de rede.

A validação de dados funciona com os seguintes bancos de dados:

• Oracle• PostgreSQL• MySQL• MariaDB• Microsoft SQL Server• Amazon Aurora (MySQL)• Amazon Aurora (PostgreSQL)

A validação de dados requer tempo adicional, além da quantidade necessária para a migração em si. Otempo extra necessário depende do volume de dados que foi migrado.

As configurações de validação de dados incluem o seguinte:

• Para ativar a validação de dados, defina a configuração EnableValidation como true.• Para ajustar o número de threads de execução que o AWS DMS usa durante a validação, defina o

valor ThreadCount. O valor padrão para ThreadCount é 5. Se você definir ThreadCount comoum número maior, o AWS DMS concluirá a validação mais rápido, porém executará mais consultassimultâneas, o que consumirá mais recursos na origem e no destino.

Por exemplo, o seguinte JSON ativa a validação e aumenta o número de threads da configuração padrãode 5 para 8.

ValidationSettings": { "EnableValidation":true, "ThreadCount":8}

Estatísticas da tarefa de replicaçãoQuando a validação de dados é ativada, o AWS DMS passa as seguintes estatísticas no nível da tabela:

Versão da API API versão 2016-01-01252

Page 259: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEstatísticas da tarefa de replicação

• ValidationState - O estado de validação da tabela. O parâmetro pode ter os valores a seguir:• Não ativado - A validação não é ativada para a tabela na tarefa de migração.• Registros pendentes - Alguns registros na tabela aguardam validação.• Registros incompatíveis – alguns registros na tabela não correspondem entre a origem e o destino.

Uma incompatibilidade pode ocorrer por vários motivos. Para obter mais informações, consulte atabela awsdms_validation_failures no endpoint de destino.

• Registros suspensos – não foi possível validar alguns registros na tabela.• Nenhuma chave primária – não foi possível validar a tabela, pois ela não tinha uma chave primária.• Erro da tabela – não foi possível validar a tabela, pois ela estava em estado de erro, e alguns dados

não foram migrados.• Validadas – todas as linhas na tabela estão validadas. Se a tabela for atualizada, o status poderá não

ser mais Validado.• Erro – não foi possível validar a tabela por conta de um erro inesperado.

• ValidationPending – o número de registros que foram migrados para o destino, mas que ainda não foramvalidados.

ValidationSuspended - O número de registros que o AWS DMS não consegue comparar. Por exemplo,se um registro na origem for atualizado constantemente, o AWS DMS não conseguirá comparar aorigem e o destino. Para obter mais informações, consulte Configurações de tarefa de manipulação deerros (p. 217)

• ValidationFailed – o número de registros que não foram aprovados na fase de validação de dados. Paraobter mais informações, consulte Configurações de tarefa de manipulação de erros (p. 217).

• ValidationSucceededRecordCount– número de linhas validadas pelo AWS DMS, por minuto.• ValidationAttemptedRecordCount– número de linhas com tentativa de validação, por minuto.• ValidationFailedOverallCount– número de linhas onde a validação falhou.• ValidationSuspendedOverallCount– número de linhas onde a validação foi suspensa.• ValidationPendingOverallCount– número de linhas onde a validação ainda está pendente.• ValidationBulkQuerySourceLatency– o AWS DMS pode realizar a validação de dados em massa,

especialmente em certos cenários durante uma replicação de carregamento total ou contínua quandohouver muitas alterações. Essa métrica indica a latência necessária para ler um conjunto de dados emmassa a partir do endpoint de origem.

• ValidationBulkQueryTargetLatency– o AWS DMS pode realizar a validação de dados em massa,especialmente em certos cenários durante uma replicação de carregamento total ou contínua quandohouver muitas alterações. Essa métrica indica a latência necessária para ler um conjunto de dados emmassa no endpoint de destino.

• ValidationItemQuerySourceLatency– durante a replicação contínua, a validação de dados podeidentificar alterações contínuas e validar essas alterações. Essa métrica indica a latência de leitura dasalterações a partir da origem. A validação pode executar mais consultas do que o necessário, com baseno número de alterações, se houver erros durante a validação.

• ValidationItemQueryTargetLatency– durante a replicação contínua, a validação de dados pode identificaralterações contínuas e validar as alterações linha por linha. Essa métrica fornece a latência de leituradas alterações a partir do destino. A validação pode executar mais consultas do que o necessário, combase no número de alterações, se houver erros durante a validação.

Você pode visualizar as informações de validação de dados usando o console , o AWS CLI ou a API doAWS DMS.

• No console, você pode optar por validar uma tarefa ao criá-la ou modificá-la. Para visualizar o relatóriode validação de dados usando o console, escolha a tarefa na página Tarefas e escolha a guiaEstatísticas da tabela, na seção de detalhes.

• Usando o CLI, defina o parâmetro EnableValidation como true ao criar ou modificar uma tarefa paracomeçar a validação de dados. O exemplo a seguir cria uma tarefa e permite a validação de dados.

Versão da API API versão 2016-01-01253

Page 260: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSolução de problemas

create-replication-task --replication-task-settings '{"ValidationSettings":{"EnableValidation":true}}' --replication-instance-arn arn:aws:dms:us-east-1:5731014: rep:36KWVMB7Q --source-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CSZAEFQURFYMM --target-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CGPP7MF6WT4JQ --migration-type full-load-and-cdc --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": {"schema-name": "data_types", "table-name": "%"}, "rule-action": "include"}]}'

Use o comando describe-table-statistics para receber o relatório de validação de dados noformato JSON. O comando a seguir mostra o relatório de validação de dados.

aws dms describe-table-statistics --replication-task-arn arn:aws:dms:us-east-1:5731014:rep:36KWVMB7Q

O relatório seria semelhante ao seguinte.

{ "ReplicationTaskArn": "arn:aws:dms:us-west-2:5731014:task:VFPFTYKK2RYSI", "TableStatistics": [ { "ValidationPendingRecords": 2, "Inserts": 25, "ValidationState": "Pending records", "ValidationSuspendedRecords": 0, "LastUpdateTime": 1510181065.349, "FullLoadErrorRows": 0, "FullLoadCondtnlChkFailedRows": 0, "Ddls": 0, "TableName": "t_binary", "ValidationFailedRecords": 0, "Updates": 0, "FullLoadRows": 10, "TableState": "Table completed", "SchemaName": "d_types_s_sqlserver", "Deletes": 0 }}

• Usando a API do AWS DMS, crie uma tarefa usando a ação CreateReplicationTask e defina oparâmetro EnableValidation como true para validar os dados migrados pela tarefa. Use a açãoDescribeTableStatistics para receber o relatório de validação de dados no formato JSON.

Solução de problemasDurante a validação, o AWS DMS cria uma nova tabela no endpoint de destino:awsdms_validation_failures_v1. Se qualquer registro entrar no estadoValidationSuspended ou ValidationFailed, o AWS DMS gravará informações de diagnóstico emawsdms_validation_failures_v1. Você pode consultar essa tabela para ajudar a solucionar erros devalidação.

A seguir está uma descrição da tabela awsdms_validation_failures_v1:

Versão da API API versão 2016-01-01254

Page 261: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioLimitações

Nome dacoluna

Tipo de dados Descrição

TASK_NAME VARCHAR(128)NOT NULL

Identificador de tarefa do AWS DMS.

TABLE_OWNERVARCHAR(128)NOT NULL

Schema (proprietário) da tabela.

TABLE_NAMEVARCHAR(128)NOT NULL

Nome da tabela.

FAILURE_TIMEDATETIME(3)NOT NULL

Hora em que a falha ocorreu.

KEY TEXT NOT NULL Esta é a chave primária para o tipo de registro de linha.

FAILURE_TYPEVARCHAR(128)NOT NULL

Severidade do erro de validação. Pode ser Failed ou Suspended.

A consulta a seguir mostra todas as falhas de uma tarefa pela tabelaawsdms_validation_failures_v1. O nome da tarefa deve ser seu ID de recurso externo. O ID derecurso externo da tarefa é o último valor em seu ARN. Por exemplo, para uma tarefa com um valorde ARN arn:aws:dms:us-west-2:5599:task: VFPFKH4FJR3FTYKK2RYSI, o ID de recurso externo seráVFPFKH4FJR3FTYKK2RYSI.

select * from awsdms_validation_failures_v1 where TASK_NAME = ‘VFPFKH4FJR3FTYKK2RYSI’

Quando você tem a chave primária do registro que falhou, pode consultar os endpoints de origem e dedestino para ver qual parte do registro não corresponde.

Limitações• A validação de dados requer que a tabela tenha uma chave primária ou índice exclusivo.

• As colunas de chave primária não podem ser do tipo CLOB, BLOB ou BYTE.• Para colunas de chave primária do tipo VARCHAR ou CHAR, o comprimento deve ser inferior a 1024.

• Se o agrupamento da coluna de chave primária na instância PostgreSQL de destino não for definidocomo "C", a ordem de classificação da chave primária será diferente da ordem de classificação emOracle. Se a ordem de classificação for diferente entre PostgreSQL e Oracle, a validação de dados nãopoderá validar os registros.

• A validação de dados gera consultas adicionais em relação a bancos de dados de origem e destino. Osdois bancos de dados devem ter recursos suficientes para lidar com essa carga adicional.

• A validação de dados não é compatível se uma migração usa uma filtragem personalizada ou quandoconsolida vários bancos de dados em um.

• Para um endpoint Oracle de origem ou destino, o AWS DMS usa DBMS_CRYPTO para validar BLOBs.Se o endpoint da Oracle usar BLOBs, você deverá conceder a permissão de execução em dbms_cryptopara a conta de usuário que é usada para acessar esse endpoint. Para isso, execute a seguinteinstrução:

grant execute on sys.dbms_crypto to <dms_endpoint_user>;

Versão da API API versão 2016-01-01255

Page 262: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioLimitações

• Se o banco de dados de destino for modificado fora do AWS DMS durante a validação, as discrepânciaspoderão não ser relatadas com precisão. Esse resultado pode ocorrer se um de seus aplicativos gravardados na tabela de destino, enquanto o AWS DMS está executando a validação na mesma tabela.

• Se uma ou mais linhas forem modificadas continuamente durante a validação, o AWS DMS nãoconseguirá validar essas linhas. No entanto, você pode validar essas linhas manualmente após aconclusão da tarefa.

• Se o AWS DMS detectar mais de 10.000 registros com falha ou suspensos, ele interromperá avalidação. Antes de continuar, solucione os problemas subjacentes com os dados.

Versão da API API versão 2016-01-01256

Page 263: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Marcação de recursos no AWSDatabase Migration Service

Use tags no AWS Database Migration Service (AWS DMS) para adicionar metadados aos recursos. Alémdisso, use essas tags com políticas do AWS Identity and Access Management (IAM) para gerenciar oacesso aos recursos do AWS DMS e controlar as ações que podem ser aplicadas a eles. Finalmente, useessas tags para monitorar custos agrupando despesas de recursos marcados com tags semelhantes.

Todos os recursos do AWS DMS podem ser marcados com tags:

• Instâncias de replicação• Endpoints• Tarefas de replicação• Certificados

Uma tag do AWS DMS é um par de nome-valor que você define e associa a um recurso do AWS DMS.O nome é referido como a chave. Fornecer um valor para a chave é opcional. É possível usar tags paraatribuir informações arbitrárias a um recurso do AWS DMS. Uma chave de tags pode ser usada, porexemplo, para definir uma categoria, e o valor da tag pode ser um item nessa categoria. Por exemplo,você pode definir uma chave de tags de "projeto" e um valor de tag de "Salix", indicando que o recursodo AWS DMS é atribuído ao projeto Salix. As tags também podem ser usadas para designar recursosdo AWS DMS como sendo usados para testes ou produção, usando uma tag como ambiente=teste ouambiente=produção. Recomendamos que você use um conjunto consistente de chaves de tags parafacilitar o monitoramento de metadados associados aos recursos do AWS DMS.

Use tags para organizar sua conta da AWS para reproduzir sua própria estrutura de custo. Para isso,inscreva-se para obter sua conta da AWS com os valores de chave de tags incluídos. Então, para ver ocusto de recursos combinados, organize suas informações de faturamento de acordo com recursos comos mesmos valores de chave de tags. Por exemplo, você pode etiquetar vários recursos com um nome deaplicação específico, e depois organizar suas informações de faturamento para ver o custo total daquelaaplicação em vários serviços. Para mais informações, consulte Alocação de custos e uso de tags emSobre Faturamento da AWS e gerenciamento de custos.

Cada recurso do AWS DMS tem um conjunto que contém todas as tags atribuídas a ele. Um conjunto detags pode conter até dez tags ou estar vazio. Se você adicionar uma tag a um recurso do AWS DMS quetenha a mesma chave que uma tag existente no recurso, o novo valor substituirá o antigo.

O AWS não aplica nenhum significado semântico às tags. Elas são interpretadas estritamente comocadeias de caracteres. O AWS DMS pode definir tags em um recurso do AWS DMS, dependendo dasconfigurações que você usa ao criar o recurso.

A lista a seguir descreve as características de uma tag do AWS DMS.

• A chave de tags é o nome obrigatório da tag. O valor da string pode ter de 1 a 128 caracteres Unicodee não pode ter os prefixos "aws:" ou "dms:". A string pode conter apenas o conjunto de letras, dígitos,espaços em branco Unicode '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

• O valor da tag é um valor de string opcional da tag. O valor da string pode ter de 1 a 256 caracteresUnicode e não pode ter os prefixos "aws:" ou "dms:". A string pode conter apenas o conjunto de letras,dígitos, espaços em branco Unicode '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

Versão da API API versão 2016-01-01257

Page 264: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAPI

Os valores não têm que ser exclusivos em um conjunto de tags e podem ser nulos. Por exemplo, vocêpode ter um par de chave-valor em um conjunto de tags definido como projeto/Trinity e centro-custos/Trinity.

Você pode usar o AWS, CLI ou a API do AWS DMS para adicionar, listar e excluir tags em recursosdo AWS DMS. Ao usar o AWS CLI ou a API do AWS DMS, você deve fornecer o Nome de recurso daAmazon (ARN) do recurso do AWS DMS com o qual deseja trabalhar. Para obter mais informaçõessobre a criação de um ARN, consulte Criação de um nome de recurso da Amazon (ARN) para o AWSDMS (p. 12).

Observe que as tags ficam armazenadas em cache para fins de autorização. Por causa disso, as adiçõese atualizações a tags em recursos do AWS DMS podem demorar alguns minutos antes de ficaremdisponíveis.

APIÉ possível adicionar, listar ou remover tags de um recurso do AWS DMS usando a API do AWS DMS.

• Para adicionar uma tag a um recurso do AWS DMS use a operação AddTagsToResource.• Para listar as tags atribuídas a um recurso do AWS DMS, use a operação ListTagsForResource.• Para remover tags de um recurso do AWS DMS use a operação RemoveTagsFromResource.

Para saber mais sobre como criar o ARN necessário, consulte Criação de um nome de recurso da Amazon(ARN) para o AWS DMS (p. 12).

As tags usam o seguinte schema ao trabalhar com XML usando a API do AWS DMS:

<Tagging> <TagSet> <Tag> <Key>Project</Key> <Value>Trinity</Value> </Tag> <Tag> <Key>User</Key> <Value>Jones</Value> </Tag> </TagSet></Tagging>

A tabela a seguir fornece uma lista das tags XML permitidas e suas características. Observe queos valores de Chave e Valor diferenciam maiúsculas e minúsculas. Por exemplo, projeto=Trinity ePROJETO=Trinity são duas tags distintas.

Elemento de marcaçãopor tag

Descrição

TagSet Um conjunto de tags é um contêiner de todas as tags atribuídas a um recursodo Amazon RDS. Só pode haver um conjunto de tags por recurso. Vocêtrabalha com um TagSet somente através da API do AWS DMS.

Tag Uma tag é um par de chave-valor definido pelo usuário. Pode haver de 1 a 10tags em um conjunto de tags.

Versão da API API versão 2016-01-01258

Page 265: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAPI

Elemento de marcaçãopor tag

Descrição

Chave Uma chave é o nome obrigatório da tag. O valor da string pode ter de 1 a 128caracteres Unicode e não pode ter os prefixos "dms:" or "aws:". A string podeconter apenas o conjunto de letras, dígitos, espaços em branco Unicode '_', '.','/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

As chaves devem ser exclusivas a um conjunto de tags. Por exemplo, nãopode haver um par de chaves em um conjunto de tags com a mesma chavecom valores diferentes, como projeto/Trinity e projeto/Xanadu.

Valor Um valor é o valor opcional da tag. O valor da string pode ter de 1 a 256caracteres Unicode e não pode ter os prefixos "dms:" or "aws:". A string podeconter apenas o conjunto de letras, dígitos, espaços em branco Unicode '_', '.','/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

Os valores não têm que ser exclusivos em um conjunto de tags e podem sernulos. Por exemplo, você pode ter um par de chave-valor em um conjunto detags definido como projeto/Trinity e centro-custos/Trinity.

Versão da API API versão 2016-01-01259

Page 266: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

Trabalhar com eventos e notificaçõeso AWS Database Migration Service

O AWS Database Migration Service (AWS DMS) usa o Amazon Simple Notification Service (Amazon SNS)para fazer notificações sobre um evento ocorrido no AWS DMS, por exemplo a criação ou a exclusão deuma instância de replicação. Você pode utilizar essas notificações em qualquer formato compatível com oAmazon SNS em uma região do AWS, como por exemplo uma mensagem de e-mail, uma mensagem detexto, ou uma chamada para um endpoint HTTP.

O AWS DMS agrupa os eventos em categorias nas quais você pode fazer uma assinatura para recebernotificações quando ocorrer um evento dessa categoria. Por exemplo, se você fizer uma assinatura nacategoria de criação de uma instância de replicação específica, será notificado sempre que ocorrer umevento relacionado à criação que afete sua instância de replicação. Se fizer uma assinatura na categoriade alteração de configuração em uma instância de replicação, será notificado quando a configuração dainstância de replicação for alterada. Você também recebe uma notificação quando uma assinatura denotificação de evento é alterada. Para obter uma lista das categorias de eventos oferecidas pelo AWSDMS, consulte Categorias e mensagens de eventos do AWS DMS (p. 261).

O AWS DMS envia notificações de eventos para os endereços fornecidos quando a assinatura do eventoé criada. Pode ser interessante para você criar várias assinaturas diferentes, como por exemplo umaassinatura para receber todas as notificações de eventos e outra que inclua somente eventos críticos paraos seus recursos de produção do DMS. As notificações podem ser facilmente desativadas sem que sejanecessário excluir uma assinatura definindo-se a opção Enabled como No no console do AWS DMS ou oparâmetro Enabled como false usando a API do AWS DMS.

Note

As notificações de eventos do AWS DMS via mensagens de texto SMS estão disponíveis nomomento para recursos do AWS DMS em todas as regiões onde o AWS DMS é compatível.Para obter mais informações sobre como usar mensagens de texto com o SNS, consulte Envio erecebimento de notificações via SMS usando o Amazon SNS.

O AWS DMS usa um identificador de assinaturas para identificar cada assinatura. Você pode ter váriasassinaturas para eventos do AWS DMS publicadas no mesmo tópico do Amazon SNS. Quando você usaas notificações de eventos, são aplicadas as taxas do Amazon SNS; para obter mais informações sobrecobranças no Amazon SNS, consulte Definição de preços do Amazon SNS.

Para fazer uma assinatura para eventos do AWS DMS, use o seguinte processo:

1. Crie um tópico do Amazon SNS. Neste tópico, especifique o tipo de notificação que deseja receber epara qual endereço ou número a notificação deve ir.

2. Crie uma assinatura de notificação de evento do AWS DMS usando o Console de gerenciamento daAWS AWS CLI, ou a API do AWS DMS.

3. O AWS DMS envia um e-mail ou mensagem SMS de aprovação para os endereços que você submeteucom a assinatura. Para confirmar a assinatura, clique no link no e-mail ou mensagem SMS deaprovação.

4. Quando a assinatura é confirmada, o status da assinatura é atualizado na seção Event Subscriptions doconsole do AWS DMS.

5. Em seguida, você começará a receber notificações de eventos.

Versão da API API versão 2016-01-01260

Page 267: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCategorias e mensagens de eventos do AWS DMS

Para uma lista de categorias e eventos sobre os quais você pode ser notificado, consulte a próxima seção.Para obter mais detalhes sobre como fazer uma assinatura e utilizar assinaturas de eventos no AWS DMS,consulte Assinatura de notificação de eventos do AWS DMS (p. 263).

Categorias e mensagens de eventos do AWS DMSO AWS DMS gera um número significativo de eventos em categorias nas quais você pode fazer umaassinatura usando o console ou a API do AWS DMS. Cada categoria se aplica a um tipo de origem;atualmente o AWS DMS oferece suporte aos tipos de origem instância de replicação e tarefa dereplicação.

A tabela a seguir mostra as categorias e eventos existentes para o tipo de origem instância de replicação.

Categoria ID do evento no DMS Descrição

Alteração deconfiguração

DMS-EVENT-0012 REP_INSTANCE_CLASS_CHANGING – a classede instância de replicação para esta instância dereplicação está sendo alterada.

Alteração deconfiguração

DMS-EVENT-0014 REP_INSTANCE_CLASS_CHANGE_COMPLETE – aclasse de instância de replicação para esta instânciade replicação foi alterada.

Alteração deconfiguração

DMS-EVENT-0018 BEGIN_SCALE_STORAGE – o armazenamento paraesta instância de replicação está sendo aumentado.

Alteração deconfiguração

DMS-EVENT-0017 FINISH_SCALE_STORAGE – o armazenamento paraesta instância de replicação foi aumentado.

Alteração deconfiguração

DMS-EVENT-0024 BEGIN_CONVERSION_TO_HIGH_AVAILABILITY –a instância de replicação está em transição para umaconfiguração Multi-AZ.

Alteração deconfiguração

DMS-EVENT-0025 FINISH_CONVERSION_TO_HIGH_AVAILABILITY – ainstância de replicação concluiu a transição para umaconfiguração Multi-AZ.

Alteração deconfiguração

DMS-EVENT-0030 BEGIN_CONVERSION_TO_NON_HIGH_AVAILABILITY– a instância de replicação está em transição para umaconfiguração Single-AZ.

Alteração deconfiguração

DMS-EVENT-0029 FINISH_CONVERSION_TO_NON_HIGH_AVAILABILITY– a instância de replicação concluiu a transição parauma configuração Single-AZ.

Criação DMS-EVENT-0067 CREATING_REPLICATION_INSTANCE – umainstância de replicação está sendo criada.

Criação DMS-EVENT-0005 CREATED_REPLICATION_INSTANCE – umainstância de replicação foi criada.

Exclusão DMS-EVENT-0066 DELETING_REPLICATION_INSTANCE – a instânciade replicação está sendo excluída.

Exclusão DMS-EVENT-0003 DELETED_REPLICATION_INSTANCE – a instância dereplicação foi excluída.

Versão da API API versão 2016-01-01261

Page 268: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCategorias e mensagens de eventos do AWS DMS

Categoria ID do evento no DMS Descrição

Manutenção DMS-EVENT-0047 FINISH_PATCH_INSTANCE – o software degerenciamento na instância de replicação foiatualizado.

Manutenção DMS-EVENT-0026 BEGIN_PATCH_OFFLINE – a manutenção offline dainstância de replicação está em andamento A instânciade replicação não está disponível no momento.

Manutenção DMS-EVENT-0027 FINISH_PATCH_OFFLINE – a manutenção offline dainstância de replicação foi concluída. A instância dereplicação está disponível agora.

Pouco espaço dearmazenamento

DMS-EVENT-0007 LOW_STORAGE – o espaço de armazenamentogratuito desta instância de replicação está reduzido.

Failover DMS-EVENT-0013 FAILOVER_STARTED – o processo de failover foiiniciado para uma instância de replicação com Multi-AZ.

Failover DMS-EVENT-0049 FAILOVER_COMPLETED – o processo de failover foiconcluído para uma instância de replicação com Multi-AZ.

Failover DMS-EVENT-0050 MAZ_INSTANCE_ACTIVATION_STARTED – aativação da Multi-AZ foi iniciada.

Failover DMS-EVENT-0051 MAZ_INSTANCE_ACTIVATION_COMPLETED – aativação da Multi-AZ foi concluída.

Falha DMS-EVENT-0031 REPLICATION_INSTANCE_FAILURE – ocorreu umafalha de armazenamento na instância de replicação.

Falha DMS-EVENT-0036 INCOMPATIBLE_NETWORK – a instância dereplicação falhou devido a uma incompatibilidade darede.

A tabela a seguir mostra as categorias e eventos possíveis para o tipo de origem tarefa de replicação.

Categoria ID do evento no DMS Descrição

Alteração deestado

DMS-EVENT-0069 REPLICATION_TASK_STARTED – a tarefa dereplicação foi iniciada.

Alteração deestado

DMS-EVENT-0077 REPLICATION_TASK_STOPPED – a tarefa dereplicação foi interrompida.

Falha DMS-EVENT-0078 REPLICATION_TASK_FAILED – uma tarefa dereplicação falhou.

Exclusão DMS-EVENT-0073 REPLICATION_TASK_DELETED – a tarefa dereplicação foi excluída.

Criação DMS-EVENT-0074 REPLICATION_TASK_CREATED – a tarefa dereplicação foi criada.

Versão da API API versão 2016-01-01262

Page 269: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAssinatura de notificação de eventos do AWS DMS

Assinatura de notificação de eventos do AWS DMSVocê pode fazer uma assinatura de notificação de eventos do AWS DMS a fim de ser notificado quandoocorrer um evento no AWS DMS. A forma mais fácil de fazer uma assinatura é com o console do AWSDMS. Se você preferir fazer assinaturas de notificação de eventos usando a API do AWS DMS, deverácriar um tópico do Amazon SNS e fazer a assinatura deste tópico com o console do Amazon SNS ou aAPI. Nesse caso, você também precisa anotar o Nome de recurso da Amazon (ARN) do tópico, pois oARN é usado para enviar comandos no CLI ou ações da API. Para obter informações sobre como criar umtópico do Amazon SNS e fazer uma assinatura dele, consulte Conceitos básicos do Amazon SNS.

Em uma assinatura de notificação, você pode especificar o tipo de origem sobre o qual deseja sernotificado e a origem no AWS DMS que acionará o evento. Defina o tipo de origem do AWS DMS usandoum valor de SourceType. Defina a origem que vai gerar o evento usando um valor de SourceIdentifier. Sevocê especificar ambos os valores de SourceType e SourceIdentifier, como por exemplo SourceType =db-instance e SourceIdentifier = myDBInstance1, receberá notificações de todos os eventosde DB_Instance para a origem especificada. Se especificar o SourceType mas o não SourceIdentifier,receberá notificações de eventos para aquele tipo de origem de todas as suas origens no AWS DMS. Sevocê não especificar o SourceType nem o SourceIdentifier, receberá notificações de eventos gerados portodas as origens do AWS DMS que pertencerem à sua conta de cliente.

Console de gerenciamento da AWSPara fazer uma assinatura de notificação de eventos do AWS DMS usando o console

1. Faça login no Console de Gerenciamento da AWS e escolha o AWS DMS. Observe que se vocêefetua seu logon como usuário do AWS Identity and Access Management (IAM), deve ter aspermissões necessárias para acessar o AWS DMS.

2. No painel de navegação, escolha Event Subscriptions.3. Na página Event Subscriptions, escolha Create Event Subscription.4. Na página Create Event Subscription, faça o seguinte:

a. Em Name, digite um nome para a assinatura de notificação de eventos.b. Escolha um tópico existente do Amazon SNS em Send notifications to, ou escolha create topic. É

necessário que já exista um tópico do Amazon SNS para onde enviar notificações, ou então serápreciso criar um tópico. Se você escolher create topic, insira um endereço de e-mail para receberas notificações.

c. Em Source Type, escolha um tipo de origem. A única opção é replication instance.d. Escolha Yes para habilitar a assinatura. Se quiser criar a assinatura mas ainda não quiser receber

notificações, escolha No.e. Dependendo do tipo de origem selecionado, escolha as categorias de eventos e as origens para

as quais deseja receber notificações.

Versão da API API versão 2016-01-01263

Page 270: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAPI do AWS DMS

f. Escolha Criar.

O console do AWS DMS indica que a assinatura está sendo criada.

API do AWS DMSPara fazer uma assinatura de notificação de eventos do AWS DMS usando a API do AWS DMS

• Chame CreateEventSubscription.

Versão da API API versão 2016-01-01264

Page 271: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioVisão geral do processo

Migração de grandesarmazenamentos de dados usando oAWS Database Migration Service e oAWS Snowball

Grandes migrações de dados podem incluir muitos terabytes de informações, mas podem ter a velocidadereduzida pelo desempenho da rede e pela enorme quantidade de dados que precisa ser movida. O AWSDMS pode carregar dados em um dispositivo do AWS Snowball, transferi-los para a AWS e, em seguida,carregá-los no datastore da AWS de destino.

Com o uso do AWS DMS e da AWS Schema Conversion Tool (AWS SCT), você migra os dados em duasfases. Primeiro, você usa o AWS SCT para processar os dados localmente e, em seguida, movê-los parao dispositivo do AWS Snowball Edge. O AWS Snowball então carrega automaticamente os dados para umbucket do Amazon S3. Em seguida, quando os dados estão disponíveis no Amazon S3, o AWS DMS pegaos arquivos e migra os dados para o datastore de destino. Se você estiver usando a captura de dados dealterações (CDC), essas atualizações serão gravadas no bucket do Amazon S3, e o datastore de destinoserá constantemente atualizado.

O AWS Snowball é um serviço da AWS que você usa para transferir dados para a nuvem em velocidadesmais altas do que a da rede, com o uso de um dispositivo de propriedade da AWS. Um dispositivo do AWSSnowball Edge é capaz de comportar até 100 TB de dados. Ele usa criptografia de 256 bits e um TrustedPlatform Module (TPM) padrão do setor que é projetado para garantir a segurança e a cadeia de custódiaintegral para seus dados.

O Amazon S3 é um serviço de armazenamento e recuperação. Para armazenar um objeto no Amazon S3,você carrega o arquivo que deseja armazenar no bucket. Quando você carrega um arquivo, pode definirpermissões sobre o objeto e também em todos os metadados.

O AWS DMS aceita os seguintes cenários:

• Migração de um data warehouse local para o Amazon Redshift. Essa abordagem envolve umainstalação de software do lado do cliente da AWS Schema Conversion Tool. A ferramenta lê informaçõesdo warehouse (o extrator), depois move os dados para o S3 ou o Snowball. Em seguida, na NuvemAWS, as informações são lidas do S3 ou do Snowball e injetadas no Amazon Redshift.

• Migração de um banco de dados relacional local para um banco de dados do Amazon RDS. Essaabordagem novamente envolve uma instalação de software do lado do cliente da AWS SchemaConversion Tool. A ferramenta lê informações de um banco de dados local que a AWS aceita. Aferramenta move dados para o S3 ou o Snowball. Quando os dados estão na Nuvem AWS, o AWS DMSos grava em um banco de dados compatível no Amazon EC2 ou no Amazon RDS.

Visão geral do processoO processo de uso do AWS DMS e do AWS Snowball envolve várias etapas. Mas ele não usa somenteo AWS DMS e o AWS Snowball, mas também a AWS Schema Conversion Tool (AWS SCT). As seçõesseguintes a esta visão geral apresentam um guia passo a passo de cada uma dessas tarefas.

Versão da API API versão 2016-01-01265

Page 272: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioVisão geral do processo

Note

Recomendamos que você teste sua migração antes de usar o dispositivo do AWS Snowball. Paraisso, você pode configurar uma tarefa para enviar dados, como uma tabela individual, em umbucket do Amazon S3 em vez do dispositivo do AWS Snowball.

A migração envolve uma tarefa local, em que a AWS SCT move os dados para o dispositivo do AWSSnowball Edge, uma ação intermediários pela qual os dados são copiados do dispositivo do AWS SnowballEdge em um bucket do S3. Em seguida, o processo envolve uma tarefa remota, em que o AWS DMScarrega os dados do bucket do Amazon S3 para o datastore de destino na AWS.

As seguintes etapas precisam ocorrer para migrar dados de um datastore local para um datastore da AWSusando o AWS Snowball.

1. Crie um trabalho do AWS Snowball usando o console do AWS Snowball. Para obter mais informações,consulte Criar um trabalho de importação, na documentação do AWS Snowball.

2. Baixe e instale o aplicativo AWS SCT em uma máquina local. A máquina deve ter acesso à rede eà conta da AWS que será usada para a migração. Para obter mais informações sobre os sistemasoperacionais em que a AWS SCT pode ser instalada, consulte Instalação e atualização da AWSSchema Conversion Tool .

3. Instale o AWS SCT DMS Agent (DMS Agent) em uma máquina Linux dedicada local. Recomendamosque você não instale o DMS Agent na mesma máquina em que for instalar o aplicativo AWS SCT.

4. Desbloqueie o dispositivo AWS Snowball Edge usando a máquina Linux dedicada local onde vocêinstalou o DMS Agent.

5. Crie de um novo projeto na AWS SCT.6. Configure a AWS SCT para usar o DMS Agent.7. Registre o DMS Agent na AWS SCT.8. Instale o driver no banco de dados de origem na máquina dedicada em que você instalou o DMS Agent.9. Crie e defina permissões para o bucket do Amazon S3 usar.10.Edite o Perfil de serviço da AWS na AWS SCT.11.Crie uma Tarefa local e DMS na SCT.12.Execute e monitore a Tarefa local e DMS na SCT.13.Execute a tarefa da AWS SCT e monitore o progresso na SCT.

Versão da API API versão 2016-01-01266

Page 273: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioProcedimentos passo a passo para migrar

dados usando o AWS DMS e o AWS Snowball

Procedimentos passo a passo para migrar dadosusando o AWS DMS e o AWS Snowball

As seções a seguir apresentam informações detalhadas sobre as etapas de migração.

Etapa 1: criar um trabalho do AWS SnowballCrie um trabalho do AWS Snowball seguindo as etapas descritas na seção Conceitos básicos do AWSSnowball Edge: seu primeiro trabalho, na documentação do AWS Snowball.

Etapa 2: baixar e instalar a AWS Schema ConversionTool (SCT)Baixe e instale a AWS Schema Conversion Tool seguindo as instruções em Instalação e atualização daAWS Schema Conversion Tool, na documentação da AWS SCT. Instale a AWS SCT em uma máquinalocal que tenha acesso à AWS. Esta máquina deve ser diferente de onde você pretende instalar o DMSAgent.

Etapa 3: instalar e configurar o AWS SCT DMS AgentNesta etapa, você instala o DMS Agent em uma máquina dedicada que tenha acesso à AWS e à máquinaem que a AWS SCT foi instalada.

Você pode instalar o DMS Agent nas seguintes plataformas Linux:

• Red Hat Enterprise Linux versões 6.2 a 6.8, 7.0 e 7.1 (64 bits)• SUSE Linux versão 11.1 (64 bits)

Para instalar DMS Agent

1. Copie o arquivo RPM chamado aws-schema-conversion-tool-dms-agent-2.4.0-R2.x86_64.rpm do diretório de instalação da AWS SCT em uma máquina Linux dedicada.

2. Execute o seguinte comando como raiz para instalar o DMS Agent. Se você instalar ou atualizar oDMS Agent no SUSE Linux, adicione o parâmetro --nodeps ao comando.

sudo rpm -i aws-schema-conversion-tool-dms-agent-2.4.0-R2.x86_64.rpm

O local de instalação padrão é /opt/amazon/aws-schema-conversion-tool-dms-agent. Para instalar oDMS Agent em um diretório não padrão, use --prefix <path to new product dir>.

3. Para verificar se o Amazon RDS Migration Server está em execução, execute o seguinte comando.

ps -ef | grep repctl

O resultado deste comando deve mostrar dois processos em execução.

Para configurar o DMS Agent, informe uma senha e o número da porta. Você usa a senha na AWS SCT,mantenha-a em mãos. A porta é aquela que o DMS Agent deve escutar para conexões da AWS SCT.Você pode precisar configurar seu firewall para permitir a conectividade.

Versão da API API versão 2016-01-01267

Page 274: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 4: desbloquear o dispositivo AWS Snowball Edge

Execute o seguinte script para configurar o DMS Agent.

sudo /opt/amazon/aws-schema-conversion-tool-dms-agent/bin/configure.sh

Etapa 4: desbloquear o dispositivo AWS SnowballEdgeVocê deve executar os comandos que desbloqueiam e informam as credenciais para o dispositivoSnowball Edge pela máquina em que instalou o DMS Agent. Dessa forma, você saberá que a chamada doDMS Agent se conectará com o dispositivo AWS Snowball Edge. Para obter mais informações sobre comodesbloquear o dispositivo AWS Snowball Edge, consulte Desbloqueio do Snowball Edge .

Por exemplo, o comando a seguir relaciona o bucket do Amazon S3 usado pelo dispositivo.

aws s3 ls s3://<bucket-name> --profile <Snowball Edge profile> --endpoint http://<Snowball IP>:8080 --recursive

Etapa 5: criar um novo projeto da AWS SCTAgora você criará um novo projeto da AWS SCT.

Para criar um novo projeto na AWS SCT

1. Inicie a AWS SCT e escolha Novo projeto para Arquivo. A caixa de diálogo Novo projeto é exibida.2. Adicione as seguintes informações de projeto.

Para este parâmetro Faça o seguinte

Project Name Digite um nome para o projeto, que é armazenadolocalmente no computador.

Local Digite a localização do arquivo do projeto local.

OLTP Escolha Banco de dados transacional (OLTP).

Mecanismo de banco de dados deorigem

Escolha o datastore de origem.

Mecanismo de banco de dados dedestino

Escolha o datastore de destino.

3. Escolha OK para criar o projeto da AWS SCT.4. (Opcional) Teste sua conexão.

Etapa 6: configurar o perfil da AWS SCT paratrabalhar com o DMS AgentO perfil da AWS SCT deve ser atualizado para usar o DMS Agent.

Versão da API API versão 2016-01-01268

Page 275: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 6: configurar o perfil da AWS SCT

Para atualizar o perfil da AWS SCT para trabalhar com o DMS Agent

1. Inicie a AWS SCT.2. Selecione Configurações e Configurações globais. Escolha Perfis de serviço da AWS.3. Escolha Adicionar novo perfil do serviço da AWS.

4. Adicione as seguintes informações de perfil.

Para este parâmetro Faça o seguinte

Profile Name Digite um nome para o seu perfil.

Chave de acesso da AWS Digite a chave de acesso da AWS para a conta da AWS ea região da AWS que você pretende usar para a migração.

Chave secreta da AWS Digite a chave secreta da AWS para a conta da AWS e aregião da AWS que você pretende usar para a migração.

Região Escolha a região da AWS referente à conta que você estáusando. Sua instância de replicação do DMS, bucket doS3 e datastore de destino devem estar nesta região daAWS.

Pasta Bucket do S3 Digite um nome para o bucket do S3 que você recebeuquando criou o trabalho do AWS Snowball.

5. Depois de inserir as informações, escolha Testar conexão para verificar se a AWS SCT pode seconectar ao bucket do Amazon S3.

Versão da API API versão 2016-01-01269

Page 276: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 7: registrar o DMS Agent

A seção Migração de dados OLTP local e por DMS, na janela pop-up, deve mostrar todas as entradascom status de Aprovação. Se o teste falhar, a falha provavelmente será porque a conta que você estáusando não tem os privilégios corretos para acessar o bucket do Amazon S3.

6. Se o teste for aprovado, escolha OK e OK novamente para fechar a janela e a caixa de diálogo.

Etapa 7: registrar o DMS Agent na AWS SCTVocê agora registrará o DMS Agent na AWS SCT. A SCT tentará se conectar ao agente, mostrando ostatus. Quando o agente estiver disponível, o status mudará para ativo.

Para registrar o DMS Agent

1. Inicie a AWS SCT, escolha Exibir, depois escolha Database Migration View (DMS).

2. Escolha a guia Agente, depois escolha Registrar. A caixa de diálogo Novo registro de agente éexibida.

3. Digite suas informações na caixa de diálogo Novo registro de agente.

Para este parâmetro Faça o seguinte

Description Digite o nome do agente, que é DMS Agent.

Nome do host Digite o endereço IP da máquina em que você instalou oDMS Agent.

Port (Porta) Digite o número da porta que você usou quandoconfigurou o DMS Agent.

Password Digite a senha que você usou quando configurou o DMSAgent.

Versão da API API versão 2016-01-01270

Page 277: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 8: instalar o driver do banco de dados de origem

4. Escolha Registrar para registrar o agente em seu projeto da AWS SCT.

Etapa 8: instalar o driver do banco de dados de origempara o DMS Agent no computador LinuxPara que a migração aconteça, o DMS Agent deve se conectar com o banco de dados de origem. Parafazer isso, instale o driver referente ao banco de dados de origem. O driver necessário varia de acordocom o banco de dados.

Para reiniciar o DMS Agent após a instalação do driver do banco de dados, altere o diretório de trabalhopara <product_dir>/bin e use as etapas listadas para cada banco de dados de origem.

cd <product_dir>/bin./arep.ctl stop./arep.ctl start

Para instalar no Oracle

Instale o Oracle Instant Client para Linux (x86-64) versão 11.2.0.3.0 ou posterior.

Além disso, se já não estiver incluído no seu sistema, você precisa criar um link simbólico no diretório$ORACLE_HOME\lib. Este link deve ser chamado de libclntsh.so e deve apontar para uma versãoespecífica deste arquivo. Por exemplo, em um cliente Oracle 12c:

lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -> /u01/app/oracle/home/lib/libclntsh.so.12.1

Além disso, a variável de ambiente LD_LIBRARY_PATH deve ser associada ao diretório lib do Oraclee adicionada ao script site_arep_login.sh na pasta lib da instalação. Adicione esse script se ele nãoexistir.

vi cat <product dir>/bin/site_arep_login.sh

export ORACLE_HOME=/usr/lib/oracle/12.2/client64; export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Para instalar no Microsoft SQL Server

Instalar o driver de ODBC da Microsoft

Atualize o site_arep_login.sh com seguinte código.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql/lib64/

Driver de ODBC do Simba

Instalar o driver de ODBC da Microsoft

Edite o arquivo simba.sqlserverodbc.ini da seguinte forma

DriverManagerEncoding=UTF-16ODBCInstLib=libodbcinst.so

Versão da API API versão 2016-01-01271

Page 278: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 8: instalar o driver do banco de dados de origem

Para instalar no SAP Sybase

O cliente SAP Sybase ASE ODBC de 64 bits deve ser instalado

Se o diretório de instalação for /opt/sap, atualize o site_arep_login.sh com

export SYBASE_HOME=/opt/sapexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYBASE_HOME/ DataAccess64/ODBC/lib:$SYBASE_HOME/DataAccess/ODBC/ lib:$SYBASE_HOME/OCS-16_0/lib:$SYBASE_HOME/OCS-16_0/ lib3p64:$SYBASE_HOME/OCS-16_0/lib3p

O /etc/odbcinst.ini deve incluir essas entradas

[Sybase]Driver=/opt/sap/DataAccess64/ODBC/lib/libsybdrvodb.soDescription=Sybase ODBC driver

Para instalar no MySQL

Instale o MySQL Connector/ODBC para Linux, versão 5.2.6 ou posterior

Verifique se o arquivo /etc/odbcinst.ini contém uma entrada para MySQL, como no exemplo a seguir

[MySQL ODBC 5.2.6 Unicode Driver]Driver = /usr/lib64/libmyodbc5w.so UsageCount = 1

Para instalar no PostgreSQL

Instale postgresql94-9.4.4-1PGDG.<Versão do SO>.x86_64.rpm. Este é o pacote que contém o psqlexecutável.

Por exemplo, postgresql94-9.4.4-1PGDG.rhel7.x86_64.rpm é o pacote necessário para o Red Hat 7.

Instale o driver de ODBC postgresql94-odbc-09.03.0400-1PGDG.<Versão do SO>.x86_64 ou superiorpara Linux, em que <versão do SO> é o sistema operacional da máquina do agente.

Por exemplo, postgresql94-odbc-09.03.0400-1PGDG.rhel7.x86_64 é o cliente necessário para o RedHat 7.

Verifique se o arquivo /etc/odbcinst.ini contém uma entrada para PostgreSQL, como no exemplo aseguir

[PostgreSQL]Description = PostgreSQL ODBC driverDriver = /usr/pgsql-9.4/lib/psqlodbc.soSetup = /usr/pgsql-9.4/lib/psqlodbcw.soDebug = 0CommLog = 1UsageCount = 2

Versão da API API versão 2016-01-01272

Page 279: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 9: configurar a AWS SCT para

acessar o bucket do Amazon S3

Etapa 9: configurar a AWS SCT para acessar o bucketdo Amazon S3Para obter informações sobre como configurar um bucket do Amazon S3, consulte Como trabalhar combuckets do Amazon S3, na documentação do Amazon S3.

Note

Para usar o bucket do Amazon S3 resultante na migração, você precisa ter uma instância dereplicação do AWS DMS criada na mesma região da AWS que o bucket do S3. Para criar uma,use o Console de gerenciamento do AWS DMS, como descrito em Etapa 2: criar uma instância dereplicação (p. 18).

Etapa 10: criar uma tarefa local e DMSEm seguida, você cria a tarefa de migração completa. A tarefa inclui duas subtarefas. Uma subtarefa migradados do banco de dados de origem para o dispositivo AWS Snowball. A outra subtarefa leva os dadosque o dispositivo carrega em um bucket do Amazon S3 e os migra para o banco de dados de destino.

Para criar a tarefa de migração completa

1. Inicie a AWS SCT, escolha Exibir, depois escolha Exibir migração de banco de dados (Local e DMS).

2. No painel esquerdo que exibe o schema do banco de dados de origem, escolha um objeto de schemapara migrar. Abra o menu de contexto (clique com o botão direito do mouse) do objeto e escolha Criartarefa local e DMS.

3. Adicione as informações da tarefa.

Versão da API API versão 2016-01-01273

Page 280: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 10: criar uma tarefa local e DMS

Para este parâmetro Faça o seguinte

Task Name Digite um nome para a tarefa.

Agente Escolha DMS Agent.

Replication Instance Escolha a instância de replicação do AWS DMS que vocêdeseja usar.

Tipo de migração Escolha o tipo de migração que você deseja.

Escolha Migrar dados existentes para migrar o conteúdodo schema escolhido. Esse processo é chamadocarregamento total no AWS DMS.

Escolha Migrar dados existentes e replicar as alteraçõescontínuas para migrar o conteúdo do schema escolhido ecapturar todas as alterações contínuas para o banco dedados. Esse processo é chamado carregamento total eCDC no AWS DMS.

Target table preparation mode Escolha o modo de preparação que deseja usar.

Truncate - as tabelas são truncadas sem afetar osmetadados delas.

Drop tables on target - as tabelas são abandonadas enovas tabelas são criadas no lugar.

Do nothing - os dados e metadados das tabelas de destinonão são alterados.

Função do IAM Escolha a função do IAM predefinida que tem permissõespara acessar o bucket do Amazon S3 e o banco dedados de destino. Para obter mais informações sobreas permissões necessárias para acessar um bucket doAmazon S3, consulte Pré-requisitos ao usar o S3 comoorigem para o AWS DMS (p. 145).

Registro em log Escolha Ativar para que o AWS CloudWatch crie logspara a migração. Este serviço é cobrado. Para obter maisinformações sobre o AWS CloudWatch, consulte Comofunciona o Amazon CloudWatch .

Description Digite uma descrição da tarefa.

Usar o Snowball Marque esta caixa de seleção para usar o Snowball.

Nome do trabalho Escolha o nome do trabalho do AWS Snowball que vocêcriou.

IP do Snowball Digite o endereço IP do dispositivo AWS Snowball.

Port (Porta) Digite o valor de porta do dispositivo AWS Snowball.

Chave de acesso local do AWS S3 Digite a chave de acesso da AWS referente à conta quevocê está usando na migração.

Versão da API API versão 2016-01-01274

Page 281: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioEtapa 11: executar e monitorar a tarefa local e DMS na SCT

Para este parâmetro Faça o seguinte

Chave secreta local do AWS S3 Digite a chave secreta da AWS referente à conta que vocêestá usando na migração.

4. Escolha Criar para criar a tarefa.

Etapa 11: executar e monitorar a tarefa local e DMSna SCTVocê pode iniciar a tarefa local e DMS quando todas as conexões com endpoints são bem-sucedidas. Issosignifica que todas as conexões da tarefa local, que inclui conexões do DMS Agent com o banco de dadosde origem, a preparação do bucket do Amazon S3 e do dispositivo AWS Snowball, além das conexõesda tarefa DMS, que inclui conexões da preparação do bucket do Amazon S3 com o banco de dados dedestino na AWS.

Você pode monitorar os logs do DMS Agent escolhendo Mostrar log. Os detalhes de log incluem logs doservidor do agente (Log do agente) e da tarefa em execução local (Log da tarefa. Como a conectividade doendpoint é feita pelo servidor (uma vez que a tarefa local não está em execução e não há logs de tarefas),os problemas de conexão são listados na guia Log do agente.

Etapa 12: gerenciar o dispositivo AWS SnowballDepois que o dispositivo Snowball é totalmente carregado, a AWS SCT atualiza o status da tarefa paramostrá-la como 50% concluída. Lembre-se de que a outra parte da tarefa envolve a ação em que o AWSDMS leva os dados do Amazon S3 para o datastore de destino.

Para fazer isso, desconecte o dispositivo AWS Snowball e o devolva para a AWS. Para obter maisinformações sobre a devolução do dispositivo AWS Snowball para a AWS, consulte as etapas descritasem Conceitos básicos sobre o AWS Snowball Edge: seu primeiro trabalho, na documentação do AWSSnowball. Você pode usar o console do AWS Snowball ou AWS SCT (mostrar detalhes da tarefa DMS)para verificar o status do dispositivo e descobrir quando o AWS DMS começa a carregar dados no bucketdo Amazon S3.

Versão da API API versão 2016-01-01275

Page 282: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSnowball para o Amazon S3

Depois que o dispositivo AWS Snowball chega à AWS e descarrega dados no bucket do S3, vocêconsegue ver que a tarefa (DMS) remota começa a executar. Se o tipo de migração que você selecionoupara a tarefa foi Migrar dados existentes, o status da tarefa DMS mostrará 100% concluído quando osdados forem transferidos do Amazon S3 para o datastore de destino. Se você definir que o modo de tarefainclua replicação contínua, depois que o carregamento total for concluído, o status da tarefa mostrará quea tarefa continua em execução, enquanto o AWS DMS aplica as alterações contínuas.

Limitações ao trabalhar com o AWS Snowball e oAWS Database Migration Service (AWS DMS)Há algumas limitações que você deve conhecer ao trabalhar com o AWS Snowball.

• O modo LOB limita o arquivo LOB a 32K.• Se ocorrer um erro durante a migração de dados no carregamento do banco de dados local para o

dispositivo AWS Snowball Edge ou quando o AWS DMS carregar dados do Amazon S3 para o banco dedados de destino, a tarefa será reiniciada se o erro for recuperável. Se o AWS DMS não se recuperar doerro, a migração será interrompida.

• Cada tarefa da AWS SCT cria duas conexões de endpoint no AWS DMS. Se você criar várias tarefas,poderá atingir um limite de recursos para o número de endpoints que podem ser criados.

Versão da API API versão 2016-01-01276

Page 283: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTarefas de migração de execução lenta

Solução de problemas de tarefasde migração no AWS DatabaseMigration Service

As seguintes seções fornecem informações sobre a solução de problemas com o AWS Database MigrationService (AWS DMS).

Tópicos• Tarefas de migração de execução lenta (p. 277)• Barra de status de tarefa não se move (p. 278)• Chaves externas e índices secundários ausentes (p. 278)• Problemas de conexão do Amazon RDS (p. 278)• Problemas de rede (p. 279)• CDC travado após carregamento completo (p. 279)• Erros de violação de chave primária ao reiniciar uma tarefa (p. 279)• Falha no carregamento inicial do schema (p. 279)• Tarefas falham com erro desconhecido (p. 280)• Tarefa recomeça o carregamento de tabelas desde o início (p. 280)• Número de tabelas por tarefa (p. 280)• Solução de problemas específicos ao Oracle (p. 280)• Solução de problemas específicos ao MySQL (p. 283)• Solução de problemas específicos ao PostgreSQL (p. 287)• Solução de problemas específicos ao Microsoft SQL Server (p. 289)• Solução de problemas específicos ao Amazon Redshift (p. 290)• Solução de problemas específicos do Amazon Aurora MySQL (p. 291)

Tarefas de migração de execução lentaDiversos problemas podem fazer com que uma tarefa de migração seja executada lentamente ou fazercom que tarefas subsequentes sejam executadas mais lentamente que a tarefa inicial. O motivo maiscomum para uma tarefa de migração em execução lenta é que há recursos inadequados alocados àinstância de replicação do AWS DMS. Verifique o uso de CPU, memória, arquivos de troca e IOPs dainstância de replicação para garantir que ela tenha recursos suficientes para as tarefas que você estáexecutando nela. Por exemplo, várias tarefas com o Amazon Redshift como endpoint têm grande usode E/S. É possível aumentar IOPS da sua instância de replicação ou separar as suas tarefas em váriasinstâncias de replicação para uma migração mais eficiente.

Para obter mais informações sobre a determinação do tamanho da sua instância de replicação, consulteSeleção do tamanho ideal de uma instância de replicação (p. 295)

É possível aumentar a velocidade de um carregamento de migração inicial fazendo o seguinte:

• Se o destino for uma instância de banco de dados do Amazon RDS, verifique se o Multi-AZ não estáhabilitado para a instância de banco de dados de destino.

Versão da API API versão 2016-01-01277

Page 284: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioBarra de status de tarefa não se move

• Desligue todos os backups automáticos ou registros no banco de dados de destino durante ocarregamento e religue-os assim que a migração estiver concluída.

• Se o recurso estiver disponível no destino, use IOPs provisionadas.• Se os dados de migração tiverem LOBs, confirme se a tarefa é otimizada para a migração de LOB.

Consulte Configurações de tarefa de metadados de destino (p. 210) para obter mais informações sobrea otimização de LOBs.

Barra de status de tarefa não se moveA barra de status de tarefa fornece uma estimativa do andamento da tarefa. A qualidade dessa estimativadepende da qualidade das estatísticas de tabela do banco de dados de origem: quanto melhores asestatísticas de tabela, mais precisa a estimativa. Para uma tarefa com apenas uma tabela que não temnenhuma estatística de linha estimada, não é possível fornecer nenhum tipo de estimativa de porcentagemde conclusão. Nesse caso, o estado da tarefa e a indicação de linhas carregadas podem ser usados paraconfirmar que a tarefa realmente está sendo executada e progredindo.

Chaves externas e índices secundários ausentesO AWS DMS cria tabelas, chaves primárias e, em alguns casos, índices únicos, mas não cria nenhumoutro objeto que não seja necessário para migrar os dados da origem efetivamente. Por exemplo, ele nãocria índices secundários, restrições de chave não primária ou padrões de dados.

Para migrar objetos secundários do seu banco de dados, use as ferramentas nativas dele se estivermigrando para o mesmo mecanismo de banco de dados que o seu banco de dados de origem. Use aFerramenta de conversão de esquema se estiver migrando para um mecanismo de banco de dadosdiferente do usado pelo seu banco de dados de origem para migrar objetos secundários.

Problemas de conexão do Amazon RDSPode haver vários motivos para você não conseguir se conectar a uma instância de banco de dados doAmazon RDS definida como endpoint. Dentre elas estão:

• Combinação de usuário e senha está incorreta.• Verifique se o valor do endpoint mostrado no console do Amazon RDS para a instância é o mesmo que

o identificador do endpoint que você usou para criar o endpoint do AWS DMS.• Verifique se o valor de porta mostrado no console do Amazon RDS para a instância é o mesmo que a

porta atribuída ao endpoint do AWS DMS.• Verifique se o security group atribuído à instância de banco de dados do Amazon RDS permite conexões

da instância de replicação do AWS DMS.• Se a instância de replicação do AWS DMS e a instância de banco de dados do Amazon RDS não

estiverem no mesmo VPC, confirme se a instância de banco de dados é publicamente acessível.

Mensagem de erro: Incorrect thread connection string:incorrect thread value 0Esse erro costuma ocorrer quando você está testando a conexão a um endpoint. Ele indica que há um errona string de conexão, como um espaço após o endereço IP do host ou um caractere ruim copiado para astring de conexão.

Versão da API API versão 2016-01-01278

Page 285: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioProblemas de rede

Problemas de redeO problema mais comum de rede envolve o security group do VPC usado pela instância de replicação doAWS DMS. Por padrão, esse security group tem regras que permitem a saída para 0.0.0.0/0 em todasas portas. Se você modificá-lo ou usar o seu próprio, a saída deverá, no mínimo, ser permitida para osendpoints de origem e de destino nas respectivas portas de banco de dados.

Outros problemas relacionados à configuração incluem:

• Instância de replicação e endpoints tanto de origem quanto de destino no mesmo VPC — o securitygroup usado pelos endpoints deve permitir a entrada na porta do banco de dados da instância dereplicação. Confirme se o security group usado pela instância de replicação tem entrada para osendpoints ou crie uma regra no security group usado pelos endpoints que permita ao endereço IPprivado acessar a instância de replicação.

• O endpoint de origem está fora do VPC usado pela instância de replicação (usando o gateway daInternet) — o security group do VPC deve incluir regras de roteamento que enviem tráfego nãodestinado ao VPC para o gateway da Internet. Nessa configuração, a conexão ao endpoint parecerá virdo endereço IP público na instância de replicação.

• O endpoint de origem está fora do VPC usado pela instância de replicação (usando o gateway NAT)— você pode configurar um gateway de conversão de endereços de rede (NAT) usando um únicoEndereço IP elástico ligado a uma única interface de rede elástica que receberá um identificador NAT(nat-#####). Se o VPC incluir uma rota padrão para o gateway NAT em vez do gateway da Internet,a instância de replicação parecerá entrar em contato com o endpoint do banco de dados usando oendereço IP público do gateway da Internet. Nesse caso, a entrada para o endpoint do banco de dadosfora do VPC deve permitir a entrada do endereço NAT em vez do endereço IP público da instância dereplicação.

CDC travado após carregamento completoAs alterações de replicação lentas ou travadas podem ocorrer após uma migração de carregamentocompleto quando várias configurações do AWS DMS entram em conflito entre si. Por exemplo, se oparâmetro Target table preparation mode estiver definido como Do nothing ou Truncate, você instruiu oAWS DMS a não configurar as tabelas de destino, incluindo a criação de índices únicos e primários. Sevocê não criou chaves primárias ou exclusivas nas tabelas de destino, o AWS DMS deverá fazer umavarredura completa da tabela para cada atualização, o que pode afetar consideravelmente o desempenho.

Erros de violação de chave primária ao reiniciaruma tarefa

Esse erro pode ocorrer quando os dados continuam no banco de dados de destino de uma tarefa demigração anterior. Se o parâmetro Target table preparation mode estiver definido como Do nothing, o AWSDMS não faz preparação alguma na tabela de destino, incluindo a limpeza de dados inseridos de umatarefa anterior. Para reiniciar a tarefa e evitar esses erros, é necessário remover as linhas inseridas nastabelas de destino da execução anterior da tarefa.

Falha no carregamento inicial do schemaSe o carregamento inicial dos seus schemas falha com um erro deOperation:getSchemaListDetails:errType=, status=0, errMessage=, errDetails=, a

Versão da API API versão 2016-01-01279

Page 286: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTarefas falham com erro desconhecido

conta de usuário usada pelo AWS DMS para se conectar ao endpoint de origem não tem as permissõesnecessárias.

Tarefas falham com erro desconhecidoA causa desses tipos de erros pode ser variada, mas é comum descobrirmos que o problema envolverecursos insuficientes alocados para a instância de replicação do AWS DMS. Verifique o uso de CPU,memória, arquivos de troca e IOPs da instância de replicação para garantir que ela tenha recursossuficientes para realizar a migração. Para obter mais informações sobre monitoramento, consulte Métricasdo Data Migration Service (p. 246).

Tarefa recomeça o carregamento de tabelas desdeo início

O AWS DMS reinicia o carregamento da tabela desde o início quando ainda não terminou o carregamentoinicial dela. Quando uma tarefa é reiniciada, o AWS DMS não recarrega tabelas que concluíram ocarregamento inicial, mas recarrega as tabelas desde o começo quando o carregamento inicial não foiconcluído.

Número de tabelas por tarefaEmbora não haja limite definido no número de tabelas por tarefa de replicação, descobrimos que,geralmente, limitar o número de tabelas em uma tarefa para menos de 60.000 é uma boa regra geral. Ouso de recursos pode ser um gargalo quando uma única tarefa usa mais de 60.000 tabelas.

Solução de problemas específicos ao OracleOs seguintes problemas são específicos ao uso do AWS DMS com bancos de dados do Oracle.

Tópicos• Efetuação de pull de dados de exibições (p. 280)• Migração de LOBs do Oracle 12c (p. 281)• Alternância entre Oracle LogMiner e Binary Reader (p. 281)• Erro: Oracle CDC stopped 122301 Oracle CDC maximum retry counter exceeded. (p. 281)• Adição automática de registro suplementar a um endpoint de origem do Oracle (p. 282)• Alterações de LOB não estão sendo capturadas (p. 282)• Erro: ORA-12899: value too large for column <column-name> (p. 282)• Tipo de dados NUMBER sendo mal interpretado (p. 282)

Efetuação de pull de dados de exibiçõesVocê pode extrair dados uma vez de uma exibição, mas não pode usá-los para a replicação contínua. Parapoder extrair dados de exibições, é necessário adicionar o seguinte código a Extra connection attributes,

Versão da API API versão 2016-01-01280

Page 287: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMigração de LOBs do Oracle 12c

na seção Advanced do endpoint de origem do Oracle. Observe que, quando você extrai dados de umaexibição, a exibição aparece como uma tabela no schema de destino.

exposeViews=true

Migração de LOBs do Oracle 12cO AWS DMS pode usar dois métodos para capturar alterações em um banco de dados do Oracle: BinaryReader e Oracle LogMiner. Por padrão, o AWS DMS usa o Oracle LogMiner para capturar alterações.No entanto, no Oracle 12c, o Oracle LogMiner não é compatível com colunas de LOB. Para capturaralterações em colunas de LOB no Oracle 12c, use o Binary Reader.

Alternância entre Oracle LogMiner e Binary ReaderO AWS DMS pode usar dois métodos para capturar alterações em um banco de dados de origem doOracle: Binary Reader e Oracle LogMiner. O Oracle LogMiner é o padrão. Para alternar e usar o BinaryReader para capturar alterações, faça o seguinte:

Como usar o Binary Reader para capturar alterações

1. Faça login no Console de Gerenciamento da AWS e escolha DMS.2. Selecione Endpoints.3. Selecione o endpoint de origem do Oracle em que deseja usar o Binary Reader.4. Selecione Modify.5. Selecione Advanced e adicione o seguinte código à caixa de texto Extra connection attributes:

useLogminerReader=N

6. Use uma ferramenta de desenvolvedor do Oracle, como SQL-Plus, para conceder o seguinte privilégioadicional à conta de usuário do AWS DMS usada para se conectar ao endpoint do Oracle:

SELECT ON V_$TRANSPORTABLE_PLATFORM

Erro: Oracle CDC stopped 122301 Oracle CDCmaximum retry counter exceeded.Esse erro ocorre quando os logs de arquivo do Oracle necessários foram removidos do servidor antesde o AWS DMS usá-los para capturar alterações. Aumente as políticas de retenção de logs no servidorde banco de dados. Para um banco de dados do Amazon RDS, execute o seguinte procedimento paraaumentar a retenção de logs. Por exemplo, o seguinte código aumenta a retenção de logs em umainstância de banco de dados do Amazon RDS para 24 horas.

Exec rdsadmin.rdsadmin_util.set_configuration(‘archivelog retention hours’,24);

Versão da API API versão 2016-01-01281

Page 288: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAdição automática de registro suplementar

a um endpoint de origem do Oracle

Adição automática de registro suplementar a umendpoint de origem do OraclePor padrão, o AWS DMS fica com o registro suplementar desativado. Para ativar automaticamente oregistro suplementar de um endpoint de origem do Oracle, faça o seguinte:

Como adicionar o registro suplementar a um endpoint de origem do Oracle

1. Faça login no Console de Gerenciamento da AWS e escolha DMS.2. Selecione Endpoints.3. Selecione o endpoint de origem do Oracle ao qual deseja adicionar o registro suplementar.4. Selecione Modify.5. Selecione Advanced e adicione o seguinte código à caixa de texto Extra connection attributes:

addSupplementalLogging=Y

6. Selecione Modify.

Alterações de LOB não estão sendo capturadasNo momento, uma tabela deve ter uma chave primária para o AWS DMS capturar alterações de LOB. Seuma tabela que contém LOBs não tem uma chave primária, há várias ações que você pode realizar paracapturar alterações de LOB:

• Adicione uma chave primária à tabela. Isso pode ser tão simples quanto adicionar uma coluna de ID epreenchê-la com uma sequência usando um trigger.

• Crie uma visualização materializada da tabela que inclua um ID gerado pelo sistema como chaveprimária e migre a visualização materializada em vez da tabela.

• Crie uma espera lógica, adicione uma chave primária à tabela e migre a partir da espera lógica.

Erro: ORA-12899: value too large for column <column-name>O erro "ORA-12899: value too large for column <column-name>" costuma ser causado por umadivergência nos conjuntos de caracteres usados pelos bancos de dados de origem e de destino ou quandoas configurações NLS diferem entre os dois bancos de dados. Uma causa comum do erro é quandoo parâmetro de banco de dados de origem NLS_LENGTH_SEMANTICS é definido como CHAR e oparâmetro de banco de dados de destino NLS_LENGTH_SEMANTICS é definido como BYTE.

Tipo de dados NUMBER sendo mal interpretadoO tipo de dados NUMBER do Oracle é convertido em vários tipos de dados do AWS DMS, dependendoda precisão e da escala de NUMBER. Essas conversões estão documentadas aqui Uso de um bancode dados Oracle como origem para o AWS DMS (p. 87). A maneira como o tipo NUMBER é convertidotambém pode ser afetada pelo uso de atributos de conexão extra para o endpoint Oracle de origem. Essesatributos de conexão extra estão documentados em Atributos de conexão adicionais ao usar o Oraclecomo origem para o AWS DMS (p. 97).

Versão da API API versão 2016-01-01282

Page 289: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSolução de problemas específicos ao MySQL

Solução de problemas específicos ao MySQLOs seguintes problemas são específicos ao uso do AWS DMS com bancos de dados MySQL.

Tópicos• Tarefa de CDC falhando para o endpoint da instância de banco de dados do Amazon RDS porque o

registro binário está desabilitado (p. 283)• Conexões a uma instância de destino MySQL são desconectadas durante uma tarefa (p. 283)• Adição de autocommit a um endpoint compatível com MySQL (p. 284)• Desabilitação de chaves externas em um endpoint de destino compatível com MySQL (p. 284)• Caracteres substituídos por interrogações (p. 285)• Entradas de log "Bad event" (p. 285)• Captura de dados de alteração com MySQL 5.5 (p. 285)• Crescimento da retenção de log binário para instâncias de banco de dados do Amazon RDS (p. 285)• Mensagem de log: Some changes from the source database had no impact when applied to the target

database. (p. 285)• Erro: Identifier too long (p. 285)• Erro: Unsupported Character Set Causes Field Data Conversion to Fail (p. 286)• Erro: página de código 1252 para UTF8 [120112] Uma conversão de dados de campo falhou (p. 286)

Tarefa de CDC falhando para o endpoint da instânciade banco de dados do Amazon RDS porque o registrobinário está desabilitadoEsse problema ocorre com instâncias do banco de dados do Amazon RDS porque os backups automáticosestão desabilitados. Para habilitar backups automáticos, configure o período de retenção de backup paraum valor diferente de zero.

Conexões a uma instância de destino MySQL sãodesconectadas durante uma tarefaSe você tiver uma tarefa com LOBs que está sendo desconectada de um destino MySQL com o seguintetipo de erros no log de tarefas, talvez seja necessário ajustar algumas configurações de tarefas.

[TARGET_LOAD ]E: RetCode: SQL_ERROR SqlState: 08S01 NativeError: 2013 Message: [MySQL][ODBC 5.3(w) Driver][mysqld-5.7.16-log]Lost connection to MySQL server during query [122502] ODBC general error.

[TARGET_LOAD ]E: RetCode: SQL_ERROR SqlState: HY000 NativeError: 2006 Message: [MySQL][ODBC 5.3(w) Driver]MySQL server has gone away [122502] ODBC general error.

Para resolver o problema em que uma tarefa está sendo desconectada de um destino MySQL, faça oseguinte:

• Confirme se a sua variável de banco de dados max_allowed_packet está definida como grande osuficiente para reter o maior LOB.

Versão da API API versão 2016-01-01283

Page 290: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAdição de autocommit a um

endpoint compatível com MySQL

• Verifique se você tem as seguintes variáveis definidas para ter um valor de tempo limite grande.Sugerimos que você use um valor de, pelo menos, 5 minutos para cada uma dessas variáveis.• net_read_timeout

• net_write_timeout

• wait_timeout

• interactive_timeout

Adição de autocommit a um endpoint compatível comMySQLComo adicionar autocommit a um endpoint de destino compatível com MySQL

1. Faça login no Console de Gerenciamento da AWS e escolha DMS.2. Selecione Endpoints.3. Selecione o endpoint de destino compatível com MySQL ao qual você deseja adicionar autocommit.4. Selecione Modify.5. Selecione Advanced e adicione o seguinte código à caixa de texto Extra connection attributes:

Initstmt= SET AUTOCOMMIT=1

6. Selecione Modify.

Desabilitação de chaves externas em um endpoint dedestino compatível com MySQLVocê pode desabilitar verificações de chaves externas no MySQL adicionando o seguinte a ExtraConnection Attributes, na seção Advanced do endpoint de destino MySQL, Amazon Aurora comcompatibilidade do MySQL ou MariaDB.

Como desabilitar chaves externas em um endpoint de destino compatível com MySQL

1. Faça login no Console de Gerenciamento da AWS e escolha DMS.2. Selecione Endpoints.3. Selecione o endpoint de destino do MySQL, Aurora MySQL ou MariaDB onde deseja desabilitar

chaves externas.4. Selecione Modify.5. Selecione Advanced e adicione o seguinte código à caixa de texto Extra connection attributes:

Initstmt=SET FOREIGN_KEY_CHECKS=0

6. Selecione Modify.

Versão da API API versão 2016-01-01284

Page 291: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioCaracteres substituídos por interrogações

Caracteres substituídos por interrogaçõesA situação que mais causa esse problema é quando os caracteres do endpoint de origem foramcodificados por um conjunto de caracteres não compatíveis com o AWS DMS. Por exemplo, não hásuporte para o conjunto de caracteres UTF8MB4 no AWS DMS.

Entradas de log "Bad event"As entradas "Bad event" nos logs de migração costumam indicar que houve uma tentativa de umaoperação DDL não suportada no banco de dados de origem. Operações DDL não suportadas causam umevento que a instância de replicação não pode ignorar, então é registrado um evento ruim. Para corrigiresse problema, reinicie a tarefa desde o início, o que recarregará as tabelas e começará a captura dealterações em um ponto após a operação DDL não suportada ser emitida.

Captura de dados de alteração com MySQL 5.5A captura de dados de alteração (CDC) para bancos de dados do Amazon RDS compatíveis com MySQLdo AWS DMS exige registro binário baseado em linhas de imagem completa, que não é compatível com aversão 5.5 ou inferior do MySQL. Para usar o CDC do AWS DMS, você deve atualizar a sua instância debanco de dados do Amazon RDS para MySQL versão 5.6.

Crescimento da retenção de log binário parainstâncias de banco de dados do Amazon RDSO AWS DMS exige a retenção de arquivos de log binário para a captura de dados de alteração. Paraaumentar a retenção de logs em uma instância de banco de dados do Amazon RDS, use o procedimento aseguir. O exemplo a seguir aumenta a retenção de log binário para 24 horas.

Call mysql.rds_set_configuration(‘binlog retention hours’, 24);

Mensagem de log: Some changes from the sourcedatabase had no impact when applied to the targetdatabase.Quando o AWS DMS atualiza um valor da coluna do banco de dados MySQL para o valor existente, umamensagem de zero rows affected retorna do MySQL. Esse comportamento é diferente de outrosmecanismos de banco de dados, como Oracle e SQL Server, que realizam a atualização de uma linha,mesmo quando o valor de substituição é igual ao atual.

Erro: Identifier too longO erro a seguir ocorre quando um identificador é muito longo:

TARGET_LOAD E: RetCode: SQL_ERROR SqlState: HY000 NativeError: 1059 Message: MySQLhttp://ODBC 5.3(w) Driverhttp://mysqld-5.6.10Identifier name ‘<name>’ is too long 122502 ODBC general error. (ar_odbc_stmt.c:4054)

Versão da API API versão 2016-01-01285

Page 292: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioErro: Unsupported Character Set

Causes Field Data Conversion to Fail

No momento, quando o AWS DMS está definido para criar tabelas e chaves primárias no banco de dadosde destino, ele não usa os mesmos nomes de chaves primárias que eram usados no banco de dados deorigem. Em vez disso, o AWS DMS cria um nome de chave primária baseado no nome da tabela. Quandoo nome da tabela é longo, o identificador gerado automaticamente criado pode ser mais longo que oslimites permitidos para MySQL. Para resolver esse problema, pré-crie as tabelas e chaves primárias nobanco de dados de destino e use uma tarefa com a configuração Target table preparation mode definidacomo Do nothing ou Truncate para preencher as tabelas de destino.

Erro: Unsupported Character Set Causes Field DataConversion to FailO erro a seguir ocorre quando um conjunto de caracteres não suportado causa a falha de uma conversãode dados de campo:

"[SOURCE_CAPTURE ]E: Column ‘<column name>' uses an unsupported character set [120112] A field data conversion failed. (mysql_endpoint_capture.c:2154)

Esse erro costuma ocorrer por causa de tabelas ou bancos de dados que usam a codificação UTF8MB4.Não há suporte para o conjunto de caracteres UTF8MB4 no AWS DMS. Além disso, verifique osparâmetros do banco de dados relativos a conexões. O seguinte comando pode ser usado para ver essesparâmetros:

SHOW VARIABLES LIKE '%char%';

Erro: página de código 1252 para UTF8 [120112] Umaconversão de dados de campo falhouO erro a seguir pode ocorrer durante uma migração se você tiver caracteres que não sejam da página decódigo 1252 no banco de dados MySQL de origem.

[SOURCE_CAPTURE ]E: Error converting column ‘column_xyz’ in table'table_xyz with codepage 1252 to UTF8 [120112] A field data conversion failed. (mysql_endpoint_capture.c:2248)

Como alternativa, você pode usar o atributo de conexão extra CharsetMapping com o endpoint MySQLde origem para especificar o mapeamento de conjuntos de caracteres. Você pode precisar reiniciar a tarefade migração do AWS DMS se você adicionar esse atributo de conexão extra.

Por exemplo, o atributo de conexão extra a seguir pode ser usado para um endpoint MySQL de origem emque o conjunto de caracteres de origem é utf8 ou latin1. 65001 é o identificador da página de códigoUTF8.

CharsetMapping=utf8,65001CharsetMapping=latin1,65001

Versão da API API versão 2016-01-01286

Page 293: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioSolução de problemas específicos ao PostgreSQL

Solução de problemas específicos ao PostgreSQLOs seguintes problemas são específicos ao uso do AWS DMS com bancos de dados do PostgreSQL.

Tópicos• Tipos de dados JSON que estão sendo truncados (p. 287)• Colunas de um tipo de dados definido pelo usuário não estão sendo migradas corretamente (p. 287)• Erro: No schema has been selected to create in (p. 288)• Exclusões e atualizações a uma tabela não estão sendo replicadas usando CDC (p. 288)• Declarações de truncamento não estão sendo propagadas (p. 288)• Impedir que o PostgreSQL capture DDL (p. 288)• Seleção do schema onde objetos de banco de dados para a captura DDL são criados (p. 288)• Tabelas do Oracle ausentes após a migração para o PostgreSQL (p. 288)• Tarefa utilizando exibição como origem não tem nenhuma linha copiada (p. 289)

Tipos de dados JSON que estão sendo truncadosO AWS DMS trata os tipos de dados JSON no PostgreSQL como uma coluna de tipos de dados LOB. Issosignifica que a limitação de tamanho de LOB quando você usa o modo LOB limitado aplica-se a dadosJSON. Por exemplo, se o modo LOB limitado for definido como 4096 KB, todos os dados JSON maiores doque 4096 KB serão truncados no limite de 4096 KB e falharão no teste de validação no PostgreSQL.

Por exemplo, as seguintes informações de log mostram o JSON que foi truncado devido à configuração domodo LOB limitado e à validação que falhou.

03:00:492017-09-19T03:00:49 [TARGET_APPLY ]E: Failed to execute statement: 'UPDATE "public"."delivery_options_quotes" SET "id"=? , "enabled"=? , "new_cart_id"=? , "order_id"=? , "user_id"=? , "zone_id"=? , "quotes"=? , "start_at"=? , "end_at"=? , "last_quoted_at"=? , "created_at"=? , "updated_at"=? WHERE "id"=? ' [1022502] (ar_odbc_stmt2017-09-19T03:00:49 [TARGET_APPLY ]E: Failed to execute statement: 'UPDATE "public"."delivery_options_quotes" SET "id"=? , "enabled"=? , "new_cart_id"=? , "order_id"=? , "user_id"=? , "zone_id"=? , "quotes"=? , "start_at"=? , "end_at"=? , "last_quoted_at"=? , "created_at"=? , "updated_at"=? WHERE "id"=? ' [1022502] (ar_odbc_stmt.c:2415)#03:00:492017-09-19T03:00:49 [TARGET_APPLY ]E: RetCode: SQL_ERROR SqlState: 22P02 NativeError: 1 Message: ERROR: invalid input syntax for type json;, Error while executing the query [1022502] (ar_odbc_stmt.c:2421)2017-09-19T03:00:49 [TARGET_APPLY ]E: RetCode: SQL_ERROR SqlState: 22P02 NativeError: 1 Message: ERROR: invalid input syntax for type json;, Error while executing the query [1022502] (ar_odbc_stmt.c:2421)

Colunas de um tipo de dados definido pelo usuárionão estão sendo migradas corretamenteAo replicar a partir de uma origem do PostgreSQL, o AWS DMS cria a tabela de destino com os mesmostipos de dados para todas as colunas, além das colunas com tipos de dados definidos pelo usuário.Nesses casos, o tipo de dados é criado como "variante de caractere" no destino.

Versão da API API versão 2016-01-01287

Page 294: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioErro: No schema has been selected to create in

Erro: No schema has been selected to create inO erro "SQL_ERROR SqlState: 3F000 NativeError: 7 Message: ERROR: no schema has been selected tocreate in" pode ocorrer quando o seu mapeamento de tabela JSON contém um valor curinga do schema,mas o banco de dados de origem não oferece suporte a esse valor.

Exclusões e atualizações a uma tabela não estãosendo replicadas usando CDCAs operações de exclusão e atualização durante a captura de dados de alteração (CDC) são ignoradasse a tabela de origem não tem uma chave primária. O AWS DMS oferece suporte à captura de dados dealteração (CDC) para tabelas do PostgreSQL com chaves primárias. Se uma tabela não tiver uma chaveprimária, os logs de WAL não incluirão uma imagem anterior da linha dos bancos de dados e o AWS DMSnão conseguirá atualizar a tabela. Crie uma chave primária na tabela de origem se desejar que operaçõesde exclusão sejam replicadas.

Declarações de truncamento não estão sendopropagadasAo usar a captura de dados de alteração (CDC), não há suporte para operações TRUNCATE no AWSDMS.

Impedir que o PostgreSQL capture DDLVocê pode impedir que um endpoint de destino do PostgreSQL capture declarações DDL adicionando aseguinte declaração Extra Connection Attribute. O parâmetro Extra Connection Attribute está disponível naguia Advanced do endpoint de origem.

captureDDLs=N

Seleção do schema onde objetos de banco de dadospara a captura DDL são criadosÉ possível controlar o schema onde os objetos de banco de dados relacionados à captura DDL sãocriados. Adicione a seguinte declaração Extra Connection Attribute. O parâmetro Extra ConnectionAttribute está disponível na guia Advanced do endpoint de destino.

ddlArtifactsSchema=xyzddlschema

Tabelas do Oracle ausentes após a migração para oPostgreSQLO Oracle coloca nomes de tabelas em letras maiúsculas por padrão, enquanto o PostgreSQL os colocaem minúsculas. Ao executar uma migração do Oracle para o PostgreSQL, é provável que seja necessáriofornecer regras de transformação na seção de mapeamento de tabela da sua tarefa para converter acapitalização dos nomes das suas tabelas.

Versão da API API versão 2016-01-01288

Page 295: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTarefa utilizando exibição como origem

não tem nenhuma linha copiada

As tabelas e os dados ainda estão acessíveis. Se você migrou as tabelas sem usar regras detransformação para converter a capitalização dos nomes delas, será necessário inserir os nomes detabelas entre aspas ao se referir a eles.

Tarefa utilizando exibição como origem não temnenhuma linha copiadaNão há suporte para uma exibição como endpoint de origem do PostgreSQL no AWS DMS.

Solução de problemas específicos ao MicrosoftSQL Server

Os seguintes problemas são específicos ao uso do AWS DMS com bancos de dados do Microsoft SQL.

Tópicos• Permissões especiais para a conta de usuário do AWS DMS usar CDC (p. 289)• Erros que capturam alterações para banco de dados do SQL Server (p. 289)• Colunas de identidade ausentes: (p. 289)• Erro: SQL Server Does Not Support Publications (p. 290)• Alterações que não aparecem no destino (p. 290)

Permissões especiais para a conta de usuário doAWS DMS usar CDCA conta de usuário usada com o AWS DMS exige a função de administrador do sistema do SQL Serverpara operar corretamente ao usar a captura de dados de alteração (CDC). O CDC para SQL Server estádisponível somente para bancos de dados locais ou bancos de dados em uma instância EC2.

Erros que capturam alterações para banco de dadosdo SQL ServerOs erros durante a captura de dados de alteração (CDC) podem indicar que um dos pré-requisitos não foicumprido. Por exemplo, o pré-requisito que mais passa despercebido é o backup completo do banco dedados. O log de tarefas indica essa omissão com o seguinte erro:

SOURCE_CAPTURE E: No FULL database backup found (under the 'FULL' recovery model). To enable all changes to be captured, you must perform a full database backup. 120438 Changes may be missed. (sqlserver_log_queries.c:2623)

Revise os pré-requisitos listados para o uso do SQL Server como origem em Uso de um banco de dadosMicrosoft SQL Server como origem para o AWS DMS (p. 102).

Colunas de identidade ausentes:O AWS DMS não oferece suporte a colunas de identidade quando você cria um schema de destino. Vocêdeve adicioná-las após a conclusão do carregamento inicial.

Versão da API API versão 2016-01-01289

Page 296: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioErro: SQL Server Does Not Support Publications

Erro: SQL Server Does Not Support PublicationsO erro a seguir é gerado quando você usa o SQL Server Express como endpoint de origem:

RetCode: SQL_ERROR SqlState: HY000 NativeError: 21106 Message: This edition of SQL Server does not support publications.

No momento, o AWS DMS não é compatível com o SQL Server Express como origem ou destino.

Alterações que não aparecem no destinoO AWS DMS exige que um banco de dados de origem do SQL Server esteja no modelo de recuperaçãode dados "FULL" ou "BULK LOGGED" para capturar as alterações de maneira consistente. O modelo"SIMPLE" não é compatível.

O modelo de recuperação SIMPLE registra o mínimo de informações necessárias para permitir queos usuários recuperem seus bancos de dados. Todas as entradas de log inativas são truncadasautomaticamente quando um ponto de verificação ocorre. Todas as operações ainda são registradas,mas, assim que ocorre um ponto de verificação, o log é truncado automaticamente, o que significa queele fica disponível para reutilização e as entradas de log mais antigas podem ser substituídas. Quandoentradas de log são substituídas, as alterações não podem ser capturadas, e é por isso que o AWS DMSnão é compatível como o modelo de recuperação de dados SIMPLE. Para obter informações sobre outrospré-requisitos necessários para o uso do SQL Server como origem, consulte Uso de um banco de dadosMicrosoft SQL Server como origem para o AWS DMS (p. 102).

Solução de problemas específicos ao AmazonRedshift

Os seguintes problemas são específicos ao uso do AWS DMS com bancos de dados do Amazon Redshift.

Tópicos• Carregamento para um cluster do Amazon Redshift em uma região diferente da instância de replicação

do AWS DMS (p. 290)• Erro: Relation "awsdms_apply_exceptions" already exists (p. 291)• Erros com tabelas cujos nomes começam com “awsdms_changes” (p. 291)• Tabelas em cluster com nomes como dms.awsdms_changes000000000XXXX (p. 291)• Permissões necessárias para trabalhar com o Amazon Redshift (p. 291)

Carregamento para um cluster do Amazon Redshiftem uma região diferente da instância de replicação doAWS DMSIsso não é possível. O AWS DMS exige que a instância de replicação do AWS DMS e um cluster doRedshift estejam na mesma região.

Versão da API API versão 2016-01-01290

Page 297: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioErro: Relation "awsdms_apply_exceptions" already exists

Erro: Relation "awsdms_apply_exceptions" alreadyexistsO erro "Relation "awsdms_apply_exceptions" already exists" costuma ocorrer quando um endpoint doRedshift é especificado como endpoint do PostgreSQL. Por corrigir esse problema, modifique o endpoint ealtere Target engine para "redshift".

Erros com tabelas cujos nomes começam com“awsdms_changes”Mensagens de erro relacionadas a tabelas com nomes que começam com "awsdms_changes" costumamocorrer quando duas tarefas que estão tentando carregar dados para o mesmo cluster do Amazon Redshiftestão sendo executadas simultaneamente. Devido à forma como tabelas temporárias são nomeadas,tarefas simultâneas podem entrar em conflito ao atualizar a mesma tabela.

Tabelas em cluster com nomes comodms.awsdms_changes000000000XXXXO AWS DMS cria tabelas temporárias quando os dados estão sendo carregados de arquivos armazenadosno S3. O nome dessas tabelas temporárias tem o prefixo "dms.awsdms_changes". Elas são necessáriaspara o AWS DMS armazenar dados quando eles são carregados pela primeira vez e antes de seremcolocados na tabela de destino final.

Permissões necessárias para trabalhar com o AmazonRedshiftPara usar o AWS DMS com o Amazon Redshift, a conta de usuário que você usa para acessar o AmazonRedshift deve ter as seguintes permissões:

• CRUD (selecionar, inserir, atualizar, excluir)• Bulk Load• Create, Alter, Drop (se necessário pela definição da tarefa)

Para ver todos os pré-requisitos necessários para usar o Amazon Redshift como destino, consulte Uso deum banco de dados Amazon Redshift como destino do AWS Database Migration Service (p. 168).

Solução de problemas específicos do AmazonAurora MySQL

Os seguintes problemas são específicos ao uso do AWS DMS com bancos de dados do Amazon AuroraMySQL.

Tópicos• Erro: CHARACTER SET UTF8 fields terminated by ',' enclosed by '"' lines terminated by '\n' (p. 292)

Versão da API API versão 2016-01-01291

Page 298: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioErro: CHARACTER SET UTF8 fields terminated

by ',' enclosed by '"' lines terminated by '\n'

Erro: CHARACTER SET UTF8 fields terminated by ','enclosed by '"' lines terminated by '\n'Se você estiver usando o Amazon Aurora MySQL como destino e vir um erro como o seguinte noslogs, é comum que ele indique que você tem ANSI_QUOTES como parte do parâmetro SQL_MODE.Ter ANSI_QUOTES como parte do parâmetro SQL_MODE leva aspas duplas a serem identificadascomo aspas simples, o que pode criar problemas ao executar uma tarefa. Por corrigir esse erro, removaANSI_QUOTES do parâmetro SQL_MODE.

2016-11-02T14:23:48 [TARGET_LOAD ]E: Load data sql statement. load data local infile "/rdsdbdata/data/tasks/7XO4FJHCVON7TYTLQ6RX3CQHDU/data_files/4/LOAD000001DF.csv" into table `VOSPUSER`.`SANDBOX_SRC_FILE` CHARACTER SET UTF8 fields terminated by ',' enclosed by '"' lines terminated by '\n'( `SANDBOX_SRC_FILE_ID`,`SANDBOX_ID`,`FILENAME`,`LOCAL_PATH`,`LINES_OF_CODE`,`INSERT_TS`,`MODIFIED_TS`,`MODIFIED_BY`,`RECORD_VER`,`REF_GUID`,`PLATFORM_GENERATED`,`ANALYSIS_TYPE`,`SANITIZED`,`DYN_TYPE`,`CRAWL_STATUS`,`ORIG_EXEC_UNIT_VER_ID` ) ; (provider_syntax_manager.c:2561)

Versão da API API versão 2016-01-01292

Page 299: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAprimoramento do desempenho

Melhores práticas para o AWSDatabase Migration Service

Para usar o AWS Database Migration Service (AWS DMS) de maneira mais eficaz, consulte asrecomendações desta seção sobre a melhor maneira de migrar dados.

Tópicos• Aprimoramento do desempenho de uma migração AWS DMS (p. 293)• Seleção do tamanho ideal de uma instância de replicação (p. 295)• Redução do carregamento no banco de dados de origem (p. 296)• Uso do log de tarefas para solucionar problemas de migração (p. 296)• Conversão do esquema (p. 296)• Migração de Large Binary Objects (LOBs - Objetos binários grandes) (p. 297)• Replicação contínua (p. 298)• Alteração do usuário e esquema de um destino do Oracle (p. 298)• Aumento do desempenho ao migrar tabelas grandes (p. 299)

Aprimoramento do desempenho de uma migraçãoAWS DMS

Diversos fatores afetam o desempenho da sua migração do AWS DMS:

• Disponibilidade de recursos na origem• A taxa de transferência disponível• A capacidade de recursos do servidor de replicação• A capacidade de inclusão de alterações pelo destino• O tipo e a distribuição dos dados de origem• O número de objetos sendo migrados

Nos testes, migramos um terabyte de dados entre 12 e 13 horas usando uma única tarefa do AWSDMS e em circunstâncias ideais. Essas condições ideais incluíam o uso de bancos de dados de origemexecutados no Amazon EC2 e no Amazon RDS, com bancos de dados de destino no Amazon RDS,todos na mesma Zona de disponibilidade. Nossos bancos de dados de origem continham uma quantidaderepresentativa de dados distribuídos de maneira relativamente uniforme, com algumas tabelas grandesque continham até 250 GB de dados. Os dados de origem não continham tipos de dados complexos comodados de LOB.

Melhore o desempenho usando algumas ou todas as melhores práticas mencionadas a seguir. Apossibilidade de usar uma dessas práticas depende em grande parte do seu caso de uso específico.Mencionamos as limitações conforme apropriado.

Carregamento de várias tabelas em paralelo

Por padrão, o AWS DMS carrega oito tabelas por vez. É possível ver uma melhora no desempenhoaumentando um pouco esse número ao usar um servidor de replicação muito grande, como uma

Versão da API API versão 2016-01-01293

Page 300: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAprimoramento do desempenho

instância dms.c4.xlarge ou maior. Contudo, em um certo ponto, o aumento do paralelismo reduz odesempenho. Se o seu servidor de replicação é relativamente pequeno, como um dms.t2.medium,recomendamos que reduza o número de tabelas carregadas em paralelo.

Para alterar esse número no Console de Gerenciamento da AWS, abra o console, selecione Tasks(Tarefas), escolha criar ou modificar uma tarefa e, em seguida, selecione Advanced Settings(Configurações avançadas). Em Tuning Settings (Configurações de ajuste), altere a opção Maximumnumber of tables to load in parallel (Número máximo de tabelas para carregamento em paralelo).

Para alterar esse número usando a CLI da AWS, altere o parâmetro MaxFullLoadSubTasks emTaskSettings.

Trabalhar com índices, gatilhos e restrições de integridade referencial

Índices, gatilhos e restrições de integridade referencial podem afetar o desempenho da migração efazer com que ela falhe. A modo como afetam a migração depende se a tarefa de replicação é umatarefa de carregamento total ou uma tarefa de replicação contínua (CDC).

Para uma tarefa de carregamento total, recomendamos que esqueça os índices de chave primária,índices secundários, restrições de integridade referencial e gatilhos da linguagem de manipulação dedados (DML). Como alternativa, você pode atrasar a criação até que as tarefas de carregamento totalsejam concluídas. Os índices não são necessários durante uma tarefa de carregamento total e elesincorrerão custos indiretos de manutenção se estiverem presentes. Como a tarefa de carregamentototal carrega grupos de tabelas por vez, as restrições de integridade referencial são violadas. Domesmo modo, inserir, atualizar e excluir gatilhos pode causar erros se, por exemplo, uma inserçãode linha for acionada para uma tabela carregada em massa anteriormente. Outros tipos de gatilhostambém afetam o desempenho devido ao processamento adicional.

Crie índices de chave primária e secundários antes de uma tarefa de carregamento total se osvolumes de dados são relativamente pequenos e o tempo de migração adicional não for umapreocupação. As restrições de integridade referencial e os gatilhos sempre devem ser desabilitados.

Para uma tarefa de carregamento total + CDC, recomendamos que adicione índices secundáriosantes da fase de CDC. Como o AWS DMS usa replicação lógica, os índices secundários queoferecem suporte às operações DML deve estar no local para evitar varreduras totais de tabela. Pausea tarefa de replicação antes da fase de CDC para criar índices, criar gatilhos e criar as restrições deintegridade referencial antes de reiniciar a tarefa de replicação.

Desabilitar backups e o registro em log de transações

Ao migrar para um banco de dados do Amazon RDS, convém desabilitar backups e Multi-AZ nodestino até que você esteja pronto para o redirecionamento. Da mesma forma, pode ser bomdesabilitar registros em log no destino até após o redirecionamento ao migrar para sistemas que nãosão do Amazon RDS.

Use várias tarefas

Às vezes, usar várias tarefas para uma única migração pode melhorar o desempenho. Se você possuiconjuntos de tabelas que não participam de transações em comum, talvez seja possível dividir amigração em várias tarefas. A consistência transacional é mantida em uma tarefa, então é importanteque tabelas em tarefas separadas não participem de transações em comum. Além disso, cada tarefalê o fluxo de transação de modo independente; portanto, tenha cuidado para não sobrecarregar obanco de dados de origem.

Use diversas tarefas para criar fluxos de replicação separados para paralelizar as leituras na origem,os processos na instância de replicação e as gravações no banco de dados de destino.

Otimização do processamento de alterações

Por padrão, o AWS DMS processa alterações em um modo transacional, que preserva a integridadetransacional. Se houver condições para lapsos temporários em integridade transacional, você poderáusar a opção batch optimized apply. Essa opção agrupa transações de maneira eficaz e as aplica em

Versão da API API versão 2016-01-01294

Page 301: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioDimensionamento de uma instância de replicação

lotes para fins de eficiência. Usar a opção batch optimized apply quase sempre viola as restrições deintegridade referencial. Por isso, desabilite-a durante o processo de migração e habilite-a novamentecomo parte do processo de destinação.

Seleção do tamanho ideal de uma instância dereplicação

Escolher a instância de replicação apropriada depende de vários fatores do seu caso de uso. Para ajudara entender como os recursos da instância de replicação são usados, consulte a discussão a seguir. Elaabrange o cenário comum de uma tarefa de carregamento total + CDC.

Durante uma tarefa de carregamento total, o AWS DMS carrega as tabelas individualmente. Por padrão,oito tabelas são carregadas por vez. O AWS DMS captura as alterações contínuas na origem duranteuma tarefa de carregamento total para que as alterações possam ser aplicadas mais tarde no endpoint dedestino. As alterações são armazenados em cache na memória; se a memória disponível for esgotada, asalterações são armazenadas em cache no disco. Quando uma tarefa de carregamento total é concluídapara uma tabela, o AWS DMS aplica imediatamente as alterações em cache na tabela de destino.

Depois que todas as alterações em cache pendentes para uma tabela forem aplicadas, o endpointde destino está em um estado transacionalmente consistente. Nesse momento, o destino está emsincronia com o endpoint de origem em relação às últimas alterações em cache. Em seguida, o AWS DMScomeça a replicação contínua entre a origem e o destino. Para isso, o AWS DMS recebe as operaçõesde alteração dos logs de transações de origem e aplica-as ao destino com consistência de maneiratransacional (assumindo que batch optimized apply não esteja selecionada). O AWS DMS transmite asalterações contínuas por meio da memória na instância de replicação, se possível. Caso contrário, o AWSDMS grava as alterações em disco na instância de replicação até que possam ser aplicadas no destino.

Você tem algum controle sobre como a instância de replicação manipula o processamento de alteraçõese como a memória é usada nesse processo. Para obter mais informações sobre como ajustar oprocessamento de alterações, consulte Configurações de ajuste de processamento de alterações (p. 215).

A partir da explicação anterior, percebe-se que a memória total disponível é uma consideração importante.Se a instância de replicação possui memória suficiente de modo que o AWS DMS possa transmitiras alterações contínuas e em cache sem gravá-las em disco, o desempenho de migração aumentaconsideravelmente. Do mesmo modo, configurar a instância de replicação com espaço em disco suficientepara acomodar o armazenamento em cache das alterações e registrar o armazenamento tambémaumenta o desempenho. O máximo de IOPs possível depende do tamanho do disco selecionado.

Considere os fatores a seguir ao escolher uma classe de instância de replicação e o armazenamento emdisco disponível:

• Tamanho da tabela – tabelas grandes levam mais tempo para carregar, então as transações queocorrem nelas devem ser armazenadas em cache até que a tabela seja carregada. Depois queuma tabela é carregada, essas transações armazenadas em cache são aplicadas e não ficam maisarmazenadas em disco.

• Atividade de Data Manipulation Language (DML - Linguagem de manipulação de dados) – um banco dedados ocupado gera mais transações. Essas transações devem ser armazenadas em cache até que atabela seja carregada. As transações para uma tabela individual são aplicadas o mais rápido possível,logo após a tabela ser carregada, até que todas as tabelas sejam carregadas.

• Tamanho da transação – transações prolongadas podem gerar muitas alterações. Para melhordesempenho, se o AWS DMS aplica as alterações no modo transacional, é necessário que hajamemória suficiente disponível para transmitir todas as alterações na transação.

• Tamanho total da migração – migrações grandes levam mais tempo e geram número proporcionalmentegrande de arquivos de log.

Versão da API API versão 2016-01-01295

Page 302: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioRedução do carregamento no banco de dados de origem

• Número de tarefas – quanto mais tarefas, mais armazenamento em cache será necessário e maisarquivos de log serão gerados.

• Objetos grandes – tabelas com LOBs levam mais tempo para carregar.

Evidências baseadas em observações mostram que arquivos de log consomem a maior parte do espaçode que o AWS DMS necessita. As configurações de armazenamento padrão costumam ser suficientes.

No entanto, as instâncias de replicação que executam várias tarefas podem exigir mais espaço em disco.Além disso, se o seu banco de dados inclui tabelas grandes e ativas, poderá ser necessário aumentar oespaço em disco para transações armazenadas em cache no disco durante uma tarefa de carregamentototal. Por exemplo, se o carregamento dura 24 horas e você produzir 2 GB de transações a cada hora,talvez seja bom garantir 48 GB de espaço para as transações armazenadas em cache. Além disso, quantomais espaço for alocado para a instância de replicação, maior será a quantidade de IOPs obtidas.

As orientações anteriores não abrangem todos os cenários possíveis. É muito importante considerar osdetalhes do seu caso de uso específico ao determinar o tamanho da instância de replicação. Depois que amigração estiver em execução, monitore a CPU, a memória que pode ser liberada, armazenamento livre eas IOPs da instância de replicação. Com base nos dados coletados, é possível dimensionar a instância dereplicação para cima ou para baixo, conforme necessário.

Redução do carregamento no banco de dados deorigem

O AWS DMS usa alguns recursos no banco de dados de origem. Durante uma tarefa de carregamentototal, o AWS DMS executa uma varredura total da tabela de origem para cada tabela processada emparalelo. Além disso, cada tarefa criada como parte de uma migração consulta a origem em busca dealterações como parte do processo de CDC. Para que o AWS DMS execute a CDC para algumas origens,como o Oracle, poderá ser necessário aumentar a quantidade de dados gravados no log de alterações dobancos de dados.

Se descobrir que está sobrecarregando o banco de dados de origem, é possível reduzir o número detarefas ou tabelas de cada tarefa para a migração. Cada tarefa obtém as alterações de origem de formaindependente, portanto consolidar as tarefas pode diminuir a carga de trabalho da captura de alterações.

Uso do log de tarefas para solucionar problemas demigração

Em alguns casos, o AWS DMS pode encontrar problemas para os quais avisos ou mensagens de erroaparecerão somente no log de tarefas. Especificamente, problemas de truncamento de dados ou rejeiçõesde linhas devido a violações de chave externa só são gravadas no log de tarefas. Portanto, analise olog de tarefas ao migrar um banco de dados. Para habilitar a visualização do log de tarefas, configure oAmazon CloudWatch como parte da criação da tarefa.

Conversão do esquemaO AWS DMS não realiza conversão de schema ou de código. Se você deseja converter um esquemaexistente em um mecanismo de banco de dados diferente, use a AWS Schema Conversion Tool (AWSSCT). A AWS SCT converte os objetos, tabelas, índices, exibições, gatilhos e outros objetos do sistemapara o formato da linguagem de definição de dados (DDL) do destino. Você também pode usar a AWS

Versão da API API versão 2016-01-01296

Page 303: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioMigração de Large Binary Objects(LOBs - Objetos binários grandes)

SCT para converter a maior parte do código do aplicativo, como PL/SQL ou TSQL, para o linguagem dedestino equivalente.

Obtenha a AWS SCT para download gratuito na AWS. Para obter mais informações sobre a AWS SCT,consulte o Guia do usuário da AWS Schema Conversion Tool.

Se os endpoints de origem e destino estiverem no mesmo mecanismo de banco de dados, useferramentas como Oracle SQL Developer, MySQL Workbench ou PgAdmin4 para mover o esquema.

Migração de Large Binary Objects (LOBs - Objetosbinários grandes)

No geral, o AWS DMS migra dados de LOB em duas fases.

1. O AWS DMS cria uma nova linha na tabela de destino e preenche a linha com todos os dados, exceto ovalor de LOB associado.

2. O AWS DMS atualiza a linha na tabela de destino com os dados de LOB.

Esse processo de migração para LOBs exige que, durante a migração, todas as colunas de LOB na tabelade destino sejam anuláveis. Isso acontece mesmo que as colunas de LOB não sejam anuláveis na tabelade origem. Se o AWS DMS cria as tabelas de destino, ele define as colunas de LOB como anuláveispor padrão. Se você criar as tabelas de destino usando algum outro mecanismo, como a importação ouexportação, é necessário garantir que as colunas de LOB sejam anuláveis antes de iniciar a tarefa demigração.

Esse requisite possui uma exceção. Suponha que você realize uma migração homogênea a partir de umaorigem Oracle para um destino Oracle, e escolha Limited Lob mode (Modo LOB limitado). Nesse caso,toda a linha é preenchida de uma só vez, incluindo os valores de LOB. Para esse caso, o AWS DMS podecriar as colunas de LOB da tabela de destino com restrições não anuláveis, se necessário.

Uso do Modo LOB limitadoO AWS DMS usa dois métodos que equilibram desempenho e conveniência quando a migração contémvalores de LOB.

• O Limited LOB mode (Modo LOB limitado) migra todos os valores de LOB até um limite de tamanhoespecificado pelo usuário (o padrão é 32 KB). Os valores de LOB maiores que o limite de tamanhodevem ser migrados manualmente. O Limited LOB mode (Modo LOB limitado), padrão para todas astarefas de migração, normalmente oferece o melhor desempenho. No entanto, é necessário garantir quea configuração do parâmetro Max LOB size (Tamanho máx. de LOB) esteja correta. Esse parâmetrodeve ser definido como o maior tamanho de LOB de todas as suas tabelas.

• O Full LOB mode (Modo LOB completo) migra todos os dados de LOB nas tabelas, independentementedo tamanho. O Full LOB mode oferece a conveniência de mover todos os dados de LOB em suastabelas, mas o processo pode ter um impacto significativo no desempenho.

Para alguns mecanismos de banco de dados, como PostgreSQL, o AWS DMS trata tipos de dados JSONcomo LOBs. Certifique-se de que, se você escolheu Limited LOB mode (Modo LOB limitado), a opção MaxLOB size (Tamanho máx. de LOB) esteja definida para um valor que não trunca os dados JSON.

O AWS DMS fornece suporte completo para o uso de tipos de dados de objetos grandes (BLOBs, CLOBse NCLOBs). Os endpoints de origem a seguir têm suporte completo a LOB:

• Oracle

Versão da API API versão 2016-01-01297

Page 304: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioReplicação contínua

• Microsoft SQL Server• ODBC

Os endpoints de destino a seguir têm suporte completo a LOB:

• Oracle• Microsoft SQL Server

O endpoint de destino a seguir tem suporte limitado a LOB. Não é possível usar um tamanho ilimitado deLOB para esse endpoint de destino.

• Amazon Redshift

Para os endpoints que têm suporte completo a LOB, também é possível definir um limite de tamanho paratipos de dados de LOB.

Replicação contínuaO AWS DMS fornece replicação contínua de dados, mantendo os bancos de dados de origem e de destinoem sincronia. Ele replica apenas uma quantia limitada de linguagem de definição de dados (DDL). OAWS DMS não propaga itens como índices, usuários, privilégios, procedimentos armazenados e outrasalterações de banco de dados não relacionadas diretamente a dados de tabela.

Se planeja usar replicação contínua, habilite a opção Multi-AZ ao criar a sua instância de replicação.Ao escolher a opção Multi-AZ você recebe alta disponibilidade e suporte a failover para a instância dereplicação. No entanto, essa opção pode afetar o desempenho.

Alteração do usuário e esquema de um destino doOracle

Ao usar o Oracle como destino, o AWS DMS supõe que os dados devam ser migrados para o esquemae usuário usado para se conectar ao destino. Se você quiser migrar dados para um esquema diferente,use uma transformação de esquema. O esquema no Oracle é conectado ao nome de usuário usadona conexão do endpoint. Para ler a partir de um esquema X e gravar em um esquema X no destino, énecessário renomear o esquema X (sendo lido a partir da origem) e instruir o AWS DMS para gravar dadosno esquema X no destino.

Por exemplo, se deseja migrar do esquema de origem do usuário PERFDATA para os dados de destinoPERFDATA, será necessário criar uma transformação da seguinte forma:

{ "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "rename", "rule-target": "schema", "object-locator": { "schema-name": "PERFDATA"},"value": "PERFDATA"

Versão da API API versão 2016-01-01298

Page 305: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAumento do desempenho ao migrar tabelas grandes

}

Para obter mais informações sobre transformações, consulte Mapeamento de tabela de seleção etransformação usando JSON (p. 232).

Aumento do desempenho ao migrar tabelasgrandes

Se deseja aumentar o desempenho ao migrar uma tabela grande, é possível dividir a migração em maisde uma tarefa. Para dividir a migração em várias tarefas usando a filtragem de linha, use uma chave ouuma chave de partição. Por exemplo, se tiver um ID de chave primária do tipo inteiro de 1 a 8.000.000, épossível criar oito tarefas usando a filtragem de linha para migrar um milhão de registros em cada.

Para aplicar a filtragem de linha no Console de Gerenciamento da AWS, abra o console, selecione Tasks(Tarefas) e crie uma nova tarefa. Na seção Table mappings (Mapeamentos de tabela), adicione um valorpara Selection Rule (Regra de seleção). Em seguida, adicione um filtro de colunas com um menor queou igual a, maior que ou igual a, igual a ou condição de intervalo (entre dois valores). Para obter maisinformações sobre a filtragem de colunas, consulte Mapeamento de tabela de transformação e seleçãousando o Console de Gerenciamento da AWS (p. 227).

Como alternativa, se tiver um grande tabela particionada por data, migre os dados com base na data. Porexemplo, suponha que tenha uma tabela particionada por mês e somente os dados do mês atual estãoatualizados. Nesse caso, você pode criar uma tarefa de carregamento total para cada partição mensalestática e criar uma tarefa de carregamento total + CDC para a partição atualizada atualmente.

Versão da API API versão 2016-01-01299

Page 306: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTipos de dados do AWS DMS

Referência do AWS DMSNessa seção de referência, encontre informações adicionais que podem ser necessárias ao usar o AWSDatabase Migration Service (AWS DMS), incluindo informações sobre conversões de tipos de dados.

O DMS da AWS mantém os tipos de dados quando você faz uma migração de banco de dadoshomogênea em que a origem e o destino usam o mesmo tipo de mecanismo. A realizar uma migraçãoheterogênea, em que migra de um tipo de mecanismo de banco de dados para outro diferente, os tipos dedados são convertidos para um tipo de dados intermediário. Para ver como os tipos de dados são exibidosno banco de dados de destino, consulte as tabelas de tipo de dados para os mecanismos de banco dedados de origem e de destino.

Lembre-se de que existem informações importantes sobre tipos de dados ao migrar um banco de dados:

• O conjunto de caracteres de 4 bytes UTF-8 (utf8mb4) não é compatível e pode causar umcomportamento inesperado em um banco de dados de origem. Planeje sua conversão de dados usandoo conjunto de caracteres de 4 bytes UTF-8 antes de migrar.

• O tipo de dados FLOAT é essencialmente uma aproximação. Ao inserir um valor específico em FLOAT,ele pode ser representado de forma diferente no banco de dados. Essa diferença existe porque FLOATnão é um tipo de dados exato, como um tipo de dados decimal como NUMBER ou NUMBER(p,s). Comoresultado, o valor interno de FLOAT armazenado no banco de dados pode ser diferente do valor quevocê inserir. O valor migrado de um FLOAT pode não corresponder exatamente ao valor no banco dedados de origem.

Para obter mais informações sobre isso, consulte os seguintes artigos:• Ponto flutuante no IEEE na Wikipedia• Representação do ponto flutuante no IEEE no MSDN• Por que números de pontos flutuantes podem perder precisão no MSDN

Tópicos• Tipos de dados do AWS Database Migration Service (p. 300)

Tipos de dados do AWS Database MigrationService

O AWS Database Migration Service usa tipos de dados integrados para migrar dados de um tipo demecanismo de banco de dados para outro diferente. A tabela a seguir mostra os tipos de dados internos esuas descrições.

Tipos de dados do AWS DMS Descrição

STRING Uma string de caracteres.

WSTRING Uma string de caracteres de dois bytes.

BOOLEAN Um valor booleano.

BYTES Um valor binário.

Versão da API API versão 2016-01-01300

Page 307: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioTipos de dados do AWS DMS

Tipos de dados do AWS DMS Descrição

DATA Um valor de data: ano, mês, dia.

TIME Um valor de tempo: horas, minutos, segundos.

DATETIME Um valor de time stamp: ano, mês, dia, horas,minutos, segundos, frações de segundos. Asfrações de segundo têm escala máxima de 9dígitos.

INT1 Um valor de um byte, inteiro e com sinal.

INT2 Um valor de dois bytes, inteiro e com sinal.

INT4 Um valor de quatro bytes, inteiro e com sinal.

INT8 Um valor de oito bytes, inteiro e com sinal.

NUMERIC Um valor numérico exato com precisão e escalafixas.

REAL4 Um valor com ponto flutuante e precisão simples.

REAL8 Um valor com ponto flutuante e precisão dupla.

UINT1 Um valor de um byte, inteiro e sem sinal.

UINT2 Um valor de dois bytes, inteiro e sem sinal.

UINT4 Um valor de quatro bytes, inteiro e sem sinal.

UINT8 Um valor de oito bytes, inteiro e sem sinal.

BLOB Objeto grande binário. Esse tipo de dados só podeser usado com endpoints do Oracle.

CLOB Objeto grande de caracteres.

NCLOB Objeto grande de caracteres nativos.

Versão da API API versão 2016-01-01301

Page 308: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.4.3

Notas de release do AWS DMSA seguir, encontre as notas de release para versões do AWS Database Migration Service (AWS DMS).

Notas de release do AWS Database MigrationService (AWS DMS) 2.4.3

As tabelas a seguir mostram os recursos e as correções de erros para a versão 2.4.3 do AWS DatabaseMigration Service (AWS DMS).

Novo recurso ouaprimoramento

Descrição

Recriação dos metadados databela na incompatibilidade

Adição de um novo atributo de conexão adicional para endpoints MySQL– CleanSrcMetadataOnMismatch

Esse é um atributo Booliano que limpa e recria as informações dosmetadados da tabela na instância de replicação quando ocorreuma incompatibilidade. Por exemplo, em uma situação em que aexecução de um DDL alternativo na tabela pode resultar em diferentesinformações sobre a tabela armazenada em cache na instância dereplicação. Por padrão, esse atributo está definido como falso.

Melhorias de desempenhopara validação de dados

• A validação de dados particiona os dados antes de começar para quepossa comparar como partições e validá-los. Essa versão contémmelhorias nas alterações para buscar lote de partições, que aceleramo tempo de particionamento e agilizam a validação de dados.

• Melhorias para lidar com diferenças de agrupamento automaticamentecom base nas configurações de tarefa.

• Melhorias para identificar falsos positivos durante a validação, o quetambém reduz falsos positivos durante a fase de alterações em cache.

• Melhorias gerais de registro em log para a validação de dados.• Melhorias para consultas usadas pela validação de dados quando as

tabelas têm PKs compostas.

Problemas resolvidos

Data relatada Descrição

12 de fevereiro de 2018 Corrigido um problema na replicação contínua usando aplicação de loteonde o AWS DMS estava sem algumas inserções à medida que umarestrição exclusiva na tabela era atualizada.

16 de março de 2018 Corrigido um problema em que uma tarefa de migração de Oracle paraPostgreSQL estava travando durante a fase de replicação contínuadevido ao failover Multi-AZ na instância de origem do Oracle RDS.

Versão da API API versão 2016-01-01302

Page 309: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.4.2

Notas de release do AWS Database MigrationService (AWS DMS) 2.4.2

As tabelas a seguir mostram os recursos e as correções de erros para a versão 2.4.2 do AWS DatabaseMigration Service (AWS DMS).

Novo recurso ouaprimoramento

Descrição

Suporte ao Binary Readerpara Amazon RDS paraOracle durante a captura dedados de alteração

Adição de suporte para o uso do Binary Reader em cenários da capturade dados de alteração de uma origem Amazon RDS para Oracle durantea replicação contínua.

Parâmetros adicionais docomando de cópia para oAmazon Redshift como umdestino

Suporte introduzido para os seguintes parâmetros adicionais de cópiado Redshift usando atributos extras de conexão. Para obter maisinformações, consulte Atributos de conexão adicionais ao usar oAmazon Redshift como destino para o AWS DMS (p. 170).

• TRUNCATECOLUMNS• REMOVEQUOTES• TRIMBLANKS

Opção de falhar a tarefa demigração quando uma tabelaestiver truncada na origem doPostgreSQL

Suporte introduzido para falhar uma tarefa quando uma truncaçãofor encontrada em uma origem do PostgreSQL por meio de umanova configuração de tarefa. Para obter mais informações, consulte aconfiguração ApplyErrorFailOnTruncationDdl na seção Configurações detarefa de manipulação de erros (p. 217).

Suporte de validação paraJSON/JSONB/HSTORE emendpoints do PostgreSQL

Introdução de suporte à validação de dados para colunas JSON/JSONB/HSTORE para PostgreSQL como uma origem e destino.

Melhoria do log para origensdo MySQL

Maior visibilidade de log para problemas ao ler binlogs do MySQLdurante a captura de dados de alteração (CDC). Os logs exibirãoclaramente um erro/aviso em caso de problemas acessando os binlogsdo MySQL durante a CDC.

Estatísticas adicionais davalidação de dados

Adição de mais estatísticas da tabela de replicação. Para obter maisinformações, consulte Estatísticas da tarefa de replicação (p. 252).

Problemas resolvidos

Data relatada Descrição

14 de janeiro de 2018 Correção de todos os problemas relacionados ao tratamento de dataszero (0000-00-00) para destinos do MySQL durante o carregamento totale CDC. O MySQL não aceita 0000-00-00 (inválido no MySQL) enquantoalguns mecanismos aceitam. Todas essas datas se tornarão 0101-01-01para um destino do MySQL.

21 de janeiro de 2018 Correção de um problema em que a migração falha ao migrar umatabela com nome de tabela contendo um sinal $.

Versão da API API versão 2016-01-01303

Page 310: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.4.1

Data relatada Descrição

3 de fevereiro de 2018 Correção de um problema em que uma coluna JSON de uma origemdo PostgreSQL era truncada quando ao migrar para qualquer destinosuportado.

12 de fevereiro de 2018 Correção de um problema em que a tarefa de migração falhava após umfailover no destino RDS Aurora MySQL.

21 de fevereiro de 2018 Correção de um problema em que a tarefa de migração não conseguiainiciar a fase de replicação contínua após um problema de conectividadede rede.

23 de fevereiro de 2018 Correção de um problema onde certas regras de transformação emmapeamentos de tabela causavam travamentos da tarefa de migraçãodurante a replicação contínua para destinos do Redshift.

Relatado em diversas datas Correção de vários problemas da validação de dados

• Correção de problemas amplos do tratamento de strings na validaçãode origem/destino do Oracle.

• Tratamento da validação quando uma coluna é removida de umatabela nos mapeamentos de tabela.

• Melhoria do desempenho de validação para origens com alta taxa dealteração.

Notas de release do AWS Database MigrationService (AWS DMS) 2.4.1

As tabelas a seguir mostram os recursos e as correções de erros para a versão 2.4.1 do AWS DatabaseMigration Service (AWS DMS).

Novo recurso ouaprimoramento

Descrição

Suporte do JSONB paraorigens do PostgreSQL

Suporte introduzido para a migração JSONB do PostgreSQL comouma origem. O JSONB é tratado como um tipo de dados LOB e exigiráconfigurações de LOB adequadas para ser usado.

Suporte do HSTORE paraorigens do PostgreSQL

Suporte introduzido para a migração do tipo de dados HSTORE doPostgreSQL como uma origem. O HSTORE é tratado como um tipo dedados LOB e exigirá configurações de LOB adequadas para ser usado.

Parâmetros adicionais docomando de cópia para oRedshift como um destino

Suporte introduzido para os seguintes parâmetros de cópia adicionaispor meio dos atributos extras de conexão –

• ACCEPTANYDATE• DATEFORMAT• TIMEFORMAT• EMPTYASNULL

Versão da API API versão 2016-01-01304

Page 311: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.4.0

Problemas resolvidos

Data relatada Descrição

12 de julho de 2017 Corrigido um problema em que a tarefa de migração é suspensa antesdo início da fase de carregamento completo ao ler uma tabela do Oraclecom a criptografia de coluna do TDE habilitada.

3 de outubro de 2017 Corrigido um problema em que uma coluna JSON de uma origem doPostgreSQL não migra como o esperado.

5 de outubro de 2017 Corrigido um problema em que a tarefa de migração do DMS mostra alatência de origem igual a 0 quando o arquivo de log de refazer arquivomorto não é encontrado na instância do Oracle e origem. Essa correçãoaumentará linearmente a latência de origem sob essas condições.

20 de novembro de 2017 Corrigido um problema com a migração de LOB em que uma colunaTEXT no PostgreSQL era migrada para uma coluna CLOB no Oraclecom espaços extras após cada caractere na entrada LOB.

20 de novembro de 2017 Corrigido um problema em que uma tarefa de migração não erainterrompida como esperado depois do upgrade de uma instância dereplicação da versão 1.9.0 para a 2.4.0.

30 de novembro de 2017 Corrigido um problema em que uma tarefa de migração DMS nãocapturava corretamente as alterações feitas pela execução de umcomando de cópia em uma instância de origem do PostgreSQL.

11 de dezembro de 2017 Corrigido um problema em que uma tarefa de migração falhava ao lerdados de alteração de um log de bin não existente de uma origem doMySQL.

11 de dezembro de 2017 Corrigido um problema em que o DMS lia dados de alteração de umatabela não existente de uma origem do MySQL.

20 de dezembro de 2017 Inclui várias melhorias e correções no recurso de validação dos dados.

22 de dezembro de 2017 Corrigido um problema com o parâmetro maxFileSize para destinos doRedshift. Esse parâmetro estava sendo interpretado incorretamentecomo bytes em vez de quilobytes.

4 de janeiro de 2018 Corrigido um erro de alocação de memória de tarefas de migração deum DynamoDB como um destino. Em determinadas condições, o AWSDMS não alocava memória suficiente se o mapeamento de objetosusado não contivesse uma chave de classificação.

10 de janeiro de 2018 Corrigido um problema com o Oracle 12.2 como uma origemem que os DMLs não eram capturados como esperado quandoROWDEPENDENCIES era usado.

Notas de release do AWS Database MigrationService (AWS DMS) 2.4.0

As tabelas a seguir mostram os recursos e as correções de erros para a versão 2.4.0 do AWS DatabaseMigration Service (AWS DMS).

Versão da API API versão 2016-01-01305

Page 312: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.4.0

Novo recurso ouaprimoramento

Descrição

Replicar tablespaces deíndice do Oracle

Adiciona funcionalidades para oferecer suporte à replicação tablespacesde índice do Oracle. Mais detalhes sobre tablespaces de índice sãoencontrados aqui.

Suporte ao acesso entrecontas do Amazon S3

Adiciona funcionalidades para oferecer suporte a ACLs pré-configuradaspara o acesso entre contas com endpoints do S3. Mais detalhes sobreACLs pré-configuradas são encontrados aqui.

Uso: definir atributo de conexão adicional no endpoint do S3 –CannedAclForObjects=value

Possíveis valores:

1. NONE2. PRIVATE3. PUBLIC_READ4. PUBLIC_READ_WRITE5. AUTHENTICATED_READ6. AWS_EXEC_READ7. BUCKET_OWNER_READ8. BUCKET_OWNER_FULL_CONTROL

Problemas resolvidos

Data relatada Descrição

19 de julho de 2017 Corrigido um problema em que a tarefa de replicação entra em loop derepetição para sempre quando a instância PostgreSQL de origem ficasem slots de replicação. Com essa correção, a tarefa falhará com umerro que reporta que o DMS não conseguiu criar um slot de replicaçãológico.

27 de julho de 2017 Corrigido um problema no mecanismo de replicação em que o tipo dedados MySQL enum gerava falha na tarefa com erro de alocação dememória.

7 de agosto de 2017 Corrigido um problema que causou comportamento inesperado comas tarefas de migração com o Oracle como origem quando a origemficou desativada por mais de 5 minutos. Esse problema fez com que afase de replicação contínua ficasse suspensa depois que a origem eradisponibilizada.

24 de agosto de 2017 Corrigido um problema com o destino do PostgreSQL em que parte dafração parte no tipo de dados TIME foi processada incorretamente.

14 de setembro de 2017 Corrigido um problema em que valores eram gravados em camposTOAST em destinos baseados no PostgreSQL durante as atualizaçõesna fase de CDC.

8 de outubro de 2017 Corrigido um problema da versão 2.3.0 em que a replicação contínuacom origens do MySQL 5.5 não funcionavam conforme o esperado.

Versão da API API versão 2016-01-01306

Page 313: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.3.0

Data relatada Descrição

12 de outubro de 2017 Corrigido um problema com alterações de leitura de uma origem doSQL Server 2016 durante a fase de replicação contínua. Essa correçãoprecisa ser usada em conjunto com o seguinte atributos de conexãoadicional no endpoint do SQL Server de origem –

IgnoreTxnCtxValidityCheck=true

Notas de release do AWS Database MigrationService (AWS DMS) 2.3.0

As tabelas a seguir mostram os recursos e as correções de erros para a versão 2.3.0 do AWS DatabaseMigration Service (AWS DMS).

Novo recurso ouaprimoramento

Descrição

S3 como origem Uso do Amazon S3 como origem para o AWS DMS (p. 142)

SQL Azure como origem Uso de um banco de dados Microsoft Azure SQL como origem para oAWS DMS (p. 113)

Plataforma – Atualização doSDK da AWS

Atualização para o SDK da AWS SDK na instância de replicação para1.0.113.

O SDK da AWS SDK é usado para determinados endpoints, comoRedshift e S3, para carregar dados em nome do cliente nessesendpoints.

Uso - Irrestrito

Origem do Oracle – Aceitareplicação de tablespace noOracle

Capacidade de migrar tablespaces a partir de uma origem do Oracle,eliminando a necessidade de pré-criar tablespaces no destino antes damigração.

Uso – Use a configuração ReadTableSpaceName nos atributos deconexão adicionais no endpoint de origem do Oracle e a defina comotrue para aceitar a replicação de tablespace. Definido como false porpadrão.

Origem do Oracle – Suportede CDC para dados ativos doOracle mantém espera comoorigem

Capacidade de usar a instância de espera de proteção dos dados ativosdo Oracle como origem para a replicação de alterações contínuas emum destino compatível, eliminando a necessidade de conexão com umbanco de dados ativo que possa estar em produção.

Uso – Use a configuração StandbyDelayTime nos atributos deconexão adicionais do endpoint de origem do Oracle e especifique otempo em minutos para o atraso na sincronização da espera.

Origem do PostgreSQL –Adicionar heartbeat WAL

Adicionado um heartbeat WAL (executar consultas fictícias) para areplicação de uma origem do PostgreSQL, assim os slots de replicaçãológicos não se prendem a logs WAL antigos, o que pode resultar emsituações de armazenamento total na origem. Este heartbeat mantémrestart_lsn em movimento e impede cenários de armazenamento total.

Versão da API API versão 2016-01-01307

Page 314: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.3.0

Novo recurso ouaprimoramento

Descrição

Uso – quando aplicável –

1. HeartbeatEnable – definido como true (o padrão é false)2. HeartbeatSchema – schema de artefatos de heartbeat (o padrão é

public)3. HeartbeatFrequency – frequência de heartbeat em minutos (o

padrão é 5, e o valor mínimo é 1)

Todos os endpoints –Mantêm a replicaçãohomogênea com atransformação

Capacidade de fazer migrações semelhantes para tarefas de migraçãohomogêneas (a partir de uma estrutura de tabela/perspectiva de tipo dedados) que vieram na versão 2.2.0. No entanto, DMS ainda convertiatipos de dados internamente quando uma tarefa era iniciada comtransformações da tabela. Este recurso mantém tipos de dados deorigem e de destino para migrações de turno homogêneos levantemesmo quando transformações são usados.

Uso – Irrestrito para todas as migrações homogêneas.

Todos os endpoints – Falhada tarefa quando não sãoencontradas tabelas

Capacidade de forçar Replication Task Failure quando IncludeTransformation Rules não encontra correspondências

Uso – Tarefa Flip FailOnNoTablesCaptured definida como true.

Origem do Oracle –Interromper tarefa quandoo log redo de arquivo não éencontrado

Capacidade de gerar loop de repetição e parar tarefa quando o log redode arquivo na origem não é encontrado.

Uso – Use o atributo de conexão adicional RetryTimeoutInMinutespara especificar limite de tempo de parada em minutos.

Problemas resolvidos

Data relatada Descrição

5 de janeiro de 2017 MySQL: colisão de ID do servidor ao usar várias tarefas na mesmaorigem do MySQL:

Corrigido um problema de colisão de ID do servidor ao iniciar diversastarefas do DMS na mesma instância do MySQL (versão 5.6 +)

21 de fevereiro de 2017 MongoDB: problema ao criar tabela quando _id é uma string:

Corrigido um problema no qual a criação de uma tabela falha paranestingLevel = ONE quando _id no MongoDB é uma string nodocumento. Antes dessa correção, _id (quando é uma string) era criadocomo LONGTEXT (MySQL) ou CLOB (Oracle), que gera falha quandotenta torná-lo uma chave primária.

5 de maio de 2017 Oracle: LOBs NULL migrados como vazios:Corrigido um problema emque LOBs NULL eram migrados como vazios ao usar o modo LOBcompleto com origem do Oracle.

5 de maio de 2017 MySQL: erro de muitas conexões erro ao iniciar CDC a partir de data ehora:

Versão da API API versão 2016-01-01308

Page 315: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioNotas de release do AWS DMS 2.3.0

Data relatada DescriçãoCorrigido um problema em que o MySQL como uma tarefa de origemfalha com um erro de muitas conexões quando a hora de iníciopersonalizada de CDC passa mais de 24 horas.

24 de maio de 2017 DMS: atraso de início da tarefa:Corrigido um problema em que a tarefademorava a iniciar quando várias tarefas eram iniciadas na instância dereplicação de uma só vez.

7 de julho de 2017 PostgreSQL: mensagem de erro sobre o uso de todos os slots deconexão disponíveis não aparece

Corrigido um problema para registrar um erro no nível de registroem log padrão quando todos os slots de conexão disponíveis com oPostgreSQL são usados e o DMS não consegue obter mais slots paracontinuar a replicação.

19 de julho de 2017 DynamoDB: problema com atualizações/exclusões no DynamoDB peloOracle:

Corrigido um problema em que as atualizações/exclusões do Oraclepara o DynamoDB não eram migradas corretamente

8 de agosto de 2017 Oracle: Oracle como origem – comportamento inesperado durante CDC:

Corrigido um problema que causou comportamento inesperado duranteCDC quando uma instância de banco de dados de origem do Oracleficava desativada por mais de 5 minutos durante a migração.

12 de agosto de 2017 Redshift: Nulos sendo migrados como amazon_null:

Corrigido um problema em que nulos de qualquer origem eram migradoscomo amazon_null, causando problemas quando inseridos em tipos dedados não varchar no Redshift.

27 de agosto de 2017 MongoDB: falha na tarefa de carregamento total:

Corrigido um problema em que a tarefa de carregamento total falhaquando nestingLevel=NONE e _id não são ObjectId.

Versão da API API versão 2016-01-01309

Page 316: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAtualizações anteriores

Histórico do documentoA tabela a seguir descreve as mudanças importantes na documentação do guia do usuário do AWSDatabase Migration Service após janeiro de 2018. A versão da API atual é 20160101.

Você pode se inscrever em um feed RSS para ser notificado sobre atualizações nessa documentação.

update-history-change update-history-description update-history-date

Suporte de início nativo da CDC Adição de suporte para pontosde início nativo ao usar capturade dados de alteração (CDC).

June 28, 2018

Suporte a R4 Adição de suporte para classesde instância de replicação R4.

May 10, 2018

Suporte para Db2 LUW Adição de suporte para Db2LUW da IBM como origem para amigração de dados.

April 26, 2018

Suporte ao log de tarefas Adição de suporte paravisualização do uso do log detarefas e limpeza dos logs detarefas.

February 8, 2018

Suporte ao SQL Server comodestino

Adição de suporte para AmazonRDS para Microsoft SQL comoorigem.

February 6, 2018

Atualizações anterioresA tabela a seguir descreve as mudanças importantes na documentação do guia do usuário do AWSDatabase Migration Service até janeiro de 2018.

Alteração Descrição Alterado em

Novo recurso Suporte adicionado para uso do AWS DMS com o AWSSnowball para migrar bancos de dados grandes. Paraobter mais informações, consulte Migração de grandesarmazenamentos de dados usando o AWS DatabaseMigration Service e o AWS Snowball (p. 265).

17 de novembro de2017

Novo recurso Adicionado suporte para o relatório de avaliação detarefas e validação de dados. Para obter mais informaçõessobre o relatório de avaliação de tarefas, consulte Criarum relatório de avaliação de tarefa (p. 199). Para obtermais informações sobre validação de dados, consulte Configurações da tarefa de validação de dados (p. 216).

17 de novembro de2017

Novo recurso Adicionado suporte para modelos do AWSCloudFormation. Para obter mais informações,consulte Compatibilidade do AWS DMS com o AWSCloudFormation (p. 11).

11 de julho de 2017

Versão da API API versão 2016-01-01310

Page 317: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAtualizações anteriores

Alteração Descrição Alterado em

Novo recurso Adição de suporte ao uso do Amazon Dynamo comodestino. Para obter mais informações, consulte Uso de umbanco de dados do Amazon DynamoDB como destino doAWS Database Migration Service (p. 180).

10 de abril de 2017

Novo recurso Adição de suporte ao uso do MongoDB como origem. Paraobter mais informações, consulte Uso do MongoDB comoorigem para o AWS DMS (p. 137).

10 de abril de 2017

Novo recurso Adição de suporte ao uso do Amazon S3 comodestino. Para obter mais informações, consulte Uso doAmazon S3 como destino do AWS Database MigrationService (p. 176).

27 de março de2017

Novo recurso Adição de suporte ao recarregamento de tabelas de bancode dados durante uma tarefa de migração. Para obter maisinformações, consulte Recarregamento de tabelas duranteuma tarefa (p. 225).

7 de março de 2017

Novo recurso Adição de suporte a eventos e assinaturas de eventos.Para obter mais informações, consulte Trabalhar comeventos e notificações o AWS Database MigrationService (p. 260).

26 de janeiro de2017

Novo recurso Adição de suporte a endpoints SSL para o Oracle. Paraobter mais informações, consulte Suporte SSL para umendpoint do Oracle (p. 53).

5 de dezembro de2016

Novo recurso Adição de suporte para uso da captura de dados dealteração (CDC) com uma instância de banco de dadosdo PostgreSQL do Amazon RDS. Para obter maisinformações, consulte Configuração de uma instância debanco de dados do PostgreSQL do Amazon RDS comoorigem (p. 118).

14 de setembro de2016

Suporte à novaregião

Adição de suporte às regiões Ásia-Pacífico (Mumbai),Ásia-Pacífico (Seul) e América do Sul (São Paulo). Paraver uma lista de regiões compatíveis, consulte O que é oAWS Database Migration Service? (p. 1).

3 de agosto de 2016

Novo recurso Adição de suporte à replicação contínua. Para obter maisinformações, consulte Replicação contínua (p. 298).

13 de julho de 2016

Novo recurso Adição de suporte a conexões seguras usando SSL. Paraobter mais informações, consulte Uso de SSL com o AWSDatabase Migration Service (p. 49).

13 de julho de 2016

Novo recurso Adição de suporte a SAP Adaptive Server Enterprise(ASE) como endpoint de origem ou de destino. Para obtermais informações, consulte Uso de um banco de dadosSAP ASE como origem para o AWS DMS (p. 134) e Usode um banco de dados SAP ASE como destino do AWSDatabase Migration Service (p. 174).

13 de julho de 2016

Versão da API API versão 2016-01-01311

Page 318: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuárioAtualizações anteriores

Alteração Descrição Alterado em

Novo recurso Adição de suporte a filtros para mover um subconjuntode linhas do banco de dados de origem para o banco dedados de destino. Para obter mais informações, consulteUso de filtros de origem (p. 238).

2 de maio de 2016

Novo recurso Adição de suporte ao Amazon Redshift como endpoint dedestino. Para obter mais informações, consulte Uso de umbanco de dados Amazon Redshift como destino do AWSDatabase Migration Service (p. 168).

2 de maio de 2016

Disponibilidadegeral

Versão inicial do AWS Database Migration Service. 14 de março de2016

Versão de pré-visualização pública

Liberação da documentação de pré-visualização do AWSDatabase Migration Service.

21 de janeiro de2016

Versão da API API versão 2016-01-01312

Page 319: AWS Database Migration Service · Tarefas de migração executadas pelo AWS DMS ..... 1 Como o AWS DMS funciona no nível básico ... Uso do SAP ASE como origem

AWS Database Migration Service Guia do usuário

AWS GlossaryFor the latest AWS terminology, see the AWS Glossary in the AWS General Reference.

Versão da API API versão 2016-01-01313