169
AWS Database Migration Service Guia passo a passo de migração Versão da API 2016-01-01

AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Versão da API 2016-01-01

Page 2: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

AWS Database Migration Service: Guia passo a passo de migraçãoCopyright © 2020 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 manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Table of ContentsDemonstrações passo a passo do AWS Database Migration Service .......................................................... 1Migração de bancos de dados para a Amazon Web Services (AWS) .......................................................... 2

Ferramentas de migração da AWS ............................................................................................... 2Passo a passos neste guia .......................................................................................................... 3

Migração de um banco de dados Oracle no local para o Amazon Aurora MySQL .......................................... 4Custos ...................................................................................................................................... 5Descrição detalhada de migração ................................................................................................. 5

Etapa 1: preparar o banco de dados de origem do Oracle ........................................................ 5Etapa 2: iniciar e preparar o banco de dados de destino do Aurora MySQL .................................. 6Etapa 3: executar uma instância de replicação ...................................................................... 6Etapa 4: criar um endpoint de origem .................................................................................... 6Etapa 5: criar um endpoint de destino ................................................................................... 7Etapa 6: criar e executar uma tarefa de migração ................................................................... 7

Guia passo a passo da migração ................................................................................................. 8Etapa 1: configurar o banco de dados de origem do Oracle ...................................................... 9Etapa 2: configurar o banco de dados de destino do Aurora .................................................... 11Etapa 3: criar uma instância de replicação ............................................................................ 11Etapa 4: criar o endpoint de origem do Oracle ...................................................................... 13Etapa 5: criar o endpoint de destino do Aurora MySQL .......................................................... 16Etapa 6: criar uma tarefa de migração ................................................................................. 18Etapa 7: monitorar a tarefa de migração .............................................................................. 24Solução de problemas ....................................................................................................... 24

Trabalho com o banco de dados de amostra para migração ............................................................ 25Migração de um banco de dados Oracle do Amazon RDS para o Amazon Aurora MySQL ............................ 26

Custos ..................................................................................................................................... 27Pré-requisitos ........................................................................................................................... 28Arquitetura de migração ............................................................................................................. 29Passo a passo da migração ....................................................................................................... 30

Etapa 1: executar as instâncias do RDS em um VPC usando o modelo do CloudFormation. .......... 31Etapa 2: instalar as ferramentas SQL e a Ferramenta de conversão de esquema da AWS no seucomputador local .............................................................................................................. 35Etapa 3: testar a conectividade à instância de banco de dados da Oracle e criar uma amostra deschema. ........................................................................................................................... 38Etapa 4: testar a conectividade à instância de banco de dados do Aurora MySQL ....................... 41Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT) para converter o esquema do Oraclepara o Aurora MySQL ....................................................................................................... 43Etapa 6: validar a conversão de schema .............................................................................. 50Etapa 7: criar uma instância de replicação do AWS DMS ....................................................... 52Etapa 8: criar endpoints de origem e de destino do AWS DMS ................................................ 53Etapa 9: criar e executar uma tarefa de migração do AWS DMS .............................................. 55Etapa 10: verificar se a migração de dados foi concluída com êxito .......................................... 58Etapa 11: excluir recursos de demonstração ......................................................................... 60

Próximas etapas ....................................................................................................................... 61Migração de um banco de dados SQL Server para o Amazon Aurora MySQL ............................................ 62

Pré-requisitos ........................................................................................................................... 62Passo a passo da migração ....................................................................................................... 63

Etapa 1: instalar os drivers do SQL e a AWS Schema Conversion Tool no seu computador local .... 64Etapa 2: configurar o banco de dados Microsoft SQL Server de origem ..................................... 64Etapa 3: configurar o banco de dados do Aurora MySQL de destino ......................................... 66Etapa 4: usar a AWS SCT para converter o esquema SQL Server em Aurora MySQL .................. 67Etapa 5: criar uma instância de replicação do AWS DMS ....................................................... 74Etapa 6: criar endpoints de origem e de destino do AWS DMS ................................................ 76Etapa 7: criar e executar uma tarefa de migração do AWS DMS .............................................. 80Etapa 8: transferir para o Aurora MySQL .............................................................................. 83

Versão da API 2016-01-01iii

Page 4: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Solução de problemas ............................................................................................................... 84Migração de um banco de dados do Oracle para PostgreSQL ................................................................. 85

Pré-requisitos ........................................................................................................................... 85Passo a passo da migração ....................................................................................................... 86

Etapa 1: instalar os drivers do SQL e a AWS Schema Conversion Tool no seu computador local .... 86Etapa 2: configurar o banco de dados de origem do Oracle ..................................................... 87Etapa 3: configurar o banco de dados de destino do PostgreSQL ............................................. 90Etapa 4: usar a AWS Schema Conversion Tool (AWS SCT) para converter o schema do Oracleem PostgreSQL ................................................................................................................ 90Etapa 5: criar uma instância de replicação do AWS DMS ....................................................... 98Etapa 6: criar endpoints de origem e de destino do AWS DMS ............................................... 100Etapa 7: criar e executar uma tarefa de migração do AWS DMS ............................................ 103Etapa 8: transferir para o PostgreSQL ................................................................................ 106

Reverter a migração ................................................................................................................ 107Solução de problemas ............................................................................................................. 107

Migração de um Amazon RDS for Oracle Database para o Amazon Redshift ............................................ 109Pré-requisitos ......................................................................................................................... 109Arquitetura de migração ........................................................................................................... 110Passo a passo da migração ..................................................................................................... 112

Etapa 1: executar as instâncias do RDS em um VPC usando o modelo do CloudFormation. ........ 112Etapa 2: instalar as ferramentas SQL e a Ferramenta de conversão de esquema da AWS no seucomputador local ............................................................................................................. 116Etapa 3: testar a conectividade à instância de banco de dados da Oracle e criar uma amostra deschema. ......................................................................................................................... 119Etapa 4: testar a conectividade ao banco de dados do Amazon Redshift .................................. 123Etapa 5: usar a AWS SCT para converter o esquema do Oracle em Amazon Redshift ................ 124Etapa 6: validar a conversão de schema ............................................................................ 131Etapa 7: criar uma instância de replicação do AWS DMS ...................................................... 132Etapa 8: criar endpoints de origem e de destino do AWS DMS ............................................... 133Etapa 9: criar e executar uma tarefa de migração do AWS DMS ............................................ 136Etapa 10: verificar se a migração de dados foi concluída com êxito ......................................... 140Etapa 11: excluir recursos de demonstração ....................................................................... 142

Próximas etapas ..................................................................................................................... 143Migração de bancos de dados compatíveis com MySQL para a AWS ...................................................... 144Migração de um banco de dados compatível com MySQL para o Amazon Aurora MySQL ........................... 145

Migração de dados de um banco de dados MySQL externo para um Amazon Aurora MySQL usandoo Amazon S3 ......................................................................................................................... 145

Pré-requisitos ................................................................................................................. 146Etapa 1: fazer o backup de arquivos a serem restaurados como um cluster de banco de dados .... 148Etapa 2: copiar arquivos para um bucket do Amazon S3 ....................................................... 149Etapa 3: restaurar um cluster de banco de dados do Aurora MySQL de um bucket do Amazon S3 149

Migrar do MySQL para o Amazon Aurora MySQL usando o mysqldump .......................................... 156Migração de dados de um instância de banco de dados MySQL do Amazon RDS para um cluster debanco de dados do Amazon Aurora MySQL ................................................................................ 156

Migração de um snapshot MySQL do RDS para o Aurora MySQL .......................................... 157Histórico do documento .................................................................................................................... 165

Versão da API 2016-01-01iv

Page 5: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Demonstrações passo a passo doAWS Database Migration Service

Você pode usar o AWS Database Migration Service (AWS DMS) para migrar seus dados entre a maioriados bancos de dados comercializados e de código aberto mais utilizados, como Oracle, PostgreSQL,Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB e MySQL. O serviço é compatívelcom migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entreplataformas de banco de dados diferentes, como de Oracle para MySQL ou de MySQL para AmazonAurora com compatibilidade do MySQL. Os bancos de dados de origem ou de destino devem estar em umserviço da AWS.

Neste guia, você encontra demonstrações passo a passo que apresentam o processo de migração dedados de amostra para o AWS:

• Migração de bancos de dados para a Amazon Web Services (AWS) (p. 2)• Migração de um banco de dados Oracle no local para o Amazon Aurora MySQL (p. 4)• Migração de um banco de dados Oracle do Amazon RDS para o Amazon Aurora MySQL (p. 26)• Migração de um banco de dados SQL Server para o Amazon Aurora MySQL (p. 62)• Migração de um banco de dados do Oracle para PostgreSQL (p. 85)• Migração de um Amazon RDS for Oracle Database para o Amazon Redshift (p. 109)• Migração de bancos de dados compatíveis com MySQL para a AWS (p. 144)• Migração de um banco de dados compatível com MySQL para o Amazon Aurora MySQL (p. 145)

No Guia do usuário do DMS, você pode encontrar recursos adicionais:

• Demonstração: Migração do MongoDB para o Amazon DocumentDB• Migração de grandes datastores usando o AWS Database Migration Service e o AWS Snowball Edge

Versão da API 2016-01-011

Page 6: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Ferramentas de migração da AWS

Migração de bancos de dados para aAmazon Web Services (AWS)

Ferramentas de migração da AWSVocê pode usar várias ferramentas e serviços da AWS para migrar dados de um banco de dados externopara a AWS. Dependendo do tipo de migração de banco de dados que você estiver fazendo, perceberáque as ferramentas de migração nativas do seu mecanismo de banco de dados também são eficientes.

AWS Database Migration Service (AWS DMS) ajuda você a migrar bancos de dados para a AWS comeficiência e segurança. O banco de dados de origem pode permanecer totalmente operacional durantea migração, minimizando períodos de inatividade para aplicativos que dependem do banco de dados. OAWS DMS pode migrar os dados do Oracle para os bancos de dados comerciais de código aberto maisusados na AWS.

O AWS DMS migra dados, tabelas e chaves primárias para o banco de dados de destino. Os outroselementos de banco de dados não são migrados. Quando você migra um banco de dados Oracle para oAmazon Aurora com compatibilidade do MySQL, por exemplo, pode usar a Schema Conversion Tool daAWS com o AWS DMS.

A Ferramenta de conversão de esquema da AWS (SCT) facilita as migrações heterogêneas de bancode dados convertendo automaticamente o schema do banco de dados de origem e a maioria do códigopersonalizado, incluindo exibições, procedimentos armazenados e funções, para um formato compatívelcom o banco de dados de destino. Qualquer código que não possa ser convertido automaticamente serámarcado com clareza para que seja convertido manualmente. É possível usar essa ferramenta paraconverter os seus bancos de dados de origem do Oracle em bancos de dados de destino do AmazonAurora MySQL, MySQL ou PostgreSQL no Amazon RDS ou EC2.

É importante compreender que DMS e SCT são duas ferramentas diferentes e atendem a necessidadesdiferentes. Elas não interagem no processo de migração. Conforme as melhores práticas do DMS, ametodologia de migração deste tutorial é descrita abaixo:

• O AWS DMS usa uma abordagem minimalista e cria somente os objetos necessários para migrar osdados de maneira eficaz, como tabelas com chave primária. Por isso, usaremos o DMS para carregar astabelas com dados sem chaves externas ou restrições. (A SCT também pode ser usada para gerar osscripts de tabela e criá-la no destino antes de executar o carregamento pelo DMS).

• Aproveitaremos a SCT para:• Identificar problemas, limitações e ações da conversão de schema• Gerar os scripts do schema de destino incluindo chave externa e restrições• Converter códigos, como procedimentos e exibições da origem para o destino, e aplicá-los no destino

O tamanho e o tipo de migração de banco de dados do Oracle que deseja realizar determinamconsideravelmente as ferramentas que devem ser usadas. Por exemplo, uma migração heterogênea,em que você esteja migrando de um banco de dados Oracle para um mecanismo de banco de dadosdiferente na AWS, é realizada melhor usando o AWS DMS. Uma migração homogênea, em que vocêesteja migrando de um banco de dados do Oracle para um banco de dados do Oracle na AWS, é realizadamelhor usando ferramentas nativas do Oracle.

Versão da API 2016-01-012

Page 7: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Passo a passos neste guia

Passo a passos neste guiaMigração de um banco de dados Oracle no local para o Amazon Aurora MySQL (p. 4)

Migração de um banco de dados Oracle do Amazon RDS para o Amazon Aurora MySQL (p. 26)

Migração de um banco de dados SQL Server para o Amazon Aurora MySQL (p. 62)

Migração de um banco de dados do Oracle para PostgreSQL (p. 85)

Migração de um Amazon RDS for Oracle Database para o Amazon Redshift (p. 109)

Migração de bancos de dados compatíveis com MySQL para a AWS (p. 144)

Migração de um banco de dados compatível com MySQL para o Amazon Aurora MySQL (p. 145)

Versão da API 2016-01-013

Page 8: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Migração de um banco de dadosOracle no local para o AmazonAurora MySQL

A seguir, você encontrará uma descrição detalhada e uma orientação passo a passo completa que exibemo processo de migração de um banco de dados no local Oracle (o endpoint de origem) para um AmazonAurora com compatibilidade do MySQL (o endpoint de destino) usando AWS Database Migration Service(AWS DMS) e a Schema Conversion Tool da AWS (AWS SCT).

O AWS DMS migra os seus dados da origem no Oracle para o destino no Aurora MySQL. O AWS DMStambém captura as alterações de Data Manipulation Language (DML, Linguagem de manipulação dedados) e Data Definition Language (DDL, Linguagem de definição de dados) que ocorrem no banco dedados de origem e as aplica ao seu banco de dados de destino. Dessa forma, o AWS DMS ajuda a manteros seus bancos de dados de origem e de destino sincronizados entre si. Para facilitar a migração dedados, o DMS cria tabelas e índices de chave primária no banco de dados de destino, se necessário.

Mas o AWS DMS não migra os seus índices secundários, sequências, valores padrão, procedimentosarmazenados, triggers, sinônimos, exibições e outros objetos de esquema que não estão relacionadosespecificamente à migração de dados. Para migrar esses objetos ao destino no Aurora MySQL, use aSchema Conversion Tool da AWS.

Recomendamos que você acompanhe usando o banco de dados de amostra da Amazon. Veja um tutorialque usa o banco de dados de amostra e instruções sobre como obter uma cópia dele em Trabalho com obanco de dados de amostra para migração (p. 25).

Se você já tiver usado o AWS DMS antes ou se preferir clicar no mouse para ler, é provável que prefiratrabalhar com a descrição detalhada. Se você precisar dos detalhes e quiser uma abordagem maismoderada (ou tiver dúvidas), é provável que prefira o guia passo a passo.

Tópico: Migração de um banco de dados no local Oracle para o Aurora MySQL ou MySQL no AmazonRDS

Tempo:

Custos:

Banco de dados de origem: Oracle

Banco de dados de destino: Amazon Aurora MySQL/MySQL

Restrições:

Edição do Oracle: Enterprise, Standard, Express e Personal

Versão do Oracle: 10g (10.2 e superior), 11g, 12c, (no Amazon Relational Database Service (RDS), 11gou superior é necessário.)

MySQL ou versão do banco de dados relacionado: 5.5, 5.6, 5.7, MariaDB, Amazon Aurora MySQL

Versão da API 2016-01-014

Page 9: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Custos

CustosComo o AWS DMS ainda não está incorporado à calculadora, consulte a tabela a seguir para ver umaestimativa de definição de preço.

Além da configuração no seu próprio PC, você deve criar vários componentes da AWS para concluir oprocesso de migração. Os componentes da AWS incluem:

Serviço da AWS Tipo Descrição

Instância de banco de dados do Amazon Aurora MySQL db.r3.large Single-AZ,armazenamentode 10 GB, E/S de1 milhão

Instância de replicação do AWS DMS T2.large 50 GB dearmazenamentopara manter logsde replicaçãoincluídos

Transferência de dados de AWS DMS Grátis, baseadona quantidade dedados transferidospara o banco dedados de amostra.

 

Transferência de dados de saída Primeiro 1 GB pormês grátis

 

Descrição detalhada de migraçãoPara migrar os seus dados do Oracle para o Aurora MySQL usando o AWS DMS, siga as etapas abaixo.Se você já tiver usado o AWS DMS antes ou se preferir clicar no mouse para ler, o resumo a seguirajudará a começar a migração. Para obter detalhes sobre migração ou se tiver dúvidas, consulte o guiapasso a passo.

Etapa 1: preparar o banco de dados de origem doOracleUsar o AWS DMS para migrar dados de um banco de dados de origem Oracle requer preparação. Alémdisso, recomendamos algumas etapas adicionais como melhores práticas.

• Conta do AWS DMS – é aconselhável criar uma conta separada para o objetivo específico de migrar osseus dados. Essa conta deve ter o conjunto mínimo de privilégios necessários para migrar os dados. Osdetalhes específicos desses privilégios são descritos abaixo. Se você apenas estiver interessado emtestar o AWS DMS em um banco de dados que não seja de produção, qualquer conta de administradorde banco de dados será suficiente.

• Registro suplementar – para capturar alterações é necessário habilitar o registro suplementar para usaro DMS. Para habilitar o registro suplementar no nível de banco de dados, emita o seguinte comando.

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

Versão da API 2016-01-015

Page 10: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: iniciar e preparar o banco dedados de destino do Aurora MySQL

Além disso, o AWS DMS exige a definição de registro suplementar ao menos no nível de chave paracada tabela sendo migrada. O AWS DMS adicionará automaticamente esse registro suplementar sevocê incluir o seguinte parâmetro de conexão extra à sua conexão de origem.

addSupplementalLogging=Y

• Banco de dados de origem – para migrar os seus dados, o servidor de replicação do AWS DMSprecisará de acesso ao banco de dados de origem. Verifique se as regras de firewall fornecem entradaao servidor de replicação ao AWS DMS.

Etapa 2: iniciar e preparar o banco de dados dedestino do Aurora MySQLVeja a seguir alguns itens que devem ser considerados ao executar a instância do Aurora MySQL:

• Para obter melhores resultados, recomendamos que você coloque a instância do Aurora MySQL e ainstância de replicação na mesma VPC e, se possível, na mesma Zona de disponibilidade.

• Recomendamos a criação de uma conta separada com privilégios mínimos para migrar os dados. Aconta do AWS DMS precisa dos seguintes privilégios em todos os bancos de dados para os quais hádados sendo migrados.

ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT

Além disso, o AWS DMS precisa de acesso completo ao banco de dados awsdms_control. Esse bancode dados manterá as informações exigidas pelo AWS DMS se específicas à migração. Para forneceracesso, execute o seguinte comando.

ALL PRIVILEGES ON awsdms_control.* TO 'dms_user'

Etapa 3: executar uma instância de replicaçãoO serviço do AWS DMS conecta-se aos bancos de dados de origem e de destino usando uma instância dereplicação. Veja alguns itens que devem ser considerados ao executar a instância de replicação:

• Para obter melhores resultados, recomendamos que você coloque sua instância de replicação namesma VPC e na mesma Zona de disponibilidade que seu banco de dados de destino (neste caso, oAurora MySQL).

• Se o banco de dados de origem ou de destino estiver fora do VPC onde você inicia o servidor dereplicação, o servidor de replicação deverá ter acesso público.

• O AWS DMS pode consumir uma boa parte da memória e da CPU. Contudo, ele é fácil de escalar, senecessário. Se você já sabe realizar várias tarefas em um único servidor de replicação ou

• O armazenamento padrão costuma ser suficiente para a maioria das migrações.

Etapa 4: criar um endpoint de origemPara o AWS DMS acessar o banco de dados de origem Oracle, é necessário criar um endpoint de origem.O endpoint de origem define todas as informações necessárias para o AWS DMS se conectar ao banco dedados de origem do servidor de replicação. Veja a seguir alguns requisitos para o endpoint de origem.

Versão da API 2016-01-016

Page 11: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar um endpoint de destino

• O endpoint de origem deve ser acessível a partir do servidor de replicação. Para habilitar isso, pode sernecessário modificar as regras de firewall para permitir o servidor de replicação. É possível encontrar oendereço IP do servidor de replicação no AWS DMS Management Console.

• Para o AWS DMS capturar alterações, o Oracle exige que o registro suplementar esteja habilitado.Se você deseja que o AWS DMS habilite o registro suplementar, adicione o seguinte aos atributos deconexão extra para o endpoint de origem do Oracle.

addSupplementalLogging=Y

Etapa 5: criar um endpoint de destinoPara o AWS DMS acessar o banco de dados de destino do Aurora MySQL é necessário criar um endpointde destino. O endpoint de destino define todas as informações necessárias para o DMS se conectar aoseu banco de dados do Aurora MySQL.

• O endpoint de destino deve ser acessível a partir do servidor de replicação. Pode ser necessáriomodificar os security groups para deixar o endpoint de destino acessível.

• Se você pré-criou o banco de dados no destino, convém desabilitar verificações de chave externadurante o carregamento completo. Para fazer isso, adicione o seguinte aos seus atributos de conexãoextra.

initstmt=SET FOREIGN_KEY_CHECKS=0

Etapa 6: criar e executar uma tarefa de migraçãoUma tarefa de migração diz ao AWS DMS para onde e como você deseja que os seus dados sejammigrados. Ao criar a tarefa de migração, você deverá considerar a definição de parâmetros de migraçãoconforme o seguinte.

Endpoints and replication server — escolha os endpoints e o servidor de replicação criados acima.

Migration type — na maioria dos casos, você seleciona migrate existing data and replication ongoingchanges. Com essa opção, o AWS DMS carrega os dados de origem enquanto captura alterações neles.Quando os dados estão totalmente carregados, o AWS DMS aplica todas as alterações pendentes emantém os bancos de dados de origem e de destino sincronizados até que a tarefa seja interrompida.

Target table preparation mode — se o AWS DMS estiver criando as tabelas, selecione choose drop tableson target. Se você estiver usando outro método para criar as tabelas de destino, como a Ferramenta deconversão de esquema da AWS, selecione truncate.

LOB parameters — se você estiver apenas testando o AWS DMS, selecione include LOB columns inreplication, Limited LOB mode e defina o tamanho máximo do LOB como 16 (que é 16k). Para obter maisinformações sobre LOBs, leia os detalhes no guia passo a passo.

Enable logging — para ajudar na depuração de problemas de migração, sempre habilite o registro.

Table mappings — ao migrar do Oracle para o Aurora MySQL, recomendamos que você convertaos nomes de esquema, tabela e coluna em minúsculas. Para isso, crie um mapeamento de tabelapersonalizado. O exemplo a seguir migra o schema DMS_SAMPLE e converte nomes de schema, tabela ecoluna para minúsculas.

{ "rules": [ { "rule-type": "selection",

Versão da API 2016-01-017

Page 12: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoGuia passo a passo da migração

"rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "6", "rule-name": "6", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } }, { "rule-type": "transformation", "rule-id": "7", "rule-name": "7", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" } }, { "rule-type": "transformation", "rule-id": "8", "rule-name": "8", "rule-action": "convert-lowercase", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" } } ]}

Guia passo a passo da migraçãoA seguir, você encontrará instruções passo a passo para migrar um banco de dados Oracle de umambiente no local para o Amazon Aurora MySQL. Essas instruções supõem que você seguiu as etapas deconfiguração para usar o AWS DMS em Configurar o uso do AWS Database Migration Service.

Tópicos• Etapa 1: configurar o banco de dados de origem do Oracle (p. 9)• Etapa 2: configurar o banco de dados de destino do Aurora (p. 11)• Etapa 3: criar uma instância de replicação (p. 11)• Etapa 4: criar o endpoint de origem do Oracle (p. 13)• Etapa 5: criar o endpoint de destino do Aurora MySQL (p. 16)• Etapa 6: criar uma tarefa de migração (p. 18)• Etapa 7: monitorar a tarefa de migração (p. 24)• Solução de problemas (p. 24)

Versão da API 2016-01-018

Page 13: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: configurar o banco de dados de origem do Oracle

Etapa 1: configurar o banco de dados de origem doOraclePara usar o Oracle como origem do AWS Database Migration Service (AWS DMS), antes você devegarantir que o ARCHIVELOG MODE esteja ativado para fornecer informações para o LogMiner. O AWSDMS usa o LogMiner para ler informações de logs de arquivo para o AWS DMS poder capturar alterações.

Para o AWS DMS ler essas informações, garanta que os logs de arquivo fiquem retidos no servidordo banco de dados enquanto o AWS DMS precisar deles. Se você configurar a tarefa para começar acapturar alterações imediatamente, será necessário reter apenas os logs de arquivo por um pouco maisque a duração da transação mais longa. Reter logs de arquivo por 24 horas costuma ser suficiente. Sevocê configurar a tarefa para começar a partir de um momento no passado, os logs de arquivo deverãoficar disponíveis a partir daquele momento. Para ver instruções mais específicas sobre a habilitação domodo ARCHIVELOG e a garantia da retenção de log para o banco de dados local do Oracle, consulte adocumentação do Oracle.

Para capturar dados de alterações, o AWS DMS exige a habilitação do registro no banco de dados deorigem AWS DMS. Um registro suplementar mínimo deve ser habilitado no nível do banco de dados. OAWS DMS também exige que o registro da chave de identificação esteja habilitado. Essa opção faz comque o banco de dados coloque todas as colunas da chave primária de uma linha no arquivo de redo logsempre que uma linha que contém uma chave primária for atualizada (mesmo que nenhum valor na chaveprimária mude). É possível definir essa opção no nível do banco de dados ou da tabela.

Se a origem do Oracle for no Amazon RDS, o banco de dados será colocado no modo ARCHIVELOG se,e somente se, você habilitar backups. O seguinte comando garantirá que logs de arquivo sejam retidos naorigem do RDS por 24 horas:

exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);

Como configurar o banco de dados de origem do Oracle

1. Execute o seguinte comando para habilitar o registro suplementar no nível do banco de dados, o que oAWS DMS exige:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

For RDS:exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');

2. Use o seguinte comando para habilitar o registro suplementar de chave de identificação no nível dobanco de dados. O AWS DMS exige o registro suplementar de chave no nível do banco de dados, amenos que você permita que o AWS DMS adicione automaticamente o registro suplementar conformenecessário ou habilite o registro suplementar do nível de chave no nível da tabela:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

For RDS:exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');

3. O banco de dados de origem incorre em pequenos custos quando o registro suplementar do nível dechave está habilitado. Portanto, se estiver migrando apenas um subconjunto das suas tabelas, habiliteo registro suplementar do nível de chave no nível da tabela. Use o seguinte comando para habilitar oregistro suplementar do nível de chave no nível da tabela.

alter table table_name add supplemental log data (PRIMARY KEY) columns;

Versão da API 2016-01-019

Page 14: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: configurar o banco de dados de origem do Oracle

Quando uma tabela não tem chave primária, você tem duas opções.

• Você pode adicionar o registro suplementar a todas as colunas envolvidas no primeiro índice únicona tabela (classificada por nome de índice.)

• Você pode adicionar o registro suplementar a todas as colunas da tabela.

Para adicionar o registro suplementar a um subconjunto de colunas em uma tabela (as envolvidas emum índice único), execute o seguinte comando.

ALTER TABLE table_name ADD SUPPLEMENTAL LOG GROUP example_log_group (ID,NAME) ALWAYS;

Execute o seguinte comando para adicionar o registro suplementar a todas as colunas de uma tabela.

alter table table_name add supplemental log data (ALL) columns;

4. Crie ou configure uma conta do banco de dados para ser usada pelo AWS DMS. Recomendamos quevocê use uma conta com os privilégios mínimos exigidos pelo AWS DMS para a sua conexão do AWSDMS. O AWS DMS exige os seguintes privilégios.

CREATE SESSIONSELECT ANY TRANSACTIONSELECT on V_$ARCHIVED_LOGSELECT on V_$LOGSELECT on V_$LOGFILESELECT on V_$DATABASESELECT on V_$THREADSELECT on V_$PARAMETERSELECT on V_$NLS_PARAMETERSSELECT on V_$TIMEZONE_NAMESSELECT on V_$TRANSACTIONSELECT on ALL_INDEXESSELECT on ALL_OBJECTSSELECT on ALL_TABLESSELECT on ALL_USERSSELECT on ALL_CATALOGSELECT on ALL_CONSTRAINTSSELECT on ALL_CONS_COLUMNSSELECT on ALL_TAB_COLSSELECT on ALL_IND_COLUMNSSELECT on ALL_LOG_GROUPSSELECT on SYS.DBA_REGISTRYSELECT on SYS.OBJ$SELECT on DBA_TABLESPACESSELECT on ALL_TAB_PARTITIONSSELECT on ALL_ENCRYPTED_COLUMNS* SELECT on all tables migrated

Se você quiser capturar e aplicar alterações (CDC), também precisará dos seguintes privilégios.

EXECUTE on DBMS_LOGMNR

Versão da API 2016-01-0110

Page 15: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: configurar o banco de dados de destino do Aurora

SELECT on V_$LOGMNR_LOGSSELECT on V_$LOGMNR_CONTENTSLOGMINING /* For Oracle 12c and higher. */* ALTER for any table being replicated (if you want DMS to add supplemental logging)

Para versões do Oracle inferiores a 11.2.0.3, são necessários os seguintes privilégios. Se houverexibições expostas, serão necessários os seguintes privilégios.

SELECT on DBA_OBJECTS /* versions before 11.2.0.3 */SELECT on ALL_VIEWS (required if views are exposed)

Etapa 2: configurar o banco de dados de destino doAuroraAssim como no caso do seu banco de dados de origem, convém restringir o acesso do usuário a quemvocê está se conectando. Também é possível criar um usuário temporário para remover após a migração.

CREATE USER 'dms_user'@'%' IDENTIFIED BY 'dms_user';GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON <target database(s)>.* TO 'dms_user'@'%';

O AWS DMS usa algumas tabelas de controle no destino no banco de dados awsdms_control. O seguintecomando garante que dms_user tenha o acesso necessário ao banco de dados awsdms_control:

GRANT ALL PRIVILEGES ON awsdms_control.* TO 'dms_user'@'%';flush privileges;

Etapa 3: criar uma instância de replicaçãoUma instância de replicação do AWS DMS realiza a migração de dados em si entre a origem e o destino.A instância de replicação também armazena as alterações em cache durante a migração. A CPU e acapacidade de memória de uma instância de replicação influenciam o tempo geral necessário para amigração. Use o seguinte procedimento para definir os parâmetros para uma instância de replicação.

Como criar uma instância de replicação do AWS DMS

1. Faça login no Console de Gerenciamento da AWS, abra o console do AWS DMS em https://console.aws.amazon.com/dms/ e selecione Replication instances (Instâncias de replicação). Sevocê 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 IAM Permissions Needed to Use AWS DMS.

2. Selecione Create replication instance.3. Na página Create replication instance, especifique as informações da instância de replicação,

conforme mostrado a seguir.

Versão da API 2016-01-0111

Page 16: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: criar uma instância de replicação

Para este parâmetro Faça o seguinte

Name Se você pretende executar várias instâncias de replicaçãoou compartilhar uma conta, escolha um nome que o ajudea diferenciar rapidamente entre instâncias de replicaçãodiferentes.

Descrição Uma boa descrição dá uma ideia da finalidade para a quala instância de replicação está sendo usada e pode evitaracidentes.

Instance class O AWS DMS pode usar uma boa parte da memória e daCPU. Se você tiver um banco de dados grande (muitastabelas) ou usar vários tipos de dados de LOB, é provávelque seja melhor configurar uma instância maior. Conformedescrito a seguir, talvez você possa impulsionar a taxade transferência executando várias tarefas. Várias tarefasconsomem mais recursos e exigem uma instância maior.Fique atento ao consumo de CPU e de memória enquantoexecuta os testes. Se você acha que está usando acapacidade total da CPU ou do espaço de troca, é fácilfazer o escalonamento.

VPC Aqui você pode escolher o VPC onde a instância dereplicação será executada. Recomendamos que, sepossível, você selecione a mesma VPC em que o bancode dados de origem ou de destino está (ou ambos). OAWS DMS deve acessar o banco de dados de origem e dedestino de dentro da VPC. Se um ou os dois endpoints dobanco de dados estiverem fora dessa VPC, modifique asregras de firewall para permitir o acesso do AWS DMS.

Multi-AZ Se você escolher Multi-AZ, o AWS DMS executará umainstância de replicação primária e secundária em Zonas dedisponibilidade separadas. Em caso de falha catastróficade disco, a instância de replicação primária executafailover automaticamente para a secundária, evitando ainterrupção do serviço. Na maioria das situações, o Multi-AZ não será necessário se você estiver realizando umamigração. Se o carregamento de dados inicial demorarmuito e você precisar manter os bancos de dados deorigem e de destino sincronizados por um período detempo considerável, considere iniciar o servidor demigração em uma configuração Multi-AZ.

Publicly accessible Se o banco de dados de origem ou de destino estiverfora do VPC onde a instância de replicação está, seránecessário deixar a instância de replicação publicamenteacessível.

4. Na seção Advanced, defina os seguintes parâmetros e selecione Next.

Para esta opção Faça o seguinte

Allocated storage (GB) O armazenamento é consumido principalmentepor arquivos de log e transações armazenadas em

Versão da API 2016-01-0112

Page 17: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: criar o endpoint de origem do Oracle

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 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 Aurora MySQL é 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 Se você executar em uma configuração Multi-AZ, serãonecessários ao menos dois grupos de sub-rede.

Availability Zone Se possível, coloque o servidor de replicação primário namesma Zona de disponibilidade que o banco de dados dedestino.

VPC Security group(s) Com security groups, é possível controlar a entrada ea saída de/para o VPC. Com o AWS DMS, você podeassociar um ou mais grupos de segurança à VPC em queo servidor de replicação é iniciado.

KMS master key Com o AWS DMS, todos os dados são criptografados emrepouso usando uma chave de criptografia do KMS Porpadrão, o AWS DMS cria outra chave de criptografia parao servidor de replicação. No entanto, você pode usar umachave existente se desejar.

Etapa 4: criar o endpoint de origem do OracleEnquanto a instância de replicação está sendo criada, é possível especificar o endpoint de origem doOracle usando o Console de Gerenciamento da AWS. Contudo, você só pode testar a conectividadedepois de a instância de replicação ser criada, porque ela é usada para testar a conexão.

Versão da API 2016-01-0113

Page 18: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: criar o endpoint de origem do Oracle

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

1. No console do AWS DMS, selecione Endpoints no painel de navegação.2. Escolha Create endpoint. A página Create database endpoint será exibida, conforme mostrado a

seguir.

3. Especifique as informações de conexão do banco de dados de origem do Oracle. A tabela a seguirdescreve as configurações de origem.

Para este parâmetro Faça o seguinte

Endpoint type Selecione Source.

Endpoint Identifier Digite um identificador para o endpoint do Oracle. Oidentificador do endpoint deve ser exclusivo em umaregião da AWS.

Source Engine Selecione oracle.

Server name Se o banco de dados for local, digite um endereço IPque o AWS DMS possa usar para se conectar ao bancode dados a partir do servidor de replicação. Se o bancode dados estiver sendo executado no Amazon ElasticCompute Cloud (Amazon EC2) ou Amazon RDS, digite oendereço Domain Name Service (DNS) público.

Versão da API 2016-01-0114

Page 19: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: criar o endpoint de origem do Oracle

Para este parâmetro Faça o seguinte

Port Digite a porta onde o banco de dados está aguardandoconexões (o padrão do Oracle é 1521).

SSL mode Escolha um modo Secure Sockets Layer (SSL) se quiserhabilitar criptografia de conexão para esse endpoint.Dependendo do modo selecionado, talvez seja necessáriofornecer informações de certificado e de certificado doservidor.

Username Digite o nome do usuário da conta da AWS.Recomendamos que você crie uma conta da AWSespecífica para a migração.

Password Forneça a senha do nome de usuário precedente.

4. Selecione a guia Advanced para definir valores de strings de conexão extra e a chave de criptografia.

Para esta opção Faça o seguinte

Extra connection attributes Aqui é possível adicionar valores para atributos extrasque controlam o comportamento do endpoint. Alguns dosatributos mais relevantes estão listados aqui. Para ver alista completa, consulte a documentação. Separe as váriasentradas usando um ponto-e-vírgula (;) entre elas.

• addSupplementalLogging: o AWS DMS adicionaráautomaticamente o registro suplementar se vocêhabilitar esta opção (addSupplementalLogging=Y).

• useLogminerReader: por padrão, o AWS DMS usa oOracle LogMiner para capturar alterações de dadosdos logs. O AWS DMS também pode analisar oslogs usando a tecnologia de proprietário. Se vocêusar Oracle 12c e precisar capturar alterações àstabelas que incluam LOBS, defina isso como No(useLogminerReader=N).

• numberDataTypeScale: o Oracle é compatível com umtipo de dados NUMBER que não tem precisão nemescala. Por padrão, NUMBER é convertido para umnúmero com precisão de 38 e escala de 10, número(38,10). Os valores válidos são 0—38 ou -1 paraFLOAT.

• archivedLogDestId: esta opção especifica o destinodos redo logs arquivados. O valor deve ser o mesmoque o número DEST_ID na tabela $archived_log.Para trabalhar com vários destinos de log (DEST_ID),recomendamos que você especifique um identificadorde local para redo logs arquivados. Fazer isso aprimorao desempenho ao garantir que os logs corretos sejamacessados no início. O valor padrão desta opção é 0.

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ê selecionar (Default)

Versão da API 2016-01-0115

Page 20: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar o endpoint de destino do Aurora MySQL

Para esta opção Faça o seguinteaws/dms, a chave padrão do AWS KMS associada à suaconta e região será usada.

Antes de salvar o endpoint, teste-o. Para isso, selecione um VPC e uma instância de replicação de ondeo teste será realizado. Como parte do teste, o AWS DMS atualiza a lista de esquemas associados aoendpoint. (Os schemas são apresentados como opções de origem ao criar uma tarefa usando o endpointde origem.)

Etapa 5: criar o endpoint de destino do Aurora MySQLEm seguida, você pode fornecer informações para o banco de dados de destino do Amazon AuroraMySQL especificando as configurações do endpoint de destino. A tabela a seguir descreve asconfigurações de destino.

Como especificar endpoints de um banco de dados de destino usando o Console deGerenciamento da AWS

1. No console do AWS DMS, selecione Endpoints no painel de navegação.2. Escolha Create endpoint. A página Create database endpoint será exibida, conforme mostrado a

seguir.

3. Especifique as suas informações de conexão para o banco de dados de destino do Aurora MySQL. Atabela a seguir descreve as configurações de destino.

Versão da API 2016-01-0116

Page 21: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar o endpoint de destino do Aurora MySQL

Para este parâmetro Faça o seguinte

Endpoint type Selecione Target.

Endpoint Identifier Digite um identificador para o endpoint do Aurora MySQL.O identificador do endpoint deve ser exclusivo em umaregião da AWS.

Target Engine Selecione aurora.

Servername Digite o endpoint do gravador da instância do AuroraMySQL. O endpoint do gravador é a instância primária.

Port Digite a porta atribuída à instância.

SSL mode Escolha um modo SSL se você deseja habilitar acriptografia de conexão para esse endpoint. Dependendodo modo selecionado, talvez seja necessário fornecerinformações de certificado e de certificado do servidor.

Username Digite o nome do usuário da conta que você está usandopara migrar. Recomendamos que você crie uma contaespecífica para a migração.

Password Forneça a senha do nome de usuário precedente.

4. Selecione a guia Advanced para definir valores de strings de conexão extra e a chave de criptografia,se necessários.

Para esta opção Faça o seguinte

Extra connection attributes Aqui é possível inserir valores para atributosextras que controlam o comportamento doendpoint. Alguns dos atributos mais relevantesestão listados aqui. Para ver a lista completa,consulte a documentação. Separe as váriasentradas usando um ponto-e-vírgula (;) entreelas.

• targetDbType: por padrão, o AWS DMS criaum banco de dados MySQL diferente paracada esquema que está sendo migrado.Às vezes, talvez você queira combinarobjetos de vários schemas em um únicobanco de dados. Para fazer isso, definaessa opção como specific_database(targetDbType=SPECIFIC_DATABASE).

• initstmt: use esta opção para chamar oparâmetro de conexão initstmt MySQL e paraaceitar o que o mysql initstmt aceitar. Aotrabalhar com um destino do Aurora MySQL, éútil desabilitar verificações de chave externa.Para fazer isso, use o parâmetro initstmt daseguinte maneira:

initstmt=SET FOREIGN_KEY_CHECKS=0

Versão da API 2016-01-0117

Page 22: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migraçã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 eas informações de conexão. Se você selecionar(Default) aws/dms, a chave padrão do AWS KMSassociada à sua conta e região será usada.

Antes de salvar o endpoint, você pode testá-lo. Para isso, selecione um VPC e uma instância de replicaçãode onde o teste será realizado.

Etapa 6: criar uma tarefa de migraçãoAo criar uma tarefa de migração, você diz ao AWS DMS exatamente como deseja que os seus dadossejam migrados. Dentro de uma tarefa, você define as tabelas que gostaria que fossem migradas, paraonde gostaria que elas fossem migradas e como gostaria que fossem migradas. Se estiver planejando usaro recurso de capturar e aplicar alterações do AWS DMS, será importante saber que as transações sãomantidas em uma única tarefa. Em outras palavras, você deve migrar todas as tabelas que participam emuma única transação juntas na mesma tarefa.

Usando uma tarefa do AWS DMS, é possível especificar o esquema a ser migrado e o tipo de migração.É possível migrar dados existentes, migrar dados existentes e replicar alterações contínuas ou replicarsomente alterações de dados. Esta demonstração migra apenas dados existentes.

Como criar uma tarefa de migração

1. No painel de navegação, selecione Tasks.2. Escolha Create Task.3. 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 Convém oferecer à tarefa um nome descritivo que ajude aorganização.

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

Source endpoint Selecione o endpoint de origem.

Target endpoint Selecione o endpoint de destino.

Replication instance Selecione uma instância de replicação na qual a tarefaserá executada. Lembre-se: os endpoints de origem e dedestino devem ser acessíveis a partir dessa instância.

Migration type Você pode usar três tipos de migração diferentes com oAWS DMS.

• Migração de dados existentes:

Se você selecionar esta opção, o AWS DMS migrarásomente os dados existentes. As alterações aos dadosde origem não serão capturadas e aplicadas ao destino.Se houver condições de causar uma interrupção duranteo tempo do carregamento completo, migrar com esta

Versão da API 2016-01-0118

Page 23: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migração

Para esta opção Faça o seguinteopção será muito simples e direto. O método também ébom para usar na criação de cópias de teste do bancode dados.

• Migração de dados existentes e replicação de alteraçõescontínuas:

Com essa opção, o AWS DMS captura alteraçõesenquanto migra os dados existentes. O AWS DMScontinua capturando e aplicando alterações, mesmoapós os dados em massa terem sido carregados. Porfim, os bancos de dados de origem e de destino ficarãosincronizados, permitindo uma migração com tempo deinatividade mínimo. Para fazer isso, siga as seguintesetapas:• Feche a aplicação• Deixe a alteração final passar até o destino• Realize tarefas administrativas, como habilitar chaves

externas e triggers• Inicie a aplicação apontando para o novo banco de

dados de destino

Note

O AWS DMS carrega os dados em massatabela por tabela, <n> tabelas por vez.Conforme o carregamento completo progride,o AWS DMS começa a aplicar as alteraçõesarmazenadas em cache às tabelas de destino omais rápido possível. Durante o carregamentoem massa, a integridade referencial é violada.Então, as chaves externas existentes devemser desabilitadas para o carregamentocompleto. Após o carregamento completo serconcluído, o banco de dados de destino teráintegridade e as alterações serão aplicadascomo transações.

• Replicação somente de alterações de dados:

Em alguns casos, talvez você escolha carregardados em massa usando um método diferente. Essaabordagem costuma se aplicar somente a migraçõeshomogêneas.

Start task on create Na maioria das situações, é bom fazer a tarefa iniciarimediatamente. Às vezes, você pode querer atrasar oinício de uma tarefa para alterar os níveis de registro, porexemplo.

4. Em seguida, defina as configurações avançadas, conforme mostrado a seguir.

Para esta opção Faça o seguinte

Target table preparation mode O AWS DMS permite que você especifique como gostariaque as tabelas de destino fossem preparadas antes docarregamento.

Versão da API 2016-01-0119

Page 24: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migração

Para esta opção Faça o seguinteDo nothing — quando esta opção é selecionada, o AWSDMS não faz nada para preparar as tabelas. A estrutura databela permanece como está e quaisquer dados existentessão deixados na tabela. Você pode usar esse método paraconsolidar dados de vários sistemas.

Drop tables on target — use esta opção quando quiser queo AWS DMS crie a tabela de destino para você. Quandovocê seleciona essa opção, o AWS DMS solta e recria astabelas para migrar antes da migração.

Truncate - selecione esta opção se quiser pré-criaralgumas ou todas as tabelas no sistema de destino, talvezcom a Ferramenta de conversão de esquema da AWS.Quando você seleciona essa opção, o AWS DMS truncauma tabela de destino antes de carregá-la. Se a tabela dedestino não existir, o AWS DMS a criará para você.

Versão da API 2016-01-0120

Page 25: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migração

Para esta opção Faça o seguinte

Include LOB columns in replication Objetos grandes (LOBs), às vezes, podem ser difíceisde migrar entre sistemas. O AWS DMS oferece umavariedade de opções para ajudar com o ajuste de colunasde LOBs. Para ver quais e quando os tipos de dadossão considerados LOBS pelo AWS DMS, consulte adocumentação do AWS DMS.

Don't include LOB columns - ao migrar dados de umbanco de dados para outro, aproveite a oportunidadepara repensar como os seus LOBS são armazenados,especialmente para migrações heterogêneas. Se quiserfazer isso, não haverá necessidade de migrar os dados deLOB.

Full LOB mode — Em full LOB mode, o AWS DMSmigra todos os LOBs da origem para o destino,independentemente do tamanho. Nessa configuração, oAWS DMS não tem nenhuma informação sobre o tamanhomáximo esperado dos LOBs. Assim, migra-se um LOB porvez, parte por parte. Esse modo pode ser bem lento.

Limited LOB mode — Em limited LOB mode, você defineo tamanho máximo de LOB que o AWS DMS deve aceitar.Isso permite que o AWS DMS pré-aloque memória ecarregue os dados do LOB em massa. Os LOBs queultrapassam o tamanho máximo são truncados, e éenviado um aviso para o arquivo de log. Em limited LOBmode, há ganhos significativos de desempenho emrelação a full LOB mode. Recomendamos que você uselimited LOB mode sempre que possível.

Note

Com o Oracle, os LOBs são tratados como tiposde dados VARCHAR sempre que possível.Essa abordagem significa que o AWS DMS oscoleta no banco de dados em massa, o queé consideravelmente mais rápido que outrosmétodos. O tamanho máximo de um VARCHARno Oracle é 64K, então um tamanho limitado deLOB de menos de 64K é ideal quando o Oracle éo banco de dados de origem.

Max LOB size (K) Quando uma tarefa é configurada para executar em limitedLOB mode, esta opção determina o tamanho máximo doLOB que o AWS DMS aceita. Os LOBs maiores que essevalor serão truncados nele.

LOB chunk size (K) Quando uma tarefa é configurada para usar full LOBmode, o AWS DMS recupera LOBs em partes. Essa opçãodetermina o tamanho de cada parte. Ao configurá-la,preste bastante atenção ao tamanho máximo de pacotepermitido pela sua configuração de rede. Se o tamanhodo bloco de LOB exceder o tamanho máximo de pacotepermitido, talvez você veja erros de desconexão.

Versão da API 2016-01-0121

Page 26: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migração

Para esta opção Faça o seguinte

Custom CDC start time Esse parâmetro pertence a tarefas configuradas parareplicar somente alterações de dados. Ele informa ao AWSDMS onde começar a procurar alterações no fluxo dealterações.

Enable logging Sempre habilite o registro.

5. Defina parâmetros adicionais.

Para esta opção Faça o seguinte

Create control table(s) in targetschema

O AWS DMS exige algumas tabelas de controle no bancode dados de destino. Por padrão, essas tabelas sãocriadas no mesmo banco de dados que os seus dados.Esse parâmetro permite que você diga ao AWS DMS paracolocar esses artefatos em outro lugar.

Maximum number of tables to load inparallel

O AWS DMS realiza um carregamento de tabela portabela dos seus dados. Esse parâmetro permite quevocê controle quantas tabelas o AWS DMS carregará emparalelo. O padrão é 8, ideal na maioria das situações.

6. Especifique configurações de mapeamento de tabela.

Os mapeamentos de tabela informam ao AWS DMS as tabelas para onde uma tarefa deve migrar daorigem para o destino. Os mapeamentos de tabela são expressados em JSON, apesar de algumasconfigurações poderem ser feitas usando o Console de Gerenciamento da AWS. Os mapeamentosde tabela também podem incluir transformações, como alterações de nomes de tabela de maiúsculaspara minúsculas.

O AWS DMS gera mapeamentos de tabela padrão para cada esquema (fora do sistema) no bancode dados de origem. Na maioria dos casos, você personalizará o mapeamento de tabela. Parapersonalizar o mapeamento de tabela, selecione o botão de seleção personalizado. Para obterdetalhes sobre a criação de mapeamentos de tabela, consulte a documentação do AWS DMS. Omapeamento de tabela a seguir realiza estas ações:

• Inclui o schema DMS_SAMPLE na migração.• Exclui as tabelas NFL_DATA, MLB_DATA, NAME_DATE, e STADIUM_DATA.• Converte os nomes de schema, tabela e coluna para minúsculas.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "selection",

Versão da API 2016-01-0122

Page 27: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar uma tarefa de migração

"rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "MLB_DATA" }, "rule-action": "exclude" },{ "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "NAME_DATA" }, "rule-action": "exclude" }, { "rule-type": "selection", "rule-id": "4", "rule-name": "4", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "NFL_DATA" }, "rule-action": "exclude" },

{ "rule-type": "selection", "rule-id": "5", "rule-name": "5", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "NFL_STADIUM_DATA" }, "rule-action": "exclude" },{ "rule-type": "transformation", "rule-id": "6", "rule-name": "6", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } }, { "rule-type": "transformation", "rule-id": "7", "rule-name": "7", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" } }, { "rule-type": "transformation", "rule-id": "8", "rule-name": "8", "rule-action": "convert-lowercase", "rule-target": "column",

Versão da API 2016-01-0123

Page 28: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: monitorar a tarefa de migração

"object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" } } ]}

Etapa 7: monitorar a tarefa de migraçãoTrês seções no console fornecem visibilidade sobre o que a tarefa de migração está fazendo:

• Monitoramento de tarefa – a guia Task Monitoring fornece informações sobre a taxa de transferência docarregamento completo e as latências de captura e aplicação de alterações.

• Estatísticas de tabela – a guia Table Statistics fornece informações detalhadas sobre o número de linhasprocessadas, o tipo e o número de transações processadas, além de informações sobre operaçõesDDL.

• Logs – na guia Logs, é possível visualizar o arquivo de log da tarefa (supondo que você tenha ativado oregistro). Se, por algum motivo, a tarefa falhar, busque erros no arquivo. Além disso, você pode olhar oarquivo para ver avisos. Qualquer truncamento de dados na tarefa é exibido como aviso no arquivo delog. Se necessário, você pode aumentar o nível de registro usando a Interface da Linha de Comando(ILC) da AWS.

Solução de problemasAs duas áreas em que mais se costumam encontrar problemas ao trabalhar com o Oracle como origem e oAurora MySQL como destino são: registro suplementar e diferenciação entre maiúsculas e minúsculas.

• Registro suplementar – com o Oracle, o registro suplementar deve estar habilitado para que a replicaçãoaltere dados de alteração. Entretanto, se você habilitar o registro suplementar no nível do banco dedados, ele ainda precisará habilitá-lo para criar tabelas novas às vezes. A melhor solução para isso, épermitir que o DMS habilite o registro suplementar para você usando o atributo de conexão extra:

addSupplementalLogging=Y

• Diferenciação entre maiúsculas e minúsculas: o Oracle não diferencia maiúsculas e minúsculas (amenos que você use aspas nos nomes de objeto). Contudo, o texto aparece em letras maiúsculas.Assim, o AWS DMS nomeia os seus objetos de destino em maiúsculas como padrão. Na maioria doscasos, você usará transformações para alterar nomes de schema, tabela e coluna para minúsculas.

Para ver mais dicas, consulte a seção de solução de problemas do AWS DMS no Guia do usuário do AWSDMS.

Para resolver problemas específicos ao Oracle, consulte a seção de solução de problemas do Oracle:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle

Para resolver problemas do Aurora MySQL, consulte a seção de solução de problemas do MySQL:

Versão da API 2016-01-0124

Page 29: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Trabalho com o banco de dados de amostra para migração

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.MySQL

Trabalho com o banco de dados de amostra paramigração

Recomendamos trabalhar através da descrição e do guia anteriores usando o banco de dados de amostrado Oracle fornecido pela Amazon. Ele imita um sistema simples de emissão de bilhetes de eventosesportivos. Os scripts que gerarão o banco de dados de amostra podem ser encontrados em https://github.com/awslabs/aws-database-migration-samples.

Para criar o banco de dados de amostra, acesse a pasta oracle/sampledb/v1 e siga as instruções noarquivo README.md.

A amostra cria de 8 a 10 GB de dados aproximadamente. O banco de dados de amostra também inclui umpacote ticketManagment, que você pode usar para gerar algumas transações. Para gerar transações, façalogon no SQL*Plus ou no SQL Developer e execute o seguinte como dms_sample:

SQL>exec ticketManagement.generateTicketActivity(0.01,1000);

O primeiro parâmetro é o atraso de transação em segundos; o segundo é o número de transações a seremgeradas. O procedimento anterior simplesmente "vende ingressos" às pessoas. Você verá atualizaçõesnas tabelas: sporting_event_ticket e ticket_purchase_history.

Após "vender" alguns ingressos, você poderá transferi-los usando o seguinte comando:

SQL>exec ticketManagement.generateTransferActivity(1,100);

O primeiro parâmetro é o atraso de transação em segundos; o segundo é o número de transações a seremgeradas. Esse procedimento também atualiza sporting_event_ticket e ticket_purchase_history.

Versão da API 2016-01-0125

Page 30: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Migração de um banco de dadosOracle do Amazon RDS para oAmazon Aurora MySQL

Esta demonstração contém os conceitos básicos da migração de banco de dados heterogênea de umOracle do Amazon RDS para o Amazon Aurora com compatibilidade do MySQL usando o AWS DatabaseMigration Service e a AWS Schema Conversion Tool. Este é um exercício introdutório, então ele nãoaborda todos os cenários, mas fornece uma boa compreensão das etapas envolvidas na realização dessamigração.

É importante compreender que AWS DMS e AWS SCT são duas ferramentas diferentes e atendem anecessidades diferentes. Elas não interagem no processo de migração. De maneira detalhada, as etapasenvolvidas nesta migração são:

1. Usar a AWS SCT para:• Execute o relatório de conversão do Oracle para o Aurora MySQL identificar os problemas, as

limitações e as medidas necessárias para a conversão do esquema.• Gerar os scripts de schema e aplicá-los no destino antes de realizar o carregamento de dados

através do AWS DMS. A AWS SCT realizará a conversão de código necessária para objetos comoprocedimentos e exibições.

2. Identificar e implementar soluções para os problemas relatados pela AWS SCT. Por exemplo, um tipode objeto como o Sequence do Oracle, que não é compatível com o Amazon Aurora MySQL, pode serprocessado usando a opção auto_increment para preencher chaves substitutas ou desenvolver lógicapara sequências na camada do aplicativo.

3. Desabilitar chaves externas ou outras restrições que possam afetar o carregamento de dados do AWSDMS.

4. O AWS DMS carrega os dados da origem para o destino usando a abordagem de carregamentocompleto. Embora o AWS DMS seja capaz de criar objetos no destino como parte do carregamento, elesegue uma abordagem minimalista ao migrar os dados para não copiar toda a estrutura do schema daorigem para o destino.

5. Executar atividades de pós-migração, como criação de índices adicionais, habilitação de chavesexternas e realização de alterações necessárias na aplicação para apontar para o novo banco dedados.

Esta demonstração usa um modelo personalizado do AWS CloudFormation para criar instâncias de bancode dados Oracle do Amazon RDS e do Amazon Aurora MySQL. Em seguida, ela usará um script decomando SQL para instalar uma amostra de esquema e dados na instância de banco de dados Oracle doAmazon RDS que você migrará para o Amazon Aurora MySQL.

Esta demonstração leva cerca de duas horas para ser concluída. O custo estimado da conclusão usandorecursos da AWS é de cerca de 5 USD. Siga as instruções para excluir recursos no final e evitar cobrançasadicionais.

Tópicos• Custos (p. 27)

Versão da API 2016-01-0126

Page 31: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Custos

• Pré-requisitos (p. 28)• Arquitetura de migração (p. 29)• Passo a passo da migração (p. 30)• Próximas etapas (p. 61)

CustosPara esta demonstração, provisione recursos do Amazon Relational Database Service (AmazonRDS) usando o AWS CloudFormation e recursos do AWS Database Migration Service (AWS DMS). Oprovisionamento desses recursos incorrerá em cobranças por hora à sua conta da AWS. A AWS SchemaConversion Tool não incorre em custo. Ela é fornecida como parte do AWS DMS.

Embora você precise apenas de um mínimo de recursos para esta demonstração, alguns deles não sãoqualificados para o Nível gratuito da AWS. Ao fim desta demonstração, há uma seção para excluir osrecursos e evitar cobranças adicionais. Exclua os recursos assim que concluir a demonstração.

Para estimar quanto custará realizar esta demonstração na AWS, use a Calculadora Mensal da AWS.Contudo, o serviço do AWS DMS ainda não é incorporado à calculadora. A tabela a seguir exibe os preçosdo AWS DMS e do Amazon RDS Oracle Standard Edition Two.

Serviço da AWS Tipo de instância Armazenamento eE/S

Instância de banco de dados Oracle do Amazon RDS, licençainclusa (Standard Edition Two), Single-AZ

db.m3.medium Single-AZ,armazenamentode 10 GB, GP2

Instância de banco de dados do Amazon Aurora MySQL db.r3.large Single-AZ,armazenamentode 10 GB, E/S de1 milhão

Instância de replicação do AWS DMS t2.small 50 GB dearmazenamentopara manter logsde replicaçãoincluídos

Transferência de dados de AWS DMS Free—atransferênciade dados entreo AWS DMSe os bancosde dados eminstâncias do RDSna mesma Zonade disponibilidadeé gratuita

Transferência de dados de saída Primeiro 1 GB pormês grátis

Supondo que você realize esta demonstração por duas horas, estimamos os seguintes preços dosrecursos da AWS:

Versão da API 2016-01-0127

Page 32: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

• A definição de preço estimada do Amazon Aurora MySQL + 10 GB de armazenamento usando o linkpara a Calculadora Mensal que pode ser acessada no site de definição de preço é de 1,78 USD.

• O custo do Amazon RDS Oracle SE2 (licença inclusa) + 10 GB GP2 de armazenamento, estimado peloaws.amazon.comaws.amazon.com a (0,226 USD) * 2 horas + (0,115 USD) * 10 GB é igual a 1,602 USD.

• O custo do serviço do AWS DMS para a instância t2.small com armazenamento de 50 GB GP2 estimadopelo site de definição de preço a (0,036 USD) * 2 horas é igual a 0,072 USD.

Custo total estimado para a execução do projeto = 1,78 USD + 1,602 USD + 0,072 USD = 3,454 USD—cerca de 5 USD.

Esse preço se baseia nas seguintes hipóteses:

• Supomos que a transferência de dados total para a Internet seja menor que um gigabyte. A definição depreço anterior supõe que as cobranças de transferência de dados e de backup associadas aos serviçosdo RDS e do DMS façam parte do Nível gratuito.

• O armazenamento consumido pelo banco de dados do Aurora MySQL é cobrado em incrementos deGB/mês, e as E/S consumidas são faturadas em incrementos de solicitação por milhão.

• A transferência de dados entre o DMS e os bancos de dados em instâncias do RDS na mesma Zona dedisponibilidade é gratuita.

Pré-requisitosOs seguintes pré-requisitos também são necessários para concluir a demonstração:

• Familiaridade com o Amazon RDS, as tecnologias de banco de dados aplicáveis e SQL.• Os scripts personalizados que incluem a criação de tabelas para serem migradas e de queries SQL para

confirmar a migração, conforme listado a seguir:• Oracle-HR-Schema-Build.sql—Declarações SQL para criar o esquema SH.• Oracle_Aurora_For_DMSDemo.template—um modelo do AWS CloudFormation.

Estes scripts estão disponíveis no link a seguir: dms-sbs-RDSOracle2Aurora.zip

Cada etapa aqui também contém um link para baixar o arquivo envolvido ou inclui a consulta exata naetapa.

• Uma conta da AWS com credenciais do AWS Identity and Access Management (IAM) que permitem quevocê execute o Amazon Relational Database Service (Amazon RDS) e as instâncias do AWS DatabaseMigration Service (AWS DMS) na sua região da AWS. Para obter informações sobre credenciais IAM,consulte Criar um usuário do IAM.

• Conhecimento básico sobre o serviço Amazon Virtual Private Cloud (Amazon VPC) e security groups.Para obter informações sobre o uso do Amazon VPC com o Amazon RDS, consulte Virtual PrivateClouds (VPCs) and Amazon RDS. Para obter informações sobre security groups do Amazon RDS,consulte Amazon RDS Security Groups.

• Compreensão dos recursos compatíveis e das limitações do AWS DMS. Para obter informações sobre oAWS DMS, consulte O que é o AWS Database Migration Service? .

• Conhecimento das opções de conversão dos tipos de dados compatíveis para Oracle e Amazon AuroraMySQL. Para obter informações sobre os tipos de dados para o Oracle como origem, consulte Usode um banco de dados Oracle como origem para o AWS Database Migration Service. Para obterinformações sobre os tipos de dados para o Amazon Aurora MySQL como destino, consulte Uso de umbanco de dados compatível com MySQL como destino para o AWS Database Migration Service.

Para obter mais informações sobre o AWS DMS, consulte a documentação do AWS DMS.

Versão da API 2016-01-0128

Page 33: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Arquitetura de migração

Arquitetura de migraçãoEsta demonstração usa o AWS CloudFormation para criar uma topologia de rede simples para a migraçãodo banco de dados que inclui o banco de dados de origem, a instância de replicação e o banco de dadosde destino no mesmo VPC. Para obter mais informações sobre o AWS CloudFormation, consulte adocumentação do CloudFormation.

Provisionaremos os recursos da AWS necessários para esta demonstração do AWS Database MigrationService (AWS DMS) por meio do AWS CloudFormation. Dentre eles, há uma VPC e instâncias do AmazonRelational Database Service (Amazon RDS) para Oracle e Amazon Aurora MySQL. Provisionamos atravésdo AWS CloudFormation porque ele simplifica o processo. Assim, podemos nos concentrar em tarefasrelacionadas à migração de dados. Quando você cria um stack de um modelo do AWS CloudFormation,ele fornece os seguintes recursos:

• Um VPC com CIDR (10.0.0.0/24) com duas sub-redes públicas na sua região, DBSubnet1 no endereço10.0.0.0/26 na Zona de disponibilidade 1 (AZ1) e DBSubnet2 no endereço 10.0.0.64/26 na Zona dedisponibilidade 2.

• Um grupo de sub-rede de banco de dados que inclui DBSubnet1 e DBSubnet2.• Oracle RDS Standard Edition Two com estas opções de implantação:

• Licença inclusa• Configuração Single-AZ• db.m3.medium ou classe de instância equivalente• Porta 1521• Grupos de parâmetros e de opções padrão

• Instância de banco de dados do Amazon Aurora MySQL com essas opções de implantação:• Sem réplica• db.r3.large ou classe de instância equivalente• Porta 3306• Grupos de parâmetros e de opções padrão

• Um security group com acesso de entrada do seu computador ou 0.0.0.0/0 (acesso de qualquer lugar)baseado no parâmetro de entrada

Projetamos o modelo do CloudFormation para exigir poucas entradas do usuário. Ele provisiona osrecursos necessários da AWS com o mínimo de configurações recomendadas. Contudo, se você desejaalterar algumas das configurações e parâmetros, como o bloco CIDR do VPC e os tipos de instâncias doRDS VPC, sinta-se à vontade para atualizar o modelo.

Usaremos o Console de Gerenciamento da AWS para provisionar os recursos do AWS DMS, como ainstância de replicação, os endpoints e as tarefas. Ferramentas de clientes como SQL Workbench/J eFerramenta de conversão de esquema da AWS (AWS SCT) serão instaladas no seu computador localpara se conectar a instâncias do Amazon RDS.

Veja a seguir uma ilustração da arquitetura de migração desta demonstração.

Versão da API 2016-01-0129

Page 34: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Passo a passo da migração

Passo a passo da migraçãoNas seções a seguir, você encontrará instruções passo a passo para migrar um banco de dados Oracledo Amazon Relational Database Service (Amazon RDS) para o Amazon Aurora MySQL. Estas etapassupõem que você já preparou o seu banco de dados de origem conforme descrito nas seções anteriores.

Tópicos• Etapa 1: executar as instâncias do RDS em um VPC usando o modelo do CloudFormation. (p. 31)• Etapa 2: instalar as ferramentas SQL e a Ferramenta de conversão de esquema da AWS no seu

computador local (p. 35)• Etapa 3: testar a conectividade à instância de banco de dados da Oracle e criar uma amostra de

schema. (p. 38)• Etapa 4: testar a conectividade à instância de banco de dados do Aurora MySQL (p. 41)• Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT) para converter o esquema do Oracle para

o Aurora MySQL (p. 43)• Etapa 6: validar a conversão de schema (p. 50)• Etapa 7: criar uma instância de replicação do AWS DMS (p. 52)• Etapa 8: criar endpoints de origem e de destino do AWS DMS (p. 53)• Etapa 9: criar e executar uma tarefa de migração do AWS DMS (p. 55)• Etapa 10: verificar se a migração de dados foi concluída com êxito (p. 58)• Etapa 11: excluir recursos de demonstração (p. 60)

Versão da API 2016-01-0130

Page 35: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

Etapa 1: executar as instâncias do RDS em um VPCusando o modelo do CloudFormation.Antes de começar, você precisará fazer download de um modelo do AWS CloudFormation. Siga estasinstruções:

1. Faça download do seguinte arquivamento em seu computador: http://docs.aws.amazon.com/dms/latest/sbs/samples/dms-sbs-RDSOracle2Aurora.zip

2. Extraia o modelo do CloudFormation (Oracle_Aurora_For_DMSDemo.template) do arquivamento.3. Copie e cole o arquivo Oracle_Aurora_For_DMSDemo.template para o diretório atual.

Agora é necessário provisionar os recursos necessários da AWS para esta demonstração.

Como usar o AWS CloudFormation para criar recursos do Amazon RDS para esta demonstração

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttps://console.aws.amazon.com/cloudformation.

2. Selecione Create stack.3. Na página Select Template (Selecionar modelo), selecione Upload a template to Amazon S3 (Fazer

upload de um modelo para o Amazon S3).4. Clique em Choose File (Escolher arquivo) e, em seguida, escolha o

Oracle_Aurora_For_DMSDemo.template arquivo que você extraiu do dms-sbs-RDSOracle2Aurora.zip arquivamento.

5. Escolha Next. Na página Specify Details, forneça os valores de parâmetro conforme mostrado aseguir.

Para este parâmetro Faça o seguinte

Stack Name Digite DMSdemo.

OracleDBName Forneça um nome exclusivo para o seu banco de dados. Onome deve começar com uma letra. O padrão é ORCL.

OracleDBUsername Especifique o usuário administrador (DBA) para gerenciara instância do Oracle. O padrão é oraadmin.

OracleDBPassword Forneça a senha do usuário administrador. O padrão éoraadmin123.

AuroraDBUsername Especifique o usuário administrador (DBA) para gerenciara instância do Aurora MySQL. O padrão é auradmin.

AuroraDBPassword Forneça a senha do usuário administrador. O padrão éauradmin123.

ClientIP Especifique o endereço IP em formato CIDR (x.x.x.x/32)do seu computador local. Você pode obter o endereçoIP em whatsmyip.org. O security group das instâncias doRDS permitirá a entrada nesse endereço IP. O padrãoé o acesso de qualquer lugar (0.0.0.0/0), o que não érecomendado. Você deve usar o endereço IP para estademonstração.

Versão da API 2016-01-0131

Page 36: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

6. Escolha Next. Na página Options, mostrada a seguir, selecione Next.

Versão da API 2016-01-0132

Page 37: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

7. Na página Review, revise se os detalhes estão corretos e selecione Create Stack. É possível obter ocusto estimado da execução desse modelo do CloudFormation selecionando Cost.

8. A AWS pode levar cerca de 20 minutos ou mais para criar uma pilha com instâncias Oracle doAmazon RDS e do Amazon Aurora MySQL.

Versão da API 2016-01-0133

Page 38: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

9. Após a criação do stack, selecione Stack, escolha o stack DMSdemo e selecione Outputs. Registreas strings de conexão JDBC, OracleJDBCConnectionString e AuroraJDBCConnectionString, parausar posteriormente na demonstração e conectar as instâncias de banco de dados Oracle e do AuroraMySQL.

Versão da API 2016-01-0134

Page 39: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

Note

A licença do Oracle 12c SE Two versão 12.1.0.2.v4 está disponível em todas as regiões. Noentanto, o Amazon Aurora MySQL não está disponível em todas as regiões. O Amazon AuroraMySQL está disponível nas regiões Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon),UE (Irlanda), Ásia-Pacífico (Tóquio), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Sydney) e Ásia-Pacífico (Seul). Se você tentar criar uma pilha em uma região onde o Aurora MySQL não estádisponível, ele falhará com o erro Invalid DB Engine for AuroraCluster.

Etapa 2: instalar as ferramentas SQL e a Ferramentade conversão de esquema da AWS no seucomputador localEm seguida, você deverá instalar um cliente SQL e a Ferramenta de conversão de esquema da AWS(AWS SCT) no seu computador local.

Esta demonstração supõe que você usará o cliente SQL Workbench/J para se conectar às instâncias doRDS e validar a migração. Veja alguns outros softwares que talvez você queira levar em consideração:

• JACK DB, uma interface online da web para trabalhar com bancos de dados do RDS (Oracle e AuroraMySQL) pelo JDBC

• DBVisualizer• Oracle SQL Developer

Versão da API 2016-01-0135

Page 40: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

Como instalar o software cliente SQL

1. Baixe o SQL Workbench/J no site do SQL Workbench/J e instale-o no seu computador local. Essecliente SQL é gratuito, open-source e independente do DBMS.

2. Faça download do driver JDBC referente à versão de seu banco de dados Oracle. Para maisinformações, acesse https://www.oracle.com/jdbc.

3. Faça download do driver JDBC do MySQL (arquivo .jar). Para obter mais informações, consultehttps://dev.mysql.com/downloads/connector/j/.

4. Usando o SQL Workbench/J, configure drivers JDBC para o Oracle e o Aurora MySQL para configurara conectividade, conforme descrito a seguir.

a. No SQL Workbench/J, selecione File e Manage Drivers.b. Na lista de drivers, selecione Oracle.c. Selecione o ícone Open (Abrir) e o arquivo .jar para o driver JDBC do Oracle obtido por

download em uma etapa anterior. Escolha OK.

d. Na lista de drivers, selecione MySQL.e. Selecione o ícone Open e o driver JDBC MySQL, que você baixou em uma etapa anterior.

Escolha OK.

Versão da API 2016-01-0136

Page 41: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

Em seguida, instale a Ferramenta de migração de esquema da AWS e os drivers JDBC necessários.

Como instalar a Ferramenta de migração de esquema da AWS e os drivers JDBC

1. Faça download da AWS Schema Conversion Tool em Instalação e atualização da AWS SchemaConversion Tool no Guia do usuário da AWS Schema Conversion Tool. Por padrão, a ferramenta éinstalada no diretório C:\Program Files\AWS Schema Conversion Tool\AWS.

2. Inicie a Ferramenta de conversão de esquema da AWS.3. Na Ferramenta de conversão de esquema da AWS, selecione Global Settings, em Settings.4. Em Global Settings, selecione Driver e, depois, Browse em Oracle Driver Path. Localize o driver JDBC

do Oracle e selecione OK. Em seguida, escolha Browse em MySql Driver Path. Localize o driver JDBCdo MySQL e selecione OK. Selecione OK para fechar a caixa de diálogo.

Versão da API 2016-01-0137

Page 42: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.Após a criação do stack do CloudFormation, teste a conexão à instância de banco de dados da Oracleusando o SQL Workbench/J e crie a amostra de schema HR.

Como testar a conexão à instância de banco de dados da Oracle usando o SQL Workbench/J ecriar a amostra de schema

1. No SQL Workbench/J, selecione File e Connect window. Crie um novo perfil de conexão usando asseguintes informações, conforme mostrado a seguir

Para este parâmetro Faça o seguinte

Nome de New profile Digite RDSOracleConnection.

Driver Escolha Oracle (oracle.jdbc.OracleDriver).

URL Use o valor OracleJDBCConnectionString, que vocêregistrou quando examinou os detalhes de saída do stackDMSdemo em uma etapa anterior.

Username Digite oraadmin.

Password Forneça a senha do usuário administrador que vocêatribuiu ao criar a instância de banco de dados Oracleusando o modelo do AWS CloudFormation.

2. Para testar a conexão, selecione Test. Selecione OK, para fechar a caixa de diálogo, e OK, para criaro perfil de conexão.

Versão da API 2016-01-0138

Page 43: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

Note

Se a sua conexão falhar, confirme se o endereço IP que você atribuiu ao criar o modelo doCloudFormation é o mesmo do qual está tentando se conectar. Esse é o problema maiscomum ao tentar se conectar a uma instância.

3. Crie o esquema HR que será usado na migração usando um script SQL personalizado (Oracle-HR-Schema-Build.sql). Para obter esse script, faça o seguinte:

1. Faça download do seguinte arquivamento em seu computador: http://docs.aws.amazon.com/dms/latest/sbs/samples/dms-sbs-RDSOracle2Aurora.zip

2. Extraia o script SQL (Oracle-HR-Schema-Build.sql) do arquivamento.3. Copie e cole o arquivo Oracle-HR-Schema-Build.sql para o diretório atual.

4. Abra o script SQL fornecido em um editor de texto. Copie o script inteiro.5. No SQL Workbench/J, cole o script SQL na janela Default.wksp que mostra Statement 1.6. Selecione SQL e Execute All.

Ao executar o script, você recebe uma mensagem de erro que indica que o usuário HR não existe.Você pode ignorar este erro e executar o script. O script abandona o usuário antes de criá-lo, o quegera o erro.

7. Verifique se os tipos e a contagem de objetos no schema HR foram criados com êxito executando aseguinte consulta SQL.

Select OBJECT_TYPE, COUNT(*) from dba_OBJECTS where owner='HR' GROUP BY OBJECT_TYPE;

Os resultados da consulta devem ser semelhantes aos seguintes:Versão da API 2016-01-01

39

Page 44: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

OBJECT_TYPE COUNT(*) INDEX 8PROCEDURE 2 SEQUENCE 3 TABLE 7 VIEW 1

8. Verifique o número de restrições no schema HR, executando a seguinte consulta SQL:

Select CONSTRAINT_TYPE,COUNT(*) from dba_constraints where owner='HR' AND (CONSTRAINT_TYPE IN ('P','R')OR SEARCH_CONDITION_VC NOT LIKE '%NOT NULL%') GROUP BY CONSTRAINT_TYPE;

Os resultados da consulta devem ser semelhantes aos seguintes:

CONSTRAINT_TYPE COUNT(*) R 10 P 7 C 1

9. Analise o esquema HR, executando o seguinte:

BEGIN dbms_stats.gather_schema_stats('HR');END;/

10. Verifique o número total de tabelas e o número de linhas de cada tabela executando a seguinteconsulta SQL:

SELECT table_name, num_rows from dba_tables where owner='HR' order by 1;

Os resultados da consulta devem ser semelhantes aos seguintes:

TABLE_NAME NUM_ROWS COUNTRIES 25 DEPARTMENTS 27 EMPLOYEES 107 JOBS 19 JOB_HISTORY 10 LOCATIONS 23 REGIONS 4

11. Verifique as relações das tabelas. Verifique os departamentos com mais de 10 funcionáriosexecutando a seguinte consulta SQL:

Select b.department_name,count(*) from HR.Employees a,HR.departments b where a.department_id=b.department_id

Versão da API 2016-01-0140

Page 45: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: testar a conectividade à instânciade banco de dados do Aurora MySQL

group by b.department_name having count(*) > 10order by 1;

Os resultados da consulta devem ser semelhantes aos seguintes:

DEPARTMENT_NAME COUNT(*)Sales 34Shipping 45

Etapa 4: testar a conectividade à instância de bancode dados do Aurora MySQLEm seguida, teste a conexão à sua instância de banco de dados do Aurora MySQL.

Como testar a conexão à instância do banco de dados do Aurora MySQL usando o SQLWorkbench/J

1. No SQL Workbench/J, selecione File e Connect window. Selecione o ícone Create a new connectionprofile usando as seguintes informações: conecte-se à instância de banco de dados do Aurora MySQLno SQL Workbench/J usando as informações, conforme mostrado a seguir

Para este parâmetro Faça o seguinte

Nome de New profile Digite RDSAuroraConnection.

Driver Escolha MySQL (com.mysql.jdbc.Driver).

URL Use o valor AuroraJDBCConnectionString, que vocêregistrou quando examinou os detalhes de saída do stackDMSdemo em uma etapa anterior.

Username Digite auradmin.

Password Forneça a senha do usuário administrador que vocêatribuiu ao criar a instância de banco de dados AuroraMySQL usando o modelo do AWS CloudFormation.

2. Para testar a conexão, selecione Test. Selecione OK, para fechar a caixa de diálogo, e OK, para criaro perfil de conexão.

Versão da API 2016-01-0141

Page 46: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: testar a conectividade à instânciade banco de dados do Aurora MySQL

Note

Se a sua conexão falhar, confirme se o endereço IP que você atribuiu ao criar o modelo doCloudFormation é o mesmo do qual está tentando se conectar. Esse é o problema maiscomum ao tentar se conectar a uma instância.

3. Faça login na instância do Aurora MySQL usando as credenciais de administrador mestre.4. Verifique a sua conectividade à instância do banco de dados do Aurora MySQL executando um

comando SQL de exemplo, como SHOW DATABASES;.

Versão da API 2016-01-0142

Page 47: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

Etapa 5: usar a AWS Schema Conversion Tool (AWSSCT) para converter o esquema do Oracle para oAurora MySQLAntes de migrar dados para o Aurora MySQL, converta o esquema do Oracle para um esquema do AuroraMySQL conforme descrito a seguir.

Para converter um esquema do Oracle em um esquema do Aurora MySQL usando a AWSSchema Conversion Tool (AWS SCT)

1. Inicie a Ferramenta de conversão de esquema da AWS (AWS SCT). Na AWS SCT, selecione File eNew Project. Crie um novo projeto chamado DMSDemoProject. Insira as seguintes informações najanela New Project e selecione OK.

Para este parâmetro Faça o seguinte

Project Name Digite DMSDemoProject.

Local Use a pasta padrão Projects e a opção padrãoTransactional Database (OLTP).

Source Database Engine Selecione Oracle.

Target Database Engine Escolha Amazon Aurora (compatível com MySQL).

2. Selecione Connect to Oracle. Na caixa de diálogo Connect to Oracle, insira as seguintes informaçõese selecione Test Connection.

Para este parâmetro Faça o seguinte

Type Selecione SID.

Versão da API 2016-01-0143

Page 48: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

Para este parâmetro Faça o seguinte

Server name Use o valor OracleJDBCConnectionString, quevocê usou para se conectar à instância de bancode dados Oracle, mas remova as informações doprefixo JDBC. Por exemplo, uma amostra de stringde conexão usada com SQL Workbench/J pode ser"jdbc:oracle:thin:@do1xa4grferti8y.cqiw4tcs0mg7.us-west-2.rds.amazonaws.com:1521:ORCL". Em Servername (Nome do servidor), na AWS SCT, remova"jdbc:oracle:thin:@//" e ":1521" para usar apenas onome de servidor: "do1xa4grferti8y.cqiw4tcs0mg7.us-west-2.rds.amazonaws.com"

Server port Digite 1521.

Oracle SID Digite ORCL.

User name Digite oraadmin.

Password Forneça a senha do usuário administrador que vocêatribuiu ao criar a instância de banco de dados Oracleusando o modelo do AWS CloudFormation.

3. Selecione OK para fechar a caixa de alerta e selecione OK para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados Oracle. A estrutura do banco de dados da instância de bancode dados do Oracle é exibida. Selecione somente o schema HR.

Versão da API 2016-01-0144

Page 49: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

4. Selecione Connect to Amazon Aurora. Na caixa de diálogo Connect to Oracle Amazon Aurora, insiraas seguintes informações e selecione Test Connection.

Para este parâmetro Faça o seguinte

Type Selecione SID.

Server name Use o valor AuroraJDBCConnectionString que vocêusou para se conectar à instância de banco de dados doAurora MySQL, mas remova as informações do prefixoJDBC e o sufixo da porta. Por exemplo, uma amostra destring de conexão usada com SQL Workbench/J pode ser"jdbc:mysql://dmsdemo-auroracluster-1u1ogdfg35v.cluster-cqiw4tcs0mg7.us-west-2.rds.amazonaws.com:3306". EmServer name (Nome do servidor), na AWS SCT, remova"jdbc:mysql://" e ":3306" para usar apenas o nome deservidor: "dmsdemo-auroracluster-1u1ogdfg35v.cluster-cqiw4tcs0mg7.us-west-2.rds.amazonaws.com"

Versão da API 2016-01-0145

Page 50: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

Para este parâmetro Faça o seguinte

Server port Digite 3306.

User name Digite auradmin.

Password Forneça a senha do usuário administrador que vocêatribuiu ao criar a instância de banco de dados Oracleusando o modelo do AWS CloudFormation.

A AWS SCT analisa o esquema HR e cria um relatório de avaliação de migração de banco de dadossobre a conversão para o Amazon Aurora MySQL.

5. Selecione OK para fechar a caixa de alerta e selecione OK para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados do Amazon Aurora MySQL.

6. Clique com o botão direito do mouse no schema HR e selecione Create Report.

Versão da API 2016-01-0146

Page 51: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

7. Verifique o relatório e os itens de ação sugeridos. O relatório discute os tipos de objetos que podemser convertidos usando a AWS SCT, além de possíveis problemas de migração e ações parasolucioná-los. Nesta demonstração, você verá algo parecido com o seguinte:

Versão da API 2016-01-0147

Page 52: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

Opcionalmente, você pode salvar o relatório no formato .pdf ou .csv para análise posterior.8. Escolha a guia Action Items (Itens de ação) e revise as recomendações que você vê.9. Clique com o botão direito do mouse no schema HR e selecione Convert schema.

10. Selecione Yes na mensagem de confirmação. Em seguida, a AWS SCT converterá o seu schemapara o formato do banco de dados de destino.

Versão da API 2016-01-0148

Page 53: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS Schema Conversion Tool (AWS SCT)para converter o esquema do Oracle para o Aurora MySQL

11. Escolha o esquema HR e selecione Apply to database para aplicar os scripts do esquema à instânciado Aurora MySQL de destino, conforme mostrado a seguir.

12. Escolha o schema HR e selecione Refresh from Database para atualizar a partir do banco de dadosde destino, conforme mostrado a seguir.

Versão da API 2016-01-0149

Page 54: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: validar a conversão de schema

Assim, o schema de banco de dados é convertido e importado da origem para o destino.

Etapa 6: validar a conversão de schemaPara validar a conversão de esquema, compare os objetos encontrados nos bancos de dados Oracle eAurora MySQL usando o SQL Workbench/J.

Como validar a conversão de schema usando o SQL Workbench/J

1. No SQL Workbench/J, selecione File e Connect window. Escolha o RDSAuroraConnection, que vocêcriou em uma etapa anterior. Clique em OK.

2. Execute o seguinte script para verificar o número de tipos e a contagem de objetos no esquema HR nobanco de dados Aurora MySQL de destino. Esses valores devem corresponder ao número de objetosno banco de dados de origem Oracle:

SELECT a.OBJECT_TYPE, COUNT(*)FROM(SELECT OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAMEFROM (SELECT 'TABLE' AS OBJECT_TYPE,TABLE_NAME AS OBJECT_NAME

Versão da API 2016-01-0150

Page 55: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: validar a conversão de schema

,TABLE_SCHEMA AS OBJECT_SCHEMAFROM information_schema.TABLESwhere TABLE_TYPE='BASE TABLE'UNIONSELECT 'VIEW' AS OBJECT_TYPE,TABLE_NAME AS OBJECT_NAME,TABLE_SCHEMA AS OBJECT_SCHEMAFROM information_schema.VIEWSUNION

SELECT 'INDEX' AS OBJECT_TYPE,CONCAT (CONSTRAINT_TYPE,' : ',CONSTRAINT_NAME,' : ',TABLE_NAME) AS OBJECT_NAME,TABLE_SCHEMA AS OBJECT_SCHEMAFROM information_schema.TABLE_CONSTRAINTSwhere constraint_type='PRIMARY KEY'UNIONSELECT ROUTINE_TYPE AS OBJECT_TYPE,ROUTINE_NAME AS OBJECT_NAME,ROUTINE_SCHEMA AS OBJECT_SCHEMAFROM information_schema.ROUTINESUNIONSELECT 'TRIGGER' AS OBJECT_TYPE,CONCAT (TRIGGER_NAME,' : ',EVENT_OBJECT_SCHEMA,' : ',EVENT_OBJECT_TABLE) AS OBJECT_NAME,TRIGGER_SCHEMA AS OBJECT_SCHEMAFROM information_schema.triggers) RWHERE R.OBJECT_SCHEMA ='HR'order by 1) a GROUP BY a.OBJECT_TYPE;

A saída dessa consulta deve ser semelhante ao seguinte:

OBJECT_TYPE COUNT(*) INDEX 7 PROCEDURE 2 TABLE 7 TRIGGER 10 VIEW 1

Em seguida, execute as seguintes consultas para obter informações de restrições de tabela:

SELECT CONSTRAINT_TYPE,COUNT(*) FROM information_schema.TABLE_CONSTRAINTS where constraint_schema='HR' GROUP BY CONSTRAINT_TYPE;

Versão da API 2016-01-0151

Page 56: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar uma instância de replicação do AWS DMS

A saída dessa consulta deve ser semelhante ao seguinte:

CONSTRAINT_TYPE COUNT(*) FOREIGN KEY 10PRIMARY KEY 7UNIQUE 7

Etapa 7: criar uma instância de replicação do AWSDMSApós validarmos a estrutura de schema entre os bancos de dados de origem e de destino, como descritoanteriormente, prosseguimos para a principal parte desta demonstração: a migração de dados. A ilustraçãoa seguir mostra uma exibição detalhada do processo de migração.

Uma instância de replicação do DMS realiza a migração de dados em si entre a origem e o destino. Ainstância de replicação também armazena os logs de transação em cache durante a migração. A CPU ea capacidade de memória de uma instância de replicação influenciam o tempo geral necessário para amigração.

Como criar uma instância de replicação do AWS DMS

1. Faça login no Console de Gerenciamento da AWS, escolha o AWS DMS em https://console.aws.amazon.com/dms/ e selecione Create Migration (Criar migração). Se você estiverconectado como usuário do AWS Identity and Access Management (IAM), deverá ter as permissõesapropriadas para acessar o AWS DMS. Para obter mais informações sobre as permissõesnecessárias, consulte IAM Permissions Needed to Use AWS DMS.

2. Selecione Next para iniciar uma migração de banco de dados na página de boas-vindas do console.3. Na página Create replication instance, especifique as informações da instância de replicação,

conforme mostrado a seguir.

Para este parâmetro Faça o seguinte

Name Digite DMSdemo-repserver.

Descrição Digite uma descrição breve, por exemplo, DMS demoreplication server.

Instance class Selecione dms.t2.medium. Esta classe de instância égrande o suficiente para migrar um pequeno conjunto detabelas.

Versão da API 2016-01-0152

Page 57: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: criar endpoints deorigem e de destino do AWS DMS

Para este parâmetro Faça o seguinte

VPC Selecione DMSDemoVPC, que é a VPC criada pelo stack doCloudFormation.

Multi-AZ Escolha No.

Publicly accessible Deixe este item selecionado.

4. Na seção Advanced, deixe as configurações padrão como estão e selecione Next.

Etapa 8: criar endpoints de origem e de destino doAWS DMSEnquanto a instância de replicação está sendo criada, é possível especificar os endpoints de origem e dedestino do banco de dados usando o Console de Gerenciamento da AWS. Contudo, você só pode testar aconectividade depois de a instância de replicação ser criada, porque ela é usada na conexão.

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

1. Especifique as suas informações de conexão para o banco de dados de origem Oracle e o banco dedados de destino do Amazon Aurora MySQL. A tabela a seguir descreve as configurações de origem.

Para este parâmetro Faça o seguinte

Endpoint Identifier Digite Orasource (o endpoint Oracle do Amazon RDS).

Source Engine Selecione oracle.

Server name Forneça o nome da instância do banco de dadosOracle. Este é o Server name que você usou para aAWS SCT, como "do1xa4grferti8y.cqiw4tcs0mg7.us-west-2.rds.amazonaws.com".

Port Digite 1521.

SSL mode Selecione None.

Username Digite oraadmin.

Password Forneça a senha da instância de banco de dados Oracle.

SID Forneça o nome do banco de dados Oracle.

A tabela a seguir descreve as configurações de destino.

Para este parâmetro Faça o seguinte

Endpoint Identifier Tipo Aurtarget (o endpoint Amazon Aurora MySQL).

Target Engine Selecione aurora.

Servername Informe o nome da instância do banco de dadosdo Aurora MySQL. Este é o Server name que

Versão da API 2016-01-0153

Page 58: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: criar endpoints deorigem e de destino do AWS DMS

Para este parâmetro Faça o seguintevocê usou para a AWS SCT, como "dmsdemo-auroracluster-1u1oyqny35jwv.cluster-cqiw4tcs0mg7.us-west-2.rds.amazonaws.com".

Port Digite 3306.

SSL mode Selecione None.

Username Digite auradmin.

Password Informe a senha da instância de banco de dados AuroraMySQL.

A página completa se parecerá com o seguinte:

2. Para desabilitar verificações de chave externa durante o carregamento inicial de dados, é necessárioadicionar os seguintes comandos à instância de banco de dados de destino do Aurora MySQL. Na

Versão da API 2016-01-0154

Page 59: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

seção Advanced (Avançada), mostrada a seguir, digite os seguintes comandos em Extra connectionattributes (Atributos de conexão extra): initstmt=SET FOREIGN_KEY_CHECKS=0;autocommit=1

O primeiro comando desabilita verificações de chave externa durante um carregamento e o segundoconfirma as transações que o DMS executa.

3. Escolha Next.

Etapa 9: criar e executar uma tarefa de migração doAWS DMSUsando uma tarefa do AWS DMS, é possível especificar o esquema a ser migrado e o tipo de migração.É possível migrar dados existentes, migrar dados existentes e replicar alterações contínuas ou replicarsomente alterações de dados. Esta demonstração migra apenas dados existentes.

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 este parâmetro Faça o seguinte

Task name Digite migratehrschema.

Versão da API 2016-01-0155

Page 60: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

Para este parâmetro Faça o seguinte

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

Source endpoint Mostra orasource (o endpoint Oracle do Amazon RDS).

Target endpoint Mostra aurtarget (o endpoint Amazon Aurora MySQL).

Replication instance Mostra DMSdemo-repserver (instância de replicação doAWS DMS criada em uma etapa anterior).

Migration type Selecione a opção Migrate existing data.

Start task on create Selecione esta opção.

A página se parecerá com o seguinte:

2. Em Task Settings, selecione Do nothing em Target table preparation mode, pois você já criou astabelas através da Ferramenta de migração de esquema. Como essa migração não contém nenhumLOB, você pode deixar as configurações padrão de LOB.

Versão da API 2016-01-0156

Page 61: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

Se quiser, selecione Enable logging. Se habilitar o registro, você incorrerá em cobranças adicionaisdo Amazon CloudWatch pela criação de logs do CloudWatch. Para esta demonstração, não sãonecessários logs.

3. Deixe as outras configurações avançadas nos valores padrão.4. Em Table mappings, selecione Default em Mapping method e HR em Schema to migrate.

A seção concluída se parecerá com o seguinte.

Versão da API 2016-01-0157

Page 62: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 10: verificar se a migraçãode dados foi concluída com êxito

5. Escolha Create task. A tarefa começará imediatamente.

A seção Tasks mostra o status da tarefa de migração.

É possível monitorar a sua tarefa selecionando Enable logging ao configurá-la. Então, será possívelvisualizar as métricas do CloudWatch fazendo o seguinte:

Como monitorar uma tarefa de migração de dados em andamento

1. No painel de navegação, selecione Tasks.2. Selecione a tarefa de migração (migratehrschema).3. Selecione a guia Task monitoring e monitore a tarefa em andamento nela.

Etapa 10: verificar se a migração de dados foiconcluída com êxitoQuando a tarefa de migração é concluída, é possível comparar os resultados da tarefa com os resultadosesperados.

Como comparar os resultados da tarefa de migração com os resultados esperados

1. No painel de navegação, selecione Tasks.2. Selecione a tarefa de migração (migratehrschema).3. Selecione a guia Table statistics, conforme mostrado a seguir.

Versão da API 2016-01-0158

Page 63: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 10: verificar se a migraçãode dados foi concluída com êxito

4. Conecte-se à instância do Amazon Aurora MySQL usando o SQL Workbench/J e verifique se astabelas de banco de dados foram migradas com êxito do Oracle para o Aurora MySQL, executando oscript SQL mostrado a seguir.

SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'HR' and TABLE_TYPE='BASE TABLE' order by 1;

Versão da API 2016-01-0159

Page 64: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 11: excluir recursos de demonstração

5. Execute a seguinte consulta para verificar a relação em tabelas. Ela verifica os departamentos commais de 10 funcionários.

SELECT B.DEPARTMENT_NAME,COUNT(*) FROM HR.EMPLOYEES A,HR.DEPARTMENTS B WHERE A.DEPARTMENT_ID=B.DEPARTMENT_ID GROUP BY B.DEPARTMENT_NAME HAVING COUNT(*) > 10 ORDER BY 1;

A saída dessa consulta deve ser semelhante ao seguinte.

department_name count(*)Sales 34Shipping 45

Agora, você concluiu com êxito uma migração de banco de dados de uma instância de banco de dadosOracle do Amazon RDS para o Amazon Aurora MySQL.

Etapa 11: excluir recursos de demonstraçãoApós concluir esta demonstração, siga as seguintes etapas para evitar mais cobranças por recursos daAWS usados nela. É necessário que você realize as etapas na ordem, porque alguns recursos não podemser excluídos quando dependem de outro recurso.

Como excluir os recursos do AWS DMS

1. No painel de navegação, selecione Tasks, escolha a tarefa de migração (migratehrschema) eDelete.

2. No painel de navegação, selecione Endpoints, escolha o endpoint de origem do Oracle (orasource)e Delete.

3. Selecione o endpoint de destino do Amazon Aurora MySQL (aurtarget) e Delete.

Versão da API 2016-01-0160

Page 65: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Próximas etapas

4. No painel de navegação, selecione Replication instances, escolha a instância de replicação(DMSdemo-repserver) e Delete.

Em seguida, exclua o stack do AWS CloudFormation, DMSdemo.

Como excluir o stack do AWS CloudFormation

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttps://console.aws.amazon.com/cloudformation.

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 CloudFormation.

2. Selecione o stack do CloudFormation, DMSdemo.3. Em Actions, selecione Delete stack.

O status do stack é alterado para DELETE_IN_PROGRESS, enquanto o AWS CloudFormation limpa osrecursos associados ao stack DMSdemo. Quando o AWS CloudFormation termina de limpar recursos, eleremove o stack da lista.

Próximas etapasÉ possível explorar vários outros recursos do AWS DMS que não foram incluídos nesta demonstração,como os seguintes:

• O recurso de captura de dados de alteração (CDC) do AWS DMS para replicação contínua de dados.• Ações de transformação que permitem especificar e aplicar transformações ao schema ou à tabela

selecionada como parte do processo de migração.

Para obter mais informações, consulte a documentação do AWS DMS.

Versão da API 2016-01-0161

Page 66: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

Migração de um banco de dadosSQL Server para o Amazon AuroraMySQL

Nesta demonstração, você aprende a migrar um banco de dados Microsoft SQL Server para um banco dedados Amazon Aurora com compatibilidade do MySQL usando o AWS Schema Conversion Tool (AWSSCT) e o AWS Database Migration Service (AWS DMS). O AWS DMS migra os seus dados da origem noSQL Server para o destino no Aurora MySQL.

O AWS DMS não migra os seus índices secundários, sequências, valores padrão, procedimentosarmazenados, triggers, sinônimos, exibições e outros objetos de esquema que não estão relacionadosespecificamente à migração de dados. Para migrar esses objetos ao seu destino do Aurora MySQL, use aAWS SCT.

Tópicos• Pré-requisitos (p. 62)• Passo a passo da migração (p. 63)• Solução de problemas (p. 84)

Pré-requisitosOs seguintes pré-requisitos são necessários para concluir esta apresentação:

• Compreender o Amazon Relational Database Service (Amazon RDS), as tecnologias de banco de dadosaplicáveis e o SQL.

• Criar uma conta da AWS com credenciais AWS Identity and Access Management (IAM) que permitemque você execute o Amazon RDS e as instâncias do AWS Database Migration Service (AWS DMS) naregião da AWS. Para obter informações sobre as credenciais do IAM, consulte Criar um usuário do IAM.

• Entender o serviço Amazon Virtual Private Cloud (Amazon VPC) e os grupos de segurança. Para obterinformações sobre o uso da Amazon VPC com o Amazon RDS, consulte Amazon Virtual Private Cloud(VPCs) e Amazon RDS. Para obter informações sobre grupos de segurança do Amazon RDS, consulteGrupos de segurança do Amazon RDS.

• Entender os recursos compatíveis e as limitações do AWS DMS. Para obter informações sobre o AWSDMS, consulte O que é o AWS Database Migration Service?.

• Entender como trabalhar com o Microsoft SQL Server como origem e com o Amazon Aurora MySQLcomo destino. Para obter informações sobre como trabalhar com o SQL Server como origem, consulte Uso de um banco de dados SQL Server como origem para o AWS Database Migration Service. O AuroraMySQL é um banco de dados compatível com MySQL. Para obter informações sobre como trabalharcom o Aurora MySQL, consulte Uso de um banco de dados compatível com MySQL como destino para oAWS Database Migration Service.

• Entender as opções de conversão dos tipos de dados compatíveis para SQL Server e Aurora MySQL.Para obter informações sobre tipos de dados para o SQL Server como origem, consulte Tipos de dadosde origem para o Microsoft SQL Server. Para obter informações sobre os tipos de dados do AuroraMySQL; como destino, consulte Tipos de dados de destino para MySQL.

Versão da API 2016-01-0162

Page 67: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Passo a passo da migração

• Defina o tamanho do host do banco de dados Aurora MySQL de destino. Os DBAs devem conhecero perfil de carregamento do host de banco de dados SQL Server de origem. Leve em conta CPU,memória e IOPS. Com o Amazon RDS, você pode dimensionar o host do banco de dados de destino,ou reduzi-lo, após a migração. Caso seja a primeira vez que você está migrando para o Aurora MySQL,recomendamos que tenha capacidade extra para lidar com problemas de desempenho e oportunidadesde ajuste.

• Audite o banco de dados SQL Server de origem. Para cada schema e todos os objetos em cadaschema, determine se os objetos não são mais usados. Desaprove esses objetos no banco de dadosSQL Server de origem, pois não há necessidade de migrá-los se não estão sendo usados.

• Escolha uma destas opções de migração: somente migrar dados existentes ou migrar dados existentese replicar alterações contínuas.• Se você migrar somente dados existentes, a migração será uma transferência de dados única de um

banco de dados SQL Server de origem para o banco de dados Aurora MySQL de destino. Se o bancode dados de origem permanecer aberto a alterações durante a migração, essas alterações deverãoser aplicadas ao banco de dados de destino após a conclusão da migração.

Note

Se o banco de dados SQL Server for Amazon RDS, a replicação não será possível, e vocêdeverá usar a opção de migrar somente dados existentes.

• Se você migrar dados existentes e replicar alterações contínuas, uma opção é replicar alteraçõesdo banco de dados de origem. A replicação mantém os bancos de dados de origem e de destinosincronizados entre si durante o processo de migração e pode reduzir o tempo de inatividade dobanco de dados. Com essa opção, você conclui uma operação de sincronização inicial e configuraMS-REPLICATION. Essa opção requer a edição Standard, Enterprise ou Developer do SQL Server.Você habilita MS-REPLICATION para cada instância do SQL Server que deseja usar como banco dedados de origem.

• Se você quiser migrar dados existentes e replicar as alterações contínuas, outra opção é a capturade dados de alterações (CDC) em vez da replicação. Essa opção permite que o AWS DMS façaa migração contínua de dados. No caso de CDC, o AWS DMS usa tabelas de CDC para ativar amigração contínua de bancos de dados. Essa opção requer a edição Enterprise ou Developer do SQLServer.

Para obter mais informações sobre o AWS DMS, consulte o Guia do usuário do AWS DMS.

Passo a passo da migraçãoAs etapas a seguir incluem instruções para migrar um banco de dados Microsoft SQL Server para umbanco de dados Amazon Aurora MySQL. Estas etapas supõem que você já tenha preparado seu banco dedados de origem, conforme descrito em Pré-requisitos (p. 62).

Tópicos• Etapa 1: instalar os drivers do SQL e a AWS Schema Conversion Tool no seu computador

local (p. 64)• Etapa 2: configurar o banco de dados Microsoft SQL Server de origem (p. 64)• Etapa 3: configurar o banco de dados do Aurora MySQL de destino (p. 66)• Etapa 4: usar a AWS SCT para converter o esquema SQL Server em Aurora MySQL (p. 67)• Etapa 5: criar uma instância de replicação do AWS DMS (p. 74)• Etapa 6: criar endpoints de origem e de destino do AWS DMS (p. 76)• Etapa 7: criar e executar uma tarefa de migração do AWS DMS (p. 80)• Etapa 8: transferir para o Aurora MySQL (p. 83)

Versão da API 2016-01-0163

Page 68: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: instalar os drivers do SQL e a AWSSchema Conversion Tool no seu computador local

Etapa 1: instalar os drivers do SQL e a AWS SchemaConversion Tool no seu computador localPrimeiro, instale os drivers do SQL e a AWS Schema Conversion Tool (AWS SCT) em seu computadorlocal.

Como instalar o software cliente SQL

1. Faça download do driver JDBC do Microsoft SQL Server.2. Faça o download do driver JDBC do Aurora MySQL. O Amazon Aurora MySQL usa o driver MySQL.3. Instale a AWS SCT e os drivers JDBC necessários.

a. Consulte Instalação e atualização da AWS Schema Conversion Tool no Guia do usuário da AWSSchema Conversion Tool e escolha o link apropriado para fazer download da AWS SCT.

b. Inicie a AWS SCT e selecione Settings, Global Settings.c. Em Global Settings, escolha Drivers, depois Browse para Microsoft Sql Server Driver Path.

Localize o driver JDBC do SQL Server e escolha OK.d. Escolha Browse em MySql Driver Path. Localize o driver JDBC que você baixou do Aurora

MySQL e selecione OK.

e. Escolha OK para fechar a caixa de diálogo Configurações globais.

Etapa 2: configurar o banco de dados Microsoft SQLServer de origemApós instalar os drivers do SQL e o AWS Schema Conversion Tool, você poderá configurar seu banco dedados Microsoft SQL Server de origem usando uma das várias opções, dependendo de como pretendemigrar seus dados.

Versão da API 2016-01-0164

Page 69: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: configurar o banco de dadosMicrosoft SQL Server de origem

Para configurar o banco de dados SQL Server de origem

• Ao configurar seu banco de dados de origem, você pode optar por migrar somente dados existentes,migrar dados existentes e replicar as alterações contínuas ou migrar dados existentes e usar a capturade dados de alterações (CDC) para replicar as alterações contínuas. Para obter mais informaçõessobre essas opções, consulte Pré-requisitos.

• Migrar somente dados existentes

Não há etapas de configuração necessárias para o banco de dados SQL Server. Você pode passarpara Etapa 3: configurar o banco de dados do Aurora MySQL de destino (p. 66).

Note

Se o banco de dados SQL Server for Amazon RDS, a replicação não será possível, e vocêdeverá usar a opção de migrar somente dados existentes.

• Migrar dados existentes e replicar alterações contínuas

Note

A replicação requer uma chave primária para todas as tabelas que estão sendo replicadas.Se suas tabelas não tiverem chaves primárias definidas, use CDC.

Para configurar MS-REPLICATION, siga estas etapas:

1. No Microsoft SQL Server Management Studio, abra o menu de contexto (clique com o botãodireito) na pasta Replication e, em seguida, escolha Configure Distribution.

2. Na etapa Distributor, escolha db_name will act as its own distributor. O SQL Server cria umbanco de dados e um log de distribuição.

Para obter mais informações, consulte a documentação da Microsoft.

Quando a configuração estiver concluída, o servidor estará habilitado para replicação. Nãoimporta se há um banco de dados de distribuição ou se você configurou seu servidor para usarum banco de dados de distribuição remota.

• Migrar dados existentes e usar captura de dados de alterações (CDC) para replicar alteraçõescontínuas

Para configurar MS-CDC, siga estas etapas:

1. Conecte-se ao SQL Server com um login que tenha a associação da função SYSADMIN.2. Para cada banco de dados que contém os dados que estão sendo migrados, execute o

seguinte comando no contexto do banco de dados:

use [DBname]EXEC sys.sp_cdc_enable_db

3. Para cada tabela que você deseja configurar para migração contínua, execute o seguintecomando:

EXEC sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @role_name = NULL;

Para obter mais informações, consulte a documentação da Microsoft.Versão da API 2016-01-0165

Page 70: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 3: configurar o banco de

dados do Aurora MySQL de destinoNote

• Se você estiver migrando bancos de dados que participam de um Grupo de disponibilidadeAlwaysOn, uma das melhores práticas é usar a replicação para migração. Para usar essaopção, a publicação deve ser habilitada, e um banco de dados de distribuição deve serconfigurado para cada nó do Grupo de disponibilidade AlwaysOn. Além disso, você deve estarusando o nome do listener do grupo de disponibilidade para o banco de dados em vez do nomedo servidor que está hospedando o banco de dados do grupo de disponibilidade para o nomedo servidor de destino. Esses requisitos se aplicam a cada instância do SQL Server no cluster enão devem ser configurado usando o listener do grupo de disponibilidade.

• Se seu banco de dados não for aceito em MS-REPLICATION ou MS-CDC (por exemplo,se você estiver executando a Workgroup Edition do SQL Server), algumas alterações aindapoderão ser capturadas, como instruções INSERT e DELETE, mas outras instruções DML, comoUPDATE e TRUNCATE TABLE não serão capturadas. Portanto, uma migração com replicaçãode dados contínua não é recomendada nessa configuração, e uma migração estática única (oumigrações completas únicas e repetidas) deve ser considerada.

Para obter mais informações sobre o uso de MS-REPLICATION e MS-CDC, consulte Configuração deum banco de dados Microsoft SQL Server como origem de replicação para o AWS Database MigrationService.

Etapa 3: configurar o banco de dados do AuroraMySQL de destinoO AWS DMS migra os dados da origem do SQL Server para o destino do Amazon Aurora MySQL. Nessaetapa, você configura o banco de dados Aurora MySQL de destino.

1. Crie o usuário do AWS DMS para se conectar ao seu banco de dados de destino e conceda oSuperusuário ou os privilégios individuais necessários (ou use o nome de usuário mestre paraAmazon RDS).

Como alternativa, você pode conceder os privilégios para um usuário existente.

CREATE USER 'aurora_dms_user' IDENTIFIED BY 'password';

GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON target_database.* TO 'aurora_dms_user';

2. O AWS DMS usa tabelas de controle no destino no banco de dados awsdms_control.Use o seguinte comando para que o usuário tenha o acesso necessário ao banco de dadosawsdms_control:

GRANT ALL PRIVILEGES ON awsdms_control.* TO 'aurora_dms_user';FLUSH PRIVILEGES;

Versão da API 2016-01-0166

Page 71: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

Etapa 4: usar a AWS SCT para converter o esquemaSQL Server em Aurora MySQLAntes de migrar dados para o Amazon Aurora MySQL, converta o esquema Microsoft SQL Server em umesquema Aurora MySQL usando a AWS Schema Conversion Tool (AWS SCT).

Para converter um esquema SQL Server em um esquema Aurora MySQL

1. Em AWS SCT, escolha File, New Project. Crie um novo projeto denominado AWS SchemaConversion Tool SQL Server to Aurora MySQL.

2. Insira as seguintes informações na caixa de diálogo New Project e selecione OK.

Parâmetro Descrição

Project Name Digite AWS Schema Conversion Tool SQL Serverto Aurora MySQL.

Local Use a pasta padrão Projects e a opção padrãoTransactional Database (OLTP).

Source Database Engine Escolha Microsoft SQL Server.

Target Database Engine Escolha Amazon Aurora (compatível com MySQL).

3. Escolha Connect para Microsoft SQL Server. Na caixa de diálogo Connect to Microsoft SQL Server,insira as seguintes informações e selecione Test Connection.

Versão da API 2016-01-0167

Page 72: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

Parâmetro Descrição

Server name Digite o nome do servidor.

Server port Digite o número da porta do SQL Server. O padrão é1433.

Nome da instância Digite o nome da instância do banco de dados SQLServer.

User name Digite o nome de usuário do administrador do SQL Server.

Password Forneça a senha do usuário administrador.

4. Selecione OK para fechar a caixa de alerta. Em seguida, escolha OK para fechar a caixa de diálogo einiciar a conexão com a instância de banco de dados SQL Server. A estrutura do banco de dados nainstância de banco de dados SQL Server é exibida.

5. Escolha Connect to Amazon Aurora (compatível com MySQL). Na caixa de diálogo Connectto Amazon Aurora (compatível com MySQL), insira as seguintes informações e selecione TestConnection.

Versão da API 2016-01-0168

Page 73: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

Parâmetro Descrição

Server name Digite o nome do servidor.

Server port Digite o número da porta do SQL Server. O padrão é3306.

User name Digite o nome de usuário administrador do Aurora MySQL.

Password Forneça a senha do usuário administrador.

6. Selecione OK para fechar a caixa de alerta. Em seguida, escolha OK para fechar a caixa de diálogo einiciar a conexão com a instância de banco de dados Aurora MySQL.

7. Abra o menu de contexto (clique com o botão direito do mouse) do schema para migrar, depoisselecione Convert schema.

Versão da API 2016-01-0169

Page 74: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

8. Selecione Yes na mensagem de confirmação. A AWS SCT converte seus esquemas no formato dobanco de dados de destino.

Versão da API 2016-01-0170

Page 75: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

A AWS SCT analisa o esquema e cria um relatório de avaliação de migração de banco de dadossobre a conversão para o Aurora MySQL.

9. Escolha Assessment Report View em View para verificar o relatório.

O relatório é dividido por tipo de objeto e por necessidade de alteração manual para ser convertidocorretamente.

Versão da API 2016-01-0171

Page 76: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

Em geral, pacotes, procedimentos e funções costumam ter alguns problemas para resolver, poiscontêm a maior parte dos códigos PL/SQL personalizados. A AWS SCT também dá dicas sobre comocorrigir esses objetos.

10. Selecione a guia Action Items.

A guia Itens de ação mostra os problemas de cada objeto que requer atenção.

Para cada problema de conversão, você pode concluir uma das seguintes ações:• Modifique os objetos no banco de dados SQL Server de origem para que a AWS SCT possa

converter os objetos para o banco de dados Aurora MySQL de destino.

1. Modifique os objetos no banco de dados SQL Server de origem.2. Repita as etapas anteriores para converter o schema e verificar o relatório de avaliação.3. Se necessário, repita esse processo até que não haja mais problemas de conversão.

Versão da API 2016-01-0172

Page 77: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS SCT para convertero esquema SQL Server em Aurora MySQL

4. Escolha Main View em View. Abra o menu de contexto (clique com o botão direito domouse) do esquema Aurora MySQL de destino e escolha Apply to database para aplicaras alterações do esquema ao banco de dados Aurora MySQL e confirme que você desejaaplicar as alterações do esquema.

• Em vez de modificar o esquema de origem, modifique scripts gerados pela AWS SCT antes deaplicar os scripts no banco de dados Aurora MySQL de destino.

1. Escolha Main View em View. Abra o menu de contexto (clique com o botão direito do mouse)referente ao nome do esquema Aurora MySQL de destino e escolha Save as SQL. Emseguida, escolha um nome e um destino para o script.

2. No script, modifique os objetos para corrigir problemas de conversão.

Você também pode excluir restrições de chave externa, triggers e índices secundáriosdo script, pois eles podem causar problemas durante a migração. Após a conclusão damigração, você pode criar esses objetos no banco de dados Aurora MySQL.

3. Execute o script no banco de dados Aurora MySQL de destino.

Para obter mais informações, consulte Conversão de esquema de banco de dados para o AmazonRDS usando a AWS Schema Conversion Tool no Guia de usuário da AWS Schema Conversion Tool.

11. (Opcional) Use a AWS SCT para criar regras de mapeamento.

Versão da API 2016-01-0173

Page 78: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar uma instância de replicação do AWS DMS

a. Em Settings, selecione Mapping Rules.b. Crie regras de mapeamento adicionais que sejam necessárias com base nos itens de ação.c. Salve as regras de mapeamento.d. Escolha Export script for DMS para exportar um formato JSON de todas as transformações que a

tarefa do AWS DMS usará. Escolha Salvar.

Etapa 5: criar uma instância de replicação do AWSDMSApós validar a estrutura de schema entre os bancos de dados de origem e de destino, continue coma principal parte desta apresentação: a migração de dados. A ilustração a seguir mostra uma exibiçãodetalhada do processo de migração.

Uma instância de replicação do AWS DMS realiza a migração de dados em si entre a origem e o destino.A instância de replicação também armazena os logs de transação em cache durante a migração. Aquantidade de CPU e a capacidade de memória de uma instância de replicação influenciam o tempo geralnecessário para a migração.

Para obter informações sobre as melhores práticas para usar o AWS DMS, consulte Melhores práticas doAWS Database Migration Service.

Como criar uma instância de replicação do AWS DMS

1. Faça login no Console de gerenciamento da AWS e abra o console da AWS DMS em https://console.aws.amazon.com/dms/.

2. No console, escolha Create migration. Se você está conectado como usuário do AWS Identity andAccess Management (IAM), deve ter as permissões apropriadas para acessar o AWS DMS. Paraobter mais informações sobre as permissões necessárias, consulte Permissões do IAM necessáriaspara usar o AWS DMS.

3. Na página de Boas-vindas, escolha Next para iniciar uma migração de banco de dados.4. Na página Create replication instance, especifique as informações da instância de replicação.

Parâmetro Descrição

Name Selecione um nome para a instância de replicação. Sevocê usar vários servidores de replicação ou compartilharuma conta, escolha um nome que o ajude a distinguirrapidamente os diferentes servidores.

Descrição Digite uma descrição breve.

Instance class Selecione o tipo de servidor de replicação para criar.Cada tamanho e tipo de classe de instância tem mais

Versão da API 2016-01-0174

Page 79: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar uma instância de replicação do AWS DMS

Parâmetro Descriçãocapacidade de CPU, memória e E/S. Geralmente, asinstâncias t2 são para tarefas de carga menores, e asinstâncias c4 são para carga mais alta e mais tarefas.

VPC Escolha a virtual private cloud (VPC) em que a suainstância de replicação será executada. Se possível,selecione o mesmo VPC em que reside o banco de dadosde origem ou de destino (ou ambos).

Multi-AZ Se você escolher Yes, o AWS DMS criará um segundoservidor de replicação em uma Zona de disponibilidadediferente para failover, caso haja um problema com oservidor de replicação primário.

Publicly accessible Se o banco de dados de origem ou de destino residir forado VPC em que reside o servidor de replicação, a políticadesse servidor de replicação deverá ter acesso público.

5. Na seção Advanced, especifique as seguintes informações.

Parâmetro Descrição

Allocated storage (GB) Quantidade de armazenamento no servidor de replicaçãopara os logs de tarefa do AWS DMS, incluindo logsde tarefas históricos. O AWS DMS também usaarmazenamento em disco para armazenar em cachedeterminados dados enquanto os replica do banco dedados de origem para o de destino. Além disso, maisarmazenamento geralmente permite melhor IOPS noservidor.

Replication Subnet Group Se você executar em uma configuração Multi-AZ, serãonecessários ao menos dois grupos de sub-rede.

Availability zone Em geral, a performance melhora quando o servidor dereplicação primário fica na mesma Zona de disponibilidadeque o banco de dados de destino.

VPC Security Group(s) Com grupos de segurança, você controla a entrada e asaída da VPC. Com o AWS DMS, você associa um oumais grupos de segurança à VPC em que o servidor dereplicação é executado.

KMS master key Com o AWS DMS, todos os dados são criptografados emrepouso usando uma chave de criptografia do KMS Porpadrão, o AWS DMS cria outra chave de criptografia parao servidor de replicação. No entanto, você pode optar porusar uma chave existente.

Para obter informações sobre a chave mestra do KMS, consulte Definir uma chave de criptografia eespecificar permissões do KMS.

6. Clique em Next.

Versão da API 2016-01-0175

Page 80: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Etapa 6: criar endpoints de origem e de destino doAWS DMSEnquanto a instância de replicação está sendo criada, é possível especificar os endpoints do banco dedados de origem e de destino usando o Console de gerenciamento da AWS. Contudo, você só pode testara conectividade depois de a instância de replicação ser criada, porque ela é usada na conexão.

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

1. No console do AWS DMS, especifique as suas informações de conexão para o banco de dadosSQL Server de origem e o banco de dados Aurora MySQL de destino. A tabela a seguir descreve asconfigurações de origem.

Parâmetro Descrição

Endpoint Identifier Digite um nome, por exemplo, SQLServerSource.

Source Engine Escolha sqlserver.

Server name Informe o nome do servidor da instância de banco dedados SQL Server.

Port Digite o número de porta do banco de dados. A padrão doSQL Server é 1433.

SSL mode Escolha um modo SSL se você deseja ativar a criptografiapara o tráfego de conexão.

User name Digite o nome do usuário para se conectar ao banco dedados de origem.

Password Informe a senha do usuário.

Database name Informe o nome do banco de dados SQL Server.

A tabela a seguir descreve as configurações de origem avançadas.

Parâmetro Descrição

Extra connection attributes Parâmetros adicionais que você pode definir em umendpoint para adicionar funcionalidade ou alterar ocomportamento do AWS DMS. Alguns dos atributos maisrelevantes estão listados aqui. Use ponto-e-vírgula (;) paraseparar várias entradas.

• safeguardpolicy – Altera o comportamentodo SQL Server abrindo transações para impedirque o log de transações seja truncado enquantoo AWS DMS lê o log. Os valores válidos sãoEXCLUSIVE_AUTOMATIC_TRUNCATION ouRELY_ON_SQL_SERVER_REPLICATION_AGENT(padrão).

• useBCPFullLoad – Direciona o AWS DMS a usar BCP(cópia em massa) para carregamento de dados. Osvalores válidos são Y ou N. Quando a tabela de destino

Versão da API 2016-01-0176

Page 81: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Parâmetro Descriçãocontém uma coluna de identidade que não existe natabela de origem, você deve desabilitar a opção deusar BCP para carregamento de tabelas, definindo oparâmetro como N.

• BCPPacketSize - Se BCP for habilitado paracarregamentos de dados, insira o tamanho máximodo pacote usado por BCP. Os valores válidos são 1 –100000 (padrão 16384).

• controlTablesFileGroup – Especifica o grupo dearquivos a ser usado para o controle de tabelas que oprocesso do AWS DMS cria no banco de dados.

KMS master key Informe a chave mestre do KMS se você optar porcriptografar o armazenamento da instância de replicação.

A tabela a seguir descreve as configurações de destino.

Parâmetro Descrição

Endpoint Identifier Digite um nome, por exemplo, Auroratarget.

Target Engine Selecione aurora.

Server name Informe o nome do servidor de banco de dados AuroraMySQL da instância primária.

Port Digite o número de porta do banco de dados. O padrãopara Aurora MySQL é 3306.

SSL mode Selecione None.

User name Digite o nome do usuário para se conectar ao banco dedados de destino.

Password Informe a senha do usuário.

A tabela a seguir descreve as configurações de destino avançadas.

Versão da API 2016-01-0177

Page 82: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Parâmetro Descrição

Extra connection attributes Parâmetros adicionais que você pode definir em umendpoint para adicionar funcionalidade ou alterar ocomportamento do AWS DMS. Alguns dos atributos maisrelevantes estão listados aqui. Use ponto-e-vírgula paraseparar várias entradas.

• targetDbType – Por padrão, o AWS DMS cria umbanco de dados diferente para cada esquema que estásendo migrado. Para combinar vários schemas emum único banco de dados, defina essa opção comotargetDbType=SPECIFIC_DATABASE.

• initstmt - Use esta opção para chamar o parâmetrode conexão MySQL initstmt e para aceitar tudoo que o MySQL initstmt aceitar. Para um destinodo Aurora MySQL, geralmente é útil desativarverificações de chave externa ao definir essa opçãocomo initstmt=SET FOREIGN_KEY_CHECKS=0.

KMS master key Informe a chave mestre do KMS se você optar porcriptografar o armazenamento da instância de replicação.

Veja a seguir um exemplo da página concluída.

Versão da API 2016-01-0178

Page 83: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Para obter informações sobre os atributos de conexão adicionais, consulte Uso de atributos deconexão adicionais com o AWS Database Migration Service.

2. Depois que os endpoints e a instância de replicação forem criados, teste as conexões dos endpoints,escolhendo Run test para os endpoints de origem e de destino.

3. Elimine restrições de chave externa e triggers no banco de dados de destino.

Durante o processo de carregamento total, o AWS DMS não carrega tabelas em uma ordemespecífica; portanto, ele pode carregar dados da tabela subordinada antes de fazer o mesmo comos da tabela principal. Como resultado, as restrições de chave externa podem ser violadas seativadas. Além disso, se houver triggers no banco de dados de destino, eles poderão alterar os dadoscarregados pelo AWS DMS de modo inesperado.

ALTER TABLE 'table_name' DROP FOREIGN KEY 'fk_name'; DROP TRIGGER 'trigger_name';

4. Se você eliminou restrições de chave externa e triggers no banco de dados de destino, gere um scriptque habilite restrições de chave externa e triggers.

Posteriormente, quando você quiser adicioná-los ao seu banco de dados migrado, poderá apenasexecutar esse script.

Versão da API 2016-01-0179

Page 84: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

5. (Opcional) Elimine índices secundários no banco de dados de destino.

Os índices secundários (como com todos os índices) podem desacelerar o carregamento totaldos dados nas tabelas, pois eles precisam ser mantidos e atualizados durante o processo decarregamento. Eliminá-los pode melhorar a performance do processo de carregamento total. Se vocêeliminar os índices, precisará voltar a adicioná-los depois que o carregamento total for concluído.

ALTER TABLE 'table_name' DROP INDEX 'index_name';

6. Escolha Next.

Etapa 7: criar e executar uma tarefa de migração doAWS DMSUsando uma tarefa do AWS DMS, é possível especificar o esquema a ser migrado e o tipo de migração.É possível migrar dados existentes, migrar dados existentes e replicar alterações contínuas ou replicarsomente alterações de dados.

Como criar uma tarefa de migração

1. No console do AWS DMS, na página Create task, especifique as opções de tarefa. A tabela a seguirdescreve as configurações.

Parâmetro Descrição

Task name Digite um nome para a tarefa de migração.

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

Source endpoint Exibe o endpoint de origem do SQL Server.

Se você tiver mais de um endpoint na conta, escolha oendpoint correto na lista.

Target endpoint Mostra o endpoint de destino do Aurora MySQL.

Replication instance Mostra a instância de replicação do AWS DMS.

Migration type Escolha uma opção.

• Migrate existing data – o AWS DMS migra somente osdados existentes. . As alterações aos dados de origemnão serão capturadas e aplicadas ao destino. Se houvercondições de causar uma interrupção durante o tempodo carregamento total, esta será a opção mais simples.Você também pode usar essa opção para criar cópiasde teste de seu banco de dados. Se o banco de dadosSQL Server de origem for um Amazon RDS, escolhaessa opção.

• Migrate existing data and replicate ongoing changes– o AWS DMS captura alterações enquanto migra osdados existentes. O AWS DMS continua capturando eaplicando alterações, mesmo após os dados em massaterem sido carregados. Por fim, os bancos de dados de

Versão da API 2016-01-0180

Page 85: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

Parâmetro Descriçãoorigem e de destino ficam sincronizados, permitindo umamigração com tempo de inatividade mínimo.

• Replicate data changes only - carregamento dedados em massa que usa um método diferente. Essaabordagem costuma se aplicar somente a migraçõeshomogêneas.

Start task on create Na maioria dos casos, você deve escolher essa opção.Às vezes, você pode querer atrasar o início de uma tarefapara alterar os níveis de registro em log, por exemplo.

A página deve ser semelhante ao seguinte:

2. Em Task settings, especifique as configurações. A tabela a seguir descreve as configurações.

Parâmetro Descrição

Target table preparation mode Escolha uma opção.

• Do nothing – o AWS DMS não faz nada para prepararsuas tabelas. A estrutura da tabela permanece igual, etodos os dados existentes são mantidos na tabela. Vocêpode usar esse método para consolidar dados de váriossistemas.

• Drop tables on target – o AWS DMS cria suas tabelasde destino para você. O AWS DMS elimina e recriaas tabelas para migrar antes da migração. O AWSDMS cria a tabela e uma chave primária somente paramigrações heterogêneas.

• Truncate – o AWS DMS trunca uma tabela de destinoantes de carregá-la. Se a tabela de destino não existir, oAWS DMS a criará.

Versão da API 2016-01-0181

Page 86: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

Parâmetro Descrição

Important

Se o AWS Schema Conversion Tool já tiver criadoas tabelas no destino, escolha Do nothing ouTruncate.

Include LOB columns in replication Escolha uma opção.

• Don't include LOB columns - não migra dados de LOB.• Full LOB mode – o AWS DMS migra todos LOBs

(objetos grandes) da origem para o destino, seja qualfor o tamanho. Nessa configuração, o AWS DMS nãotem nenhuma informação sobre o tamanho máximoesperado dos LOBs. Assim, migra-se um LOB por vez,parte por parte. O modo de LOB completo pode serrelativamente lento.

• Limited LOB mode – você define um LOB de tamanhomáximo que o AWS DMS aceite. Essa opção permiteque o AWS DMS pré-aloque memória e carregue osdados do LOB em massa. Os LOBs que ultrapassam otamanho máximo são truncados, e é enviado um avisopara o arquivo de log. Em limited LOB mode, há ganhossignificativos de performance em relação a full LOBmode. Recomendamos que você use limited LOB modesempre que possível.

Max LOB size (kb) Quando Limited LOB mode é selecionado, esta opçãodetermina o tamanho máximo do LOB que o AWS DMSaceita. Os LOBs maiores do que esse valor são truncadosnele.

Enable logging O melhor é selecionar Enable logging. Se você habilitar oregistro em log, verá todos os erros ou avisos que a tarefaencontrar, depois poderá solucionar esses problemas.

3. Deixe as outras configurações avançadas nos valores padrão.4. Se você criou e exportou regras de mapeamento com o AWS SCT na última etapa em Etapa 4:

usar a AWS SCT para converter o esquema SQL Server em Aurora MySQL (p. 67), escolhaTable mappings e selecione a guia JSON. Em seguida, selecione Enable JSON editing e informe osmapeamentos de tabela que você salvou.

Se você não criou regras de mapeamento, vá para a próxima etapa.5. Escolha Create task. A tarefa inicia imediatamente.

A seção Tasks mostra o status da tarefa de migração.

Versão da API 2016-01-0182

Page 87: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: transferir para o Aurora MySQL

Se você selecionar Enable logging na configuração, poderá monitorar a tarefa. É possível visualizar asmétricas do Amazon CloudWatch.

Como monitorar uma tarefa de migração de dados em andamento

1. No painel de navegação, selecione Tasks.2. Selecione a tarefa de migração.3. Selecione a guia Task monitoring e monitore a tarefa em andamento nela.

Quando o carregamento total é concluído e as alterações em cache são aplicadas, a tarefa para porconta própria.

4. No banco de dados Aurora MySQL de destino, ative as restrições de chave externa e os triggersusando o script que você salvou anteriormente caso os tenha desativado.

5. No banco de dados Aurora MySQL de destino, recrie os índices secundários caso os tenha removidoanteriormente.

6. Se você optar por usar o AWS DMS para replicar alterações, no console do AWS DMS, inicie a tarefado AWS DMS escolhendo Start/Resume para a tarefa.

Métricas de instância de replicação importantes para monitorar:

• CPU• FreeableMemory• DiskQueueDepth• CDCLatencySource• CDCLatencyTarget

A tarefa do AWS DMS mantém o banco de dados Aurora MySQL de destino atualizado com asalterações do banco de dados de origem. O AWS DMS mantém todas as tabelas na tarefa atualizadasaté o momento de implementar a migração do aplicativo. A latência é zero, ou próxima de zero,quando o destino alcança a origem.

Para obter mais informações, consulte Monitorar o AWS Database Migration Service.

Etapa 8: transferir para o Aurora MySQLExecute as seguintes etapas para mover as conexões do banco de dados Microsoft SQL Server para obanco de dados Amazon Aurora MySQL.

Para transferir para o Aurora MySQL

1. Encerre todas as dependências e atividades do banco de dados SQL Server, como a execução descripts e conexões de cliente. Verifique se o serviço SQL Server Agent foi interrompido.

A seguinte consulta não deve retornar resultados diferentes da conexão:

SELECT session_id, login_name from sys.dm_exec_sessions where session_id > 50;

2. Elimine todas as sessões restantes (diferentes das suas).

KILL session_id;

Versão da API 2016-01-0183

Page 88: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Solução de problemas

3. Encerre o serviço SQL Server.4. Deixe a tarefa do AWS DMS aplicar as alterações finais do banco de dados SQL Server no banco de

dados Amazon Aurora MySQL.5. No console do AWS DMS, pare a tarefa do AWS DMS escolhendo Stop e depois confirme se deseja

parar a tarefa.

Solução de problemasQuando você trabalha com o Microsoft SQL Server como um banco de dados de origem e o AmazonAurora MySQL como um banco de dados de destino, as duas áreas problemáticas mais comuns são acaptura de dados de alterações (CDC) do SQL Server e as chaves externas.

• MS-CDC: se você estiver usando o MS-CDC com o SQL Server para a migração, erros que estãorelacionados a permissões ou erros durante a captura de dados de alterações são comuns. Esses tiposde erros geralmente ocorrem quando um dos pré-requisitos não é atendido. Por exemplo, o pré-requisitoque mais passa despercebido é o backup completo do banco de dados.

• Chaves externas: durante o processo de carregamento total, o AWS DMS não carrega tabelas em umaordem específica, portanto ele pode carregar dados da tabela subordinada antes de fazer o mesmo comos da tabela principal. Como resultado, as restrições de chave externa podem ser violadas se ativadas.Você deve desativar as chaves externas no banco de dados Aurora MySQL de destino. Você pode ativaras chaves externas no destino após a conclusão da migração.

Para ver mais dicas, consulte a seção de solução de problemas do AWS DMS no Guia do usuário do AWSDMS.

Para resolver problemas específicos ao SQL Server, consulte a seção de solução de problemas do SQLServer:

• Solução de problemas específicos ao Microsoft SQL Server

Para solucionar problemas do Aurora MySQL, consulte a seção de solução de problemas do AuroraMySQL e a do MySQL:

• Solução de problemas específicos do Amazon Aurora MySQL• Solução de problemas específicos ao MySQL

Versão da API 2016-01-0184

Page 89: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

Migração de um banco de dados doOracle para PostgreSQL

Nesta demonstração, você aprende a migrar um banco de dados Oracle para um banco de dadosPostgreSQL usando o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool(AWS SCT).

O AWS DMS migra os seus dados da origem no Oracle para o destino no PostgreSQL. O AWS DMStambém captura alterações de linguagem de manipulação de dados (DML) e linguagem de definição dedados compatível (DDL) que ocorrem no banco de dados de origem, e depois as aplica ao seu bancode dados de destino. Dessa forma, o AWS DMS mantém os bancos de dados de origem e de destinosincronizados entre si. Para facilitar a migração de dados, a AWS SCT cria schemas migrados no bancode dados de destino, incluindo tabelas e índices de chave primária no destino, se necessário.

O AWS DMS não migra os seus índices secundários, sequências, valores padrão, procedimentosarmazenados, triggers, sinônimos, exibições e outros objetos de esquema que não estão relacionadosespecificamente à migração de dados. Para migrar esses objetos ao seu destino do PostgreSQL, use aAWS SCT.

Tópicos• Pré-requisitos (p. 85)• Passo a passo da migração (p. 86)• Reverter a migração (p. 107)• Solução de problemas (p. 107)

Pré-requisitosOs seguintes pré-requisitos são necessários para concluir esta apresentação:

• Entender o Amazon Relational Database Service (Amazon RDS), as tecnologias de banco de dadosaplicáveis e o SQL.

• Criar uma conta da AWS com credenciais do AWS Identity and Access Management (IAM) quepermitam a você executar o Amazon RDS e instâncias do AWS Database Migration Service (AWS DMS)na sua região da AWS. Para obter informações sobre as credenciais do IAM, consulte Criar um usuáriodo IAM.

• Entender o serviço e os security groups do Amazon Virtual Private Cloud (Amazon VPC). Para obterinformações sobre o uso do Amazon VPC com o Amazon RDS, consulte Amazon Virtual Private Cloud(VPC) e Amazon RDS. Para obter informações sobre security groups do Amazon RDS, consulte Amazon RDS Security Groups.

• Entender os recursos compatíveis e as limitações do AWS DMS. Para obter informações sobre o AWSDMS, consulte O que é o AWS Database Migration Service?.

• Entender as opções de conversão dos tipos de dados compatíveis para Oracle e PostgreSQL. Paraobter informações sobre os tipos de dados para o Oracle como origem, consulte Uso de um banco dedados Oracle como origem para o AWS Database Migration Service. Para obter informações sobre ostipos de dados para o PostgreSQL como destino, consulte Uso do banco de dados PostgreSQL comodestino para o AWS Database Migration Service.

Versão da API 2016-01-0185

Page 90: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Passo a passo da migração

• Defina o tamanho do host do banco de dados PostgreSQL de destino. Os DBAs devem conhecer operfil de carregamento do host de banco de dados Oracle de origem. Leve em conta CPU, memória eIOPS. Com o RDS, você pode dimensionar o host do banco de dados de destino ou reduzi-lo, após amigração. Se esta for a primeira vez que você está migrando para PostgreSQL, recomendamos quetenha capacidade extra para lidar com problemas de desempenho e oportunidades de ajuste.

• Audite o banco de dados Oracle de origem. Para cada schema e todos os objetos em cada schema,determine se os objetos não são mais usados. Desaprove esses objetos no banco de dados Oracle deorigem, pois não há necessidade de migrá-los se não estão sendo usados.

• Se a capacidade de carga permitir, use o tamanho máximo (kb) de cada tipo de LOB no banco de dadosde origem e guarde essas informações para mais tarde.

• Se possível, mova colunas com BLOB, CLOB, NCLOB, LONG, LONG RAW e XMLTYPE para AmazonS3, Dynamo DB ou outro datastore. Isso simplifica o banco de dados Oracle de origem para que amigração seja mais fácil. Isso também reduz os requisitos de capacidade para o banco de dadosPostgreSQL de destino.

Para obter mais informações sobre o AWS DMS, consulte a documentação do AWS DMS.

Passo a passo da migraçãoAs etapas a seguir apresentam instruções para migrar um banco de dados Oracle para um banco dedados PostgreSQL. Estas etapas supõem que você já tenha preparado seu banco de dados de origem,conforme descrito em Pré-requisitos (p. 85).

Tópicos• Etapa 1: instalar os drivers do SQL e a AWS Schema Conversion Tool no seu computador

local (p. 86)• Etapa 2: configurar o banco de dados de origem do Oracle (p. 87)• Etapa 3: configurar o banco de dados de destino do PostgreSQL (p. 90)• Etapa 4: usar a AWS Schema Conversion Tool (AWS SCT) para converter o schema do Oracle em

PostgreSQL (p. 90)• Etapa 5: criar uma instância de replicação do AWS DMS (p. 98)• Etapa 6: criar endpoints de origem e de destino do AWS DMS (p. 100)• Etapa 7: criar e executar uma tarefa de migração do AWS DMS (p. 103)• Etapa 8: transferir para o PostgreSQL (p. 106)

Etapa 1: instalar os drivers do SQL e a AWS SchemaConversion Tool no seu computador localInstale os drivers do SQL e a AWS Schema Conversion Tool (AWS SCT) no seu computador local.

Como instalar o software cliente SQL

1. Faça download do driver JDBC referente à versão de seu banco de dados Oracle. Para maisinformações, acesse https://www.oracle.com/jdbc.

2. Faça download do driver PostgreSQL (postgresql-42.1.4.jar).3. Instale a AWS SCT e os drivers JDBC necessários.

a. Faça download da AWS SCT em Instalar e atualizar a AWS Schema Conversion Tool, no Guia dousuário da AWS Schema Conversion Tool.

Versão da API 2016-01-0186

Page 91: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: configurar o banco de dados de origem do Oracle

b. Inicie a AWS SCT.c. Na AWS SCT, selecione Global Settings em Settings.d. Em Global Settings, selecione Driver e, depois, Browse em Oracle Driver Path. Localize o driver

JDBC do Oracle e selecione OK.e. Escolha Procurar em Caminho do driver PostgreSQL. Localize o driver JDBC do PostgreSQL e

selecione OK.

f. Selecione OK para fechar a caixa de diálogo.

Etapa 2: configurar o banco de dados de origem doOraclePara usar o Oracle como origem do AWS Database Migration Service (AWS DMS), antes você devegarantir que o ARCHIVELOG MODE esteja ativado para fornecer informações para o LogMiner. O AWSDMS usa o LogMiner para ler informações de logs de arquivo para o AWS DMS poder capturar alterações.

Para o AWS DMS ler essas informações, garanta que os logs de arquivo fiquem retidos no servidordo banco de dados enquanto o AWS DMS precisar deles. Se você configurar a tarefa para começar acapturar alterações imediatamente, então deverá reter apenas os logs de arquivo por um pouco maisque a duração da transação mais longa. Reter logs de arquivo por 24 horas costuma ser suficiente. Sevocê configurar a tarefa para começar a partir de um momento no passado, os logs de arquivo deverãoficar disponíveis a partir daquele momento. Para ver instruções mais específicas sobre a habilitação domodo ARCHIVELOG e a garantia da retenção de log para o banco de dados local do Oracle, consulte adocumentação do Oracle.

Para capturar dados de alterações, o AWS DMS exige a habilitação do registro no banco de dados deorigem. Um registro suplementar mínimo deve ser habilitado no nível do banco de dados. O AWS DMStambém exige que o registro da chave de identificação esteja habilitado. Essa opção faz com que o bancode dados coloque todas as colunas da chave primária de uma linha no arquivo de log redo sempre queuma linha que contém uma chave primária é atualizada. Este resultado ocorre mesmo quando nenhum

Versão da API 2016-01-0187

Page 92: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: configurar o banco de dados de origem do Oracle

valor na chave primária foi alterado. É possível definir essa opção no nível do banco de dados ou databela.

Como configurar o banco de dados de origem do Oracle

1. Crie ou configure uma conta do banco de dados para ser usada pelo AWS DMS. Recomendamos quevocê use uma conta com os privilégios mínimos exigidos pelo AWS DMS para a sua conexão do AWSDMS. O AWS DMS exige os seguintes privilégios.

CREATE SESSIONSELECT ANY TRANSACTIONSELECT on V_$ARCHIVED_LOGSELECT on V_$LOGSELECT on V_$LOGFILESELECT on V_$DATABASESELECT on V_$THREADSELECT on V_$PARAMETERSELECT on V_$NLS_PARAMETERSSELECT on V_$TIMEZONE_NAMESSELECT on V_$TRANSACTIONSELECT on ALL_INDEXESSELECT on ALL_OBJECTSSELECT on ALL_TABLESSELECT on ALL_USERSSELECT on ALL_CATALOGSELECT on ALL_CONSTRAINTSSELECT on ALL_CONS_COLUMNSSELECT on ALL_TAB_COLSSELECT on ALL_IND_COLUMNSSELECT on ALL_LOG_GROUPSSELECT on SYS.DBA_REGISTRYSELECT on SYS.OBJ$SELECT on DBA_TABLESPACESSELECT on ALL_TAB_PARTITIONSSELECT on ALL_ENCRYPTED_COLUMNS* SELECT on all tables migrated

Se você quiser capturar e aplicar alterações (CDC), também precisará dos seguintes privilégios.

EXECUTE on DBMS_LOGMNR SELECT on V_$LOGMNR_LOGSSELECT on V_$LOGMNR_CONTENTSLOGMINING /* For Oracle 12c and higher. */* ALTER for any table being replicated (if you want AWS DMS to add supplemental logging)

Para versões do Oracle inferiores a 11.2.0.3, são necessários os seguintes privilégios.

SELECT on DBA_OBJECTS /* versions before 11.2.0.3 */SELECT on ALL_VIEWS (required if views are exposed)

2. Se seu banco de dados Oracle for do AWS RDS, conecte-se a ele como usuário administrativo eexecute o comando a seguir para garantir que os logs de arquivo sejam mantidos em sua origem doRDS por 24 horas:

Versão da API 2016-01-0188

Page 93: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: configurar o banco de dados de origem do Oracle

exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);

Se a origem do Oracle for um banco de dados do AWS RDS, ela será colocada em ARCHIVELOGMODE se, e somente se, você habilitar backups.

3. Execute o seguinte comando para habilitar o registro suplementar no nível do banco de dados, o que oAWS DMS exige:• No Oracle SQL:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

• Em RDS:

exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');

4. Use o seguinte comando para habilitar o registro suplementar de chave de identificação no nível dobanco de dados. O AWS DMS exige um registro em log de chave suplementar no nível do banco dedados. A exceção é quando você permite que o AWS DMS adicione automaticamente o registro emlog suplementar, conforme necessário, ou habilite o registro suplementar no nível da tabela:• No Oracle SQL:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

• Em RDS:

exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');

O banco de dados de origem incorre em pequenos custos quando o registro suplementar do nívelde chave está habilitado. Portanto, se estiver migrando apenas um subconjunto das suas tabelas,habilite o registro suplementar do nível de chave no nível da tabela.

5. Use o seguinte comando para habilitar o registro suplementar do nível de chave no nível da tabela.

ALTER TABLE table_name ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

Quando uma tabela não tem chave primária, você tem duas opções.

• Você pode adicionar o registro em log suplementar a todas as colunas envolvidas no primeiro índiceúnico na tabela (classificada por nome de índice).

• Você pode adicionar o registro suplementar a todas as colunas da tabela.

Para adicionar o registro suplementar a um subconjunto de colunas em uma tabela, como asenvolvidas em um índice único, execute o seguinte comando.

ALTER TABLE table_name ADD SUPPLEMENTAL LOG GROUP example_log_group (column_list) ALWAYS;

Versão da API 2016-01-0189

Page 94: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 3: configurar o banco de

dados de destino do PostgreSQL

Execute o seguinte comando para adicionar o registro suplementar a todas as colunas de uma tabela.

ALTER TABLE table_name ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

6. Crie um usuário para AWS SCT.

CREATE USER oracle_sct_user IDENTIFIED BY password; GRANT CONNECT TO oracle_sct_user;GRANT SELECT_CATALOG_ROLE TO oracle_sct_user;GRANT SELECT ANY DICTIONARY TO oracle_sct_user;

Etapa 3: configurar o banco de dados de destino doPostgreSQL1. Se os schemas que você está migrando não existem no banco de dados PostgreSQL, crie schemas.2. Crie o usuário do AWS DMS para se conectar ao seu banco de dados de destino e conceda o

Superusuário ou os privilégios individuais necessários (ou use o nome de usuário mestre para RDS).

CREATE USER postgresql_dms_user WITH PASSWORD 'password'; ALTER USER postgresql_dms_user WITH SUPERUSER;

3. Crie um usuário para AWS SCT.

CREATE USER postgresql_sct_user WITH PASSWORD 'password';

GRANT CONNECT ON DATABASE database_name TO postgresql_sct_user;GRANT USAGE ON SCHEMA schema_name TO postgresql_sct_user;GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO postgresql_sct_user;GRANT ALL ON SEQUENCES IN SCHEMA schema_name TO postgresql_sct_user;

Etapa 4: usar a AWS Schema Conversion Tool(AWS SCT) para converter o schema do Oracle emPostgreSQLAntes de migrar dados para o PostgreSQL, você converte o schema do Oracle em um schema doPostgreSQL.

Versão da API 2016-01-0190

Page 95: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

Para converter um schema do Oracle em um schema do PostgreSQL usando a AWS SCT

1. Inicie a AWS SCT. Na AWS SCT, selecione File e New Project. Crie um novo projeto chamado AWSSchema Conversion Tool Oracle to PostgreSQL. Insira as seguintes informações na janelaNew Project e selecione OK.

Parâmetro Descrição

Project Name Digite AWS Schema Conversion Tool Oracle toPostgreSQL.

Local Use a pasta padrão Projects e a opção padrãoTransactional Database (OLTP).

Source Database Engine Selecione Oracle.

Target Database Engine Escolha Amazon RDS for PostgreSQL.

2. Selecione Connect to Oracle. Na caixa de diálogo Connect to Oracle, insira as seguintes informaçõese selecione Test Connection.

Parâmetro Descrição

Type Selecione SID.

Server name Digite o nome do servidor.

Server port Digite o número da porta do Oracle. O padrão é 1521.

Oracle SID Digite o SID do banco de dados.

User name Digite o nome de usuário do administrador do Oracle.

Versão da API 2016-01-0191

Page 96: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

Parâmetro Descrição

Password Forneça a senha do usuário administrador.

3. Selecione OK, para fechar a caixa de alerta, e selecione OK, para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados Oracle. A estrutura do banco de dados na instância de bancode dados Oracle é exibida.

4. Escolha Connect to Amazon RDS for PostgreSQL. Na caixa de diálogo Connect to AmazonPostgreSQL, insira as seguintes informações e selecione Test Connection.

Parâmetro Descrição

Server name Digite o nome do servidor.

Server port Digite o número da porta do PostgreSQL. O padrão é5432.

Database Digite o nome do banco de dados.

User name Digite o nome de usuário do administrador do PostgreSQL.

Versão da API 2016-01-0192

Page 97: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

Parâmetro Descrição

Password Forneça a senha do usuário administrador.

5. Selecione OK para fechar a caixa de alerta e selecione OK para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados PostgreSQL.

6. Abra o menu de contexto (clique com o botão direito do mouse) do schema para migrar, depoisselecione Convert schema.

Versão da API 2016-01-0193

Page 98: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

7. Selecione Yes na mensagem de confirmação. A AWS SCT converte seus schemas para o formato dobanco de dados de destino.

Versão da API 2016-01-0194

Page 99: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

A AWS SCT analisa o schema e cria um relatório de avaliação de migração de banco de dados sobrea conversão para o PostgreSQL.

8. Selecione Assessment Report View em View para verificar o relatório.

O relatório é dividido por tipo de objeto e por necessidade de alteração manual para ser convertidocorretamente.

Em geral, pacotes, procedimentos e funções costumam ter alguns problemas para resolver, poiscontêm a maior parte dos códigos PL/SQL personalizados. A AWS SCT também dá dicas sobre comocorrigir esses objetos.

Versão da API 2016-01-0195

Page 100: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

9. Selecione a guia Action Items.

A guia Itens de ação mostra os problemas de cada objeto que requer atenção.

Para cada problema de conversão, você pode concluir uma das seguintes ações:• Modifique os objetos no banco de dados Oracle de origem para que a AWS SCT possa converter

os objetos para o banco de dados PostgreSQL de destino.

1. Modifique os objetos no banco de dados Oracle de origem.2. Repita as etapas anteriores para converter o schema e verificar o relatório de avaliação.

Versão da API 2016-01-0196

Page 101: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 4: usar a AWS Schema Conversion Tool (AWSSCT) para converter o schema do Oracle em PostgreSQL

3. Se necessário, repita esse processo até que não haja mais problemas de conversão.4. Escolha Main View em View e abra o menu de contexto (clique com o botão direito do

mouse) do schema PostgreSQL de destino, depois escolha Apply to database para aplicar asalterações de schema ao banco de dados PostgreSQL.

• Em vez de modificar o schema de origem, modifique scripts gerados pela AWS SCT antes deaplicar os scripts no banco de dados PostgreSQL de destino.

1. Abra o menu de contexto (clique com o botão direito do mouse) referente ao nome doschema PostgreSQL de destino e selecione Salvar como SQL. Em seguida, escolha umnome e um destino para o script.

2. No script, modifique os objetos para corrigir problemas de conversão.3. Execute o script no banco de dados PostgreSQL de destino.

Para obter mais informações, consulte Conversão de esquema de banco de dados para o AmazonRDS usando a AWS Schema Conversion Tool no Guia de usuário da AWS Schema Conversion Tool.

10. Use a AWS SCT para criar regras de mapeamento.

a. Em Settings, selecione Mapping Rules.b. Além das duas regras de mapeamento padrão que convertem nomes de schema e nomes de

tabela em letras minúsculas, crie regras de mapeamento adicionais necessárias com base nositens de ação.

c. Salve as regras de mapeamento.

Versão da API 2016-01-0197

Page 102: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar uma instância de replicação do AWS DMS

d. Clique em Exportar script para DMS para exportar um formato JSON de todas as transformaçõesque a tarefa do AWS DMS usará para determinar qual objeto da origem corresponde a qual objetono destino. Clique em Save (Salvar).

Etapa 5: criar uma instância de replicação do AWSDMSApós validar a estrutura de schema entre os bancos de dados de origem e de destino, continue coma principal parte desta apresentação: a migração de dados. A ilustração a seguir mostra uma exibiçãodetalhada do processo de migração.

Uma instância de replicação do AWS DMS realiza a migração de dados em si entre a origem e o destino.A instância de replicação também armazena os logs de transação em cache durante a migração. A CPUe a capacidade de memória de uma instância de replicação influenciam o tempo geral necessário para amigração.

Como criar uma instância de replicação do AWS DMS

1. Faça login no Console de Gerenciamento da AWS e selecione AWS DMS em https://console.aws.amazon.com/dms/. Em seguida, escolha Criar migração. 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.

2. Selecione Next para iniciar uma migração de banco de dados na página de boas-vindas do console.3. Na página Create replication instance, especifique as informações da instância de replicação.

Versão da API 2016-01-0198

Page 103: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: criar uma instância de replicação do AWS DMS

Parâmetro Descrição

Name Selecione um nome para a instância de replicação.Se você for usar vários servidores de replicação oucompartilhar uma conta, escolha um nome que o ajude adistinguir rapidamente os diferentes servidores.

Descrição Digite uma descrição breve.

Instance class Selecione o tipo de servidor de replicação para criar.Cada tamanho e tipo de classe de instância terá maiscapacidade de CPU, memória e E/S. Geralmente, asinstâncias t2 são para tarefas de carga menores, e asinstâncias c4 são para carga mais alta e mais tarefas.

VPC Escolha o VPC em que a instância de replicação seráexecutada. Se possível, selecione o mesmo VPC em quereside o banco de dados de origem ou de destino (ouambos).

Multi-AZ Quando Sim é selecionado, o AWS DMS cria um segundoservidor de replicação em uma Zona de disponibilidadediferente para failover, caso haja um problema com oservidor de replicação primário.

Publicly accessible Se o banco de dados de origem ou de destino residir forado VPC em que reside o servidor de replicação, a políticadesse servidor de replicação deverá ter acesso público.

4. Na seção Advanced, especifique as seguintes informações.

Parâmetro Descrição

Allocated storage (GB) Quantidade de armazenamento no servidor de replicaçãodos logs de tarefa do AWS DMS, incluindo logs de tarefashistóricos. O AWS DMS também usa armazenamentoem disco para armazenar em cache determinados dadosenquanto os replica da origem para o de destino. Alémdisso, mais armazenamento geralmente permite melhorIOPS no servidor.

Replication Subnet Group Se você executar em uma configuração Multi-AZ, serãonecessários ao menos dois grupos de sub-rede.

Availability zone Em geral, a performance melhora quando o servidor dereplicação primário fica na mesma Zona de disponibilidadeque o banco de dados de destino.

VPC Security Group(s) Com grupos de segurança, você controla a entrada e asaída da VPC. Com o AWS DMS, você associa um oumais grupos de segurança à VPC em que o servidor dereplicação é executado.

KMS master key Com o AWS DMS, todos os dados são criptografados emrepouso usando uma chave de criptografia do KMS Porpadrão, o AWS DMS cria outra chave de criptografia para

Versão da API 2016-01-0199

Page 104: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Parâmetro Descriçãoo servidor de replicação. No entanto, você pode optar porusar uma chave existente.

Para obter informações sobre a chave mestra do KMS, consulte Definir uma chave de criptografia eespecificar permissões do KMS.

5. Clique em Next.

Etapa 6: criar endpoints de origem e de destino doAWS DMSEnquanto a instância de replicação está sendo criada, é possível especificar os endpoints de origem e dedestino do banco de dados usando o Console de Gerenciamento da AWS. Contudo, você só pode testar aconectividade depois de a instância de replicação ser criada, porque ela é usada na conexão.

Para especificar endpoints do banco de dados de origem e de destino usando o console

1. Especifique as suas informações de conexão para o banco de dados de origem do Oracle e o bancode dados de destino do PostgreSQL. A tabela a seguir descreve as configurações de origem.

Parâmetro Descrição

Endpoint Identifier Digite um nome, por exemplo, Orasource.

Source Engine Selecione oracle.

Server name Informe o nome do servidor da instância de banco dedados Oracle.

Port A porta do banco de dados. A padrão do Oracle é 1521.

SSL mode Escolha um modo SSL se você deseja ativar a criptografiapara o tráfego de conexão.

Username O usuário para se conectar ao banco de dados de origem.

Password Informe a senha do usuário.

SID Forneça o nome do banco de dados Oracle.

A tabela a seguir descreve as configurações de origem avançadas.

Parâmetro Descrição

Extra connection attributes Parâmetros adicionais que você pode definir em umendpoint para adicionar funcionalidade ou alterar ocomportamento do AWS DMS. Alguns dos parâmetrosmais comuns e convenientes para definir para um bancode dados de origem Oracle são os seguintes. Separe asvárias entradas usando um ponto-e-vírgula (;) entre elas.

Versão da API 2016-01-01100

Page 105: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Parâmetro Descrição• addSupplementalLogging - Este parâmetro configura

automaticamente a atribuição de log complementarquando definido como Y.

• useLogminerReader — Por padrão, o AWS DMS usao Logminer no banco de dados Oracle para capturartodas as alterações no banco de dados de origem.O outro modo é chamado Binary Reader. Ao usar oBinary Reader em vez do Logminer, o AWS DMS copiao log redo arquivado do banco de dados Oracle deorigem no servidor de replicação e depois lê todo o logpara capturar as alterações. A opção Binary Reader érecomendada quando você usa o ASM, pois ela temvantagens de performance em relação ao Logminer noASM. Se o seu banco de dados de origem for 12c, aopção Binary Reader será a única maneira de capturaralterações de CDC no Oracle para objetos LOB.

Para usar o Logminer, informe o seguinte:

useLogminerReader=Y

Para usar o Binary Reader, informe o seguinte:

useLogminerReader=N; useBfile=Y

KMS master key Informe a chave mestre do KMS se você optar porcriptografar o armazenamento da instância de replicação.

Para obter informações sobre os atributos de conexão adicionais, consulte Uso de atributos deconexão adicionais com o AWS Database Migration Service.

A tabela a seguir descreve as configurações de destino.

Parâmetro Descrição

Endpoint Identifier Digite um nome, por exemplo, Postgrestarget.

Target Engine Escolha postgres.

Servername Informe o nome do servidor da instância de banco dedados PostgreSQL.

Port A porta do banco de dados. A padrão do PostgreSQL é5432.

SSL mode Selecione None.

Username O usuário para se conectar ao banco de dados de destino.

Password Informe a senha da instância de banco de dadosPostgreSQL.

Versão da API 2016-01-01101

Page 106: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: criar endpoints deorigem e de destino do AWS DMS

Veja a seguir um exemplo da página concluída.

2. Depois que os endpoints e a instância de replicação tiverem sido criados, teste a conexão de cadaendpoint, escolhendo Run test para os endpoints de origem e de destino.

3. Elimine restrições de chave externa e triggers no banco de dados de destino.

Durante o processo de carregamento total, o AWS DMS não carrega tabelas em uma ordemespecífica; portanto, ele pode carregar dados da tabela subordinada antes de fazer o mesmo comos da tabela principal. Como resultado, as restrições de chave externa podem ser violadas seativadas. Além disso, se houver triggers no banco de dados de destino, eles poderão alterar os dadoscarregados pelo AWS DMS de modo inesperado.

4. Se você não tiver um script, gere algum que possibilite restrições de chave externa e triggers.

Posteriormente, quando você quiser adicioná-los ao seu banco de dados migrado, poderá apenasexecutar esse script.

Versão da API 2016-01-01102

Page 107: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

5. (Opcional) Elimine índices secundários no banco de dados de destino.

Os índices secundários (como com todos os índices) podem desacelerar o carregamento totaldos dados nas tabelas, pois eles precisam ser mantidos e atualizados durante o processo decarregamento. Eliminá-los pode melhorar a performance do processo de carregamento total. Se vocêeliminar os índices, precisará voltar a adicioná-los depois que o carregamento total for concluído.

6. Escolha Next.

Etapa 7: criar e executar uma tarefa de migração doAWS DMSUsando uma tarefa do AWS DMS, é possível especificar o esquema a ser migrado e o tipo de migração.É possível migrar dados existentes, migrar dados existentes e replicar alterações contínuas ou replicarsomente alterações de dados. Esta apresentação migra dados existentes e replica as alteraçõescontínuas.

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.

Parâmetro Descrição

Task name Digite um nome para a tarefa de migração.

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

Source endpoint Exibe o endpoint de origem do Oracle.

Se você tiver mais de um endpoint na conta, escolha oendpoint correto na lista.

Target endpoint Mostra o endpoint de destino do PostgreSQL.

Replication instance Mostra a instância de replicação do AWS DMS.

Migration type Escolha a opção Migrar dados existentes e replicaralterações contínuas.

Start task on create Selecione esta opção.

A página se parecerá com o seguinte:

Versão da API 2016-01-01103

Page 108: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

2. Em Task Settings, escolha Do nothing ou Truncate para Target table preparation mode, pois você jácriou as tabelas usando a AWS Schema Conversion Tool.

Se o banco de dados Oracle tiver LOBs, em Include LOB columns in replication, selecione Full LOBmode, se quiser replicar todo o LOB para todas as tabelas. Selecione Limited LOB mode se quiserreplicar os LOBs apenas até determinado tamanho. Você especifica o tamanho do LOB para migrarem Max LOB size (kb).

O melhor é selecionar Enable logging. Se você habilitar o registro em log, verá todos os erros ouavisos que a tarefa encontrar, depois poderá solucionar esses problemas.

3. Deixe as outras configurações avançadas nos valores padrão.

Versão da API 2016-01-01104

Page 109: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar e executar umatarefa de migração do AWS DMS

4. Escolha Table mappings e selecione a guia JSON. Em seguida, selecione Enable JSON editing einforme os mapeamentos de tabela que você salvou na última etapa em Etapa 4: usar a AWS SchemaConversion Tool (AWS SCT) para converter o schema do Oracle em PostgreSQL (p. 90).

Veja a seguir um exemplo de mapeamentos que convertem nomes de schema e nomes de tabela emletras minúsculas.

{ "rules": [ { "rule-type": "transformation", "rule-id": "100000", "rule-name": "Default Lowercase Table Rule", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" } }, { "rule-type": "transformation", "rule-id": "100001", "rule-name": "Default Lowercase Schema Rule", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } } ]}

5. Escolha Create task. A tarefa começará imediatamente.

A seção Tasks mostra o status da tarefa de migração.

É possível monitorar sua tarefa selecionando Enable logging ao configurá-la. Então, será possívelvisualizar as métricas do CloudWatch fazendo o seguinte:

Como monitorar uma tarefa de migração de dados em andamento

1. No painel de navegação, selecione Tasks.2. Selecione a tarefa de migração.3. Selecione a guia Task monitoring e monitore a tarefa em andamento nela.

Versão da API 2016-01-01105

Page 110: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: transferir para o PostgreSQL

Quando o carregamento total é concluído e as alterações em cache são aplicadas, a tarefa para porconta própria.

4. No banco de dados PostgreSQL de destino, ative restrições de chave externa e triggers usando oscript que você salvou anteriormente.

5. No banco de dados PostgreSQL de destino, recrie os índices secundários caso os tenha removidoanteriormente.

6. No console do AWS DMS, inicie a tarefa do AWS DMS clicando em Start/Resume na tarefa.

A tarefa do AWS DMS mantém o banco de dados PostgreSQL de destino atualizado com asalterações do banco de dados de origem. O AWS DMS mantém todas as tabelas na tarefa atualizadasaté o momento de implementar a migração do aplicativo. A latência será zero, ou próxima de zero,quando o destino alcançar a origem.

Etapa 8: transferir para o PostgreSQLExecute as seguintes etapas para mover as conexões do banco de dados Oracle para o banco de dadosPostgreSQL.

Para transferir para o PostgreSQL

1. Encerre todas as dependências e atividades do banco de dados Oracle, como a execução de scripts econexões de cliente.

A seguinte consulta não deve retornar resultados:

SELECT MACHINE, COUNT FROM V$SESSION GROUP BY MACHINE;

2. Liste todas as sessões restantes e as elimine.

SELECT SID, SERIAL#, STATUS FROM V$SESSION; ALTER SYSTEM KILL 'sid, serial_number' IMMEDIATE;

3. Encerre todos os listeners do banco de dados Oracle.4. Deixe a tarefa do AWS DMS aplicar as alterações finais do banco de dados Oracle no banco de dados

PostgreSQL.

ALTER SYSTEM CHECKPOINT;

5. No console do AWS DMS, pare a tarefa do AWS DMS clicando em Stop, depois confirme se desejaparar a tarefa.

6. (Opcional) Configure uma reversão.

Como opção, você pode configurar uma tarefa de reversão caso tenha problema com interrupçãode exibição. Basta criar uma tarefa tomando a direção oposta. Como todas as tabelas devem sersincronizados entre os dois bancos de dados, você só precisa configurar uma tarefa de CDC.Portanto, você não precisa desativar as restrições de chave externa. Agora que os bancos de dadosde origem e destino foram revertidos, siga as instruções nas seções a seguir:

• Uso do banco de dados PostgreSQL como origem para o AWS Database Migration Service

Versão da API 2016-01-01106

Page 111: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Reverter a migração

• Uso do banco de dados Oracle como destino para o AWS Database Migration Service

a. Desabilite os triggers no banco de dados Oracle de origem.

SELECT 'ALTER TRIGGER' || owner || '.' || trigger_name || 'DISABLE;' FROM DBA_TRIGGERS WHERE OWNER = 'schema_name';

Você não precisa desabilitar as restrições de chave externa. Durante o processo de CDC, asrestrições de chave externa são atualizadas na mesma ordem em que são atualizadas porusuários de aplicativos.

b. Crie uma nova tarefa do AWS DMS apenas de CDC com endpoints revertidos (endpointPostgreSQL de origem e banco de dados de endpoint Oracle de destino). Consulte Etapa 7: criare executar uma tarefa de migração do AWS DMS (p. 103).

Para a tarefa de reversão, defina Migration type como Replicate data changes only e Target tablepreparation mode como Do nothing.

c. Inicie a tarefa do AWS DMS para devolver as alterações do novo banco de dados PostgreSQLpara o primeiro banco de dados Oracle de origem, se a reversão for necessária.

7. Conecte-se ao banco de dados PostgreSQL e ative os triggers.

ALTER TABLE table_name ENABLE TRIGGER ALL;

8. Se você configurar uma reversão, conclua a configuração dela.

a. Inicie os serviços do aplicativo no novo banco de dados PostgreSQL de destino (incluindo scripts,software cliente, e assim por diante).

b. Adicione o monitoramento Cloudwatch ao novo banco de dados PostgreSQL. ConsulteMonitoramento do Amazon RDS.

Reverter a migraçãoSe houver grandes problemas com a migração que não possam ser resolvidos em tempo hábil, vocêpoderá reverter a migração. Estas etapas supõem que você já tenha preparado a reversão, conformedescrito em Etapa 8: transferir para o PostgreSQL (p. 106).

Para reverter a migração

1. Pare todos os serviços de aplicativos no banco de dados PostgreSQL de destino.2. Deixe a tarefa do AWS DMS replicar as alterações restantes de volta ao banco de dados Oracle de

origem.3. Pare a tarefa do PostgreSQL para Oracle do AWS DMS.4. Inicie todos os aplicativos de volta no banco de dados Oracle de origem.

Solução de problemasAs duas áreas mais problemáticas ao trabalhar com o Oracle como origem e o PostgreSQL como destinosão: registro em log suplementar e diferenciação entre maiúsculas e minúsculas.

Versão da API 2016-01-01107

Page 112: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Solução de problemas

• Registro em log suplementar – com o Oracle, o registro em log suplementar deve estar habilitado parareplicar dados. Entretanto, se você habilitar o registro em log suplementar no nível do banco de dados,ele ainda precisará habilitá-lo quando novas tabelas forem criadas. A melhor solução para isso é permitirque o AWS DMS habilite o registro suplementar para você usando o atributo de conexão extra:

addSupplementalLogging=Y

• Diferenciação entre maiúsculas e minúsculas: o Oracle não diferencia maiúsculas e minúsculas (amenos que você use aspas nos nomes de objeto). Contudo, o texto aparece em letras maiúsculas.Assim, o AWS DMS nomeia os seus objetos de destino em maiúsculas como padrão. Na maioria doscasos, você usará transformações para alterar nomes de schema, tabela e coluna para minúsculas.

Para ver mais dicas, consulte a seção de solução de problemas do AWS DMS no Guia do usuário do AWSDMS.

Para resolver problemas específicos ao Oracle, consulte a seção de solução de problemas do Oracle:

Solução de problemas específicos ao Oracle

Para resolver problemas do PostgreSQL, consulte a seção de solução de problemas do PostgreSQL:

Solução de problemas específicos ao PostgreSQL

Versão da API 2016-01-01108

Page 113: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

Migração de um Amazon RDS forOracle Database para o AmazonRedshift

Esta demonstração contém os conceitos básicos da migração de banco de dados heterogênea de umOracle do Amazon RDS para o Amazon Redshift usando o AWS Database Migration Service (AWS DMS)e a AWS Schema Conversion Tool (AWS SCT). Este exercício introdutório não aborda todos os cenários,mas fornece uma boa compreensão das etapas envolvidas nessa migração.

É importante compreender que AWS DMS e AWS SCT são duas ferramentas diferentes e atendem anecessidades diferentes. Elas não interagem no processo de migração. De maneira detalhada, as etapasenvolvidas nessa migração são as seguintes:

1. Usar a AWS SCT para:• Execute o relatório de conversão do Oracle para o Amazon Redshift identificar os problemas, as

limitações e as medidas necessárias para a conversão do esquema.• Gerar os scripts de schema e aplicá-los no destino antes de realizar o carregamento de dados

usando o AWS DMS. A AWS SCT realiza a conversão de código necessária para objetos comoprocedimentos e exibições.

2. Identificar e implementar soluções para os problemas relatados pela AWS SCT.3. Desabilitar chaves externas ou outras restrições que possam afetar o carregamento de dados do AWS

DMS.4. O AWS DMS carrega os dados da origem para o destino usando a abordagem de carregamento

completo. Embora o AWS DMS seja capaz de criar objetos no destino como parte do carregamento, elesegue uma abordagem minimalista ao migrar os dados para não copiar toda a estrutura do schema daorigem para o destino.

5. Executar atividades de pós-migração, como criação de índices adicionais, habilitação de chavesexternas e realização de alterações necessárias na aplicação para apontar para o novo banco dedados.

Esta demonstração usa um modelo personalizado do AWS CloudFormation para criar instâncias de bancode dados do RDS para o Oracle e o Amazon Redshift. Em seguida, ela usa um script de comando SQLpara instalar uma amostra de esquema e dados na instância de banco de dados Oracle do RDS que vocêmigrará para o Amazon Redshift.

Esta demonstração leva cerca de duas horas para ser concluída. Siga as instruções para excluir recursosno final e evitar cobranças adicionais.

Tópicos• Pré-requisitos (p. 109)• Arquitetura de migração (p. 110)• Passo a passo da migração (p. 112)• Próximas etapas (p. 143)

Pré-requisitosOs seguintes pré-requisitos também são necessários para concluir a demonstração:

Versão da API 2016-01-01109

Page 114: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Arquitetura de migração

• Familiaridade com o Amazon RDS, Amazon Redshift, tecnologias de banco de dados aplicáveis e SQL.• Os scripts personalizados que incluem a criação de tabelas para serem migradas e de queries SQL para

confirmar a migração, conforme listado a seguir:• Oracle_Redshift_For_DMSDemo.template—um modelo do AWS CloudFormation

Oraclesalesstarschema.sql—Declarações SQL para criar o esquema SH

Estes scripts estão disponíveis no link a seguir: dms-sbs-RDSOracle2Redshift.zip

Cada etapa aqui também contém um link para baixar o arquivo envolvido ou inclui a consulta exata naetapa.

• Uma conta da AWS com credenciais do AWS Identity and Access Management (IAM) que permitam quevocê execute o RDS, instâncias do AWS Database Migration Service (AWS DMS) e clusters do AmazonRedshift na região da AWS. Para obter informações sobre credenciais IAM, consulte Criar um usuário doIAM.

• Conhecimento básico sobre o serviço Amazon Virtual Private Cloud (Amazon VPC) e security groups.Para obter informações sobre o uso do Amazon VPC com o Amazon RDS, consulte Virtual PrivateClouds (VPCs) and Amazon RDS. Para obter informações sobre security groups do Amazon RDS,consulte Amazon RDS Security Groups. Para obter informações sobre o uso do Amazon Redshift emuma VPC, consulte Gerenciar clusters em uma Amazon Virtual Private Cloud (VPC).

• Compreensão dos recursos compatíveis e das limitações do AWS DMS. Para obter informações sobre oAWS DMS, consulte O que é o AWS Database Migration Service?

• Conhecimento das opções de conversão dos tipos de dados compatíveis para Oracle e AmazonRedshift. Para obter informações sobre os tipos de dados para o Oracle como origem, consulte Usode um banco de dados Oracle como origem para o AWS Database Migration Service. Para obterinformações sobre os tipos de dados para o Amazon Redshift como destino, consulte Uso de um bancode dados do Amazon Redshift como destino do AWS Database Migration Service .

Para obter mais informações sobre a AWS DMS, consulte a documentação do AWS DMS.

Arquitetura de migraçãoEsta demonstração usa o AWS CloudFormation para criar uma topologia de rede simples para a migraçãodo banco de dados que inclui o banco de dados de origem, a instância de replicação e o banco de dadosde destino no mesmo VPC. Para obter mais informações sobre o AWS CloudFormation, consulte adocumentação do CloudFormation.

Provisionamos os recursos da AWS necessários para esta demonstração do AWS DMS por meio do AWSCloudFormation. Esses recursos incluem uma VPC, uma instância do Amazon RDS para Oracle e umcluster de Amazon Redshift. Provisionamos através do CloudFormation porque ele simplifica o processo.Assim, podemos nos concentrar em tarefas relacionadas à migração de dados. Quando você cria um stackde um modelo do CloudFormation, ele fornece os seguintes recursos:

• Um VPC com CIDR (10.0.0.0/24) com duas sub-redes públicas na sua região, DBSubnet1 no endereço10.0.0.0/26 na Zona de disponibilidade (AZ) 1 e DBSubnet2 no endereço 10.0.0.64/26 na Zona dedisponibilidade 12.

• Um grupo de sub-rede de banco de dados que inclui DBSubnet1 e DBSubnet2.• Oracle RDS Standard Edition Two com estas opções de implantação:

• Licença inclusa• Configuração Single-AZ• db.m3.medium ou classe de instância equivalente• Porta 1521

Versão da API 2016-01-01110

Page 115: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Arquitetura de migração

• Grupos de parâmetros e de opções padrão• O cluster do Amazon Redshift com estas opções de implantação:

• dc1.large• Porta 5439• Grupo de parâmetros padrão

• Um security group com acesso de entrada do seu computador ou 0.0.0.0/0 (acesso de qualquer lugar)baseado no parâmetro de entrada

Projetamos o modelo do CloudFormation para exigir poucas entradas do usuário. Ele provisiona osrecursos necessários da AWS com o mínimo de configurações recomendadas. Contudo, se você desejaalterar algumas das configurações e parâmetros, como o bloco CIDR do VPC e os tipos de instâncias doRDS VPC, sinta-se à vontade para atualizar o modelo.

Usamos o Console de Gerenciamento da AWS para provisionar os recursos do AWS DMS, como ainstância de replicação, os endpoints e as tarefas. Ferramentas de clientes como SQL Workbench/J eFerramenta de conversão de esquema da AWS (AWS SCT) são instaladas no seu computador local parase conectar a instâncias do Amazon RDS.

Veja a seguir uma ilustração da arquitetura de migração desta demonstração.

Versão da API 2016-01-01111

Page 116: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Passo a passo da migração

Passo a passo da migraçãoNas seções a seguir, você encontrará instruções passo a passo para migrar um Amazon RDS do banco dedados Oracle para o Amazon Redshift. Estas etapas supõem que você já preparou o seu banco de dadosde origem conforme descrito nas seções anteriores.

Tópicos• Etapa 1: executar as instâncias do RDS em um VPC usando o modelo do CloudFormation. (p. 112)• Etapa 2: instalar as ferramentas SQL e a Ferramenta de conversão de esquema da AWS no seu

computador local (p. 116)• Etapa 3: testar a conectividade à instância de banco de dados da Oracle e criar uma amostra de

schema. (p. 119)• Etapa 4: testar a conectividade ao banco de dados do Amazon Redshift (p. 123)• Etapa 5: usar a AWS SCT para converter o esquema do Oracle em Amazon Redshift (p. 124)• Etapa 6: validar a conversão de schema (p. 131)• Etapa 7: criar uma instância de replicação do AWS DMS (p. 132)• Etapa 8: criar endpoints de origem e de destino do AWS DMS (p. 133)• Etapa 9: criar e executar uma tarefa de migração do AWS DMS (p. 136)• Etapa 10: verificar se a migração de dados foi concluída com êxito (p. 140)• Etapa 11: excluir recursos de demonstração (p. 142)

Etapa 1: executar as instâncias do RDS em um VPCusando o modelo do CloudFormation.Antes de começar, você precisará fazer download de um modelo do AWS CloudFormation. Siga estasinstruções:

1. Faça download do seguinte arquivamento em seu computador: http://docs.aws.amazon.com/dms/latest/sbs/samples/dms-sbs-RDSOracle2Redshift.zip

2. Extraia o modelo do CloudFormation (Oracle_Redshift_For_DMSDemo.template) doarquivamento.

3. Copie e cole o arquivo Oracle_Redshift_For_DMSDemo.template para o diretório atual.

Agora é necessário provisionar os recursos necessários da AWS para esta demonstração.

Como usar o AWS CloudFormation para criar recursos do Amazon RDS para esta demonstração

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttps://console.aws.amazon.com/cloudformation.

2. Selecione Criar Stack.3. Na página Select Template (Selecionar modelo), selecione Upload a template to Amazon S3 (Fazer

upload de um modelo para o Amazon S3).4. Clique em Choose File (Escolher arquivo) e, em seguida, escolha o

Oracle_Redshift_For_DMSDemo.template arquivo que você extraiu do dms-sbs-RDSOracle2Redshift.zip arquivamento.

5. Escolha Next. Na página Specify Details, forneça os valores de parâmetro conforme mostrado aseguir.

Versão da API 2016-01-01112

Page 117: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

Para este parâmetro Faça o seguinte

Stack Name Digite OracletoRedshiftDWusingDMS.

OracleDBName Forneça um nome exclusivo para o seu banco de dados. Onome deve começar com uma letra. O padrão é ORCL.

OracleDBUsername Especifique o usuário administrador (DBA) para gerenciara instância do Oracle. O padrão é oraadmin.

OracleDBPassword Forneça a senha do usuário administrador. O padrão éoraadmin123

RedshiftDBName Forneça qualquer nome exclusivo para o seu banco dedados. O nome deve começar com uma letra. O padrão étest.

RedshiftDBUsername Forneça a senha do usuário mestre. O padrão éRedshift#123.

ClientIP Especifique o endereço IP em formato CIDR (x.x.x.x/32)do seu computador local. Você pode obter o endereçoIP em whatsmyip.org. O security group das instâncias doRDS permitirá a entrada nesse endereço IP. O padrãoé o acesso de qualquer lugar (0.0.0.0/0), o que não érecomendado. Você deve usar o endereço IP para estademonstração.

Versão da API 2016-01-01113

Page 118: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

6. Escolha Next. Na página Options, selecione Next.7. Na página Review, revise se os detalhes estão corretos e selecione Create.

Versão da API 2016-01-01114

Page 119: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: executar as instâncias do RDS emum VPC usando o modelo do CloudFormation.

Versão da API 2016-01-01115

Page 120: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

8. A AWS pode levar cerca de 20 minutos ou mais para criar um stack com uma instância Oracle doAmazon RDS e um cluster do Amazon Redshift.

9. Após criar o stack, selecione o stack OracletoRedshiftDWusingDMS e a exibição Outputs. Registre asstrings de conexão JDBC, OracleJDBCConnectionString e RedshiftJDBCConnectionString, para usarposteriormente na demonstração e conectar os bancos de dados Oracle e do Amazon Redshift.

Etapa 2: instalar as ferramentas SQL e a Ferramentade conversão de esquema da AWS no seucomputador localEm seguida, será necessário instalar um cliente SQL e a AWS SCT no seu computador local.

Esta demonstração supõe que você usará o cliente SQL Workbench/J para se conectar às instâncias doRDS e validar a migração.

Versão da API 2016-01-01116

Page 121: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

Como instalar o software cliente SQL

1. Baixe o SQL Workbench/J no site do SQL Workbench/J e instale-o no seu computador local. Essecliente SQL é gratuito, open-source e independente do DBMS.

2. Faça download do driver JDBC referente à versão de seu banco de dados Oracle. Para maisinformações, acesse https://www.oracle.com/jdbc.

3. Faça download do arquivo do driver Amazon Redshift, RedshiftJDBC41-1.1.17.1017.jar,conforme descrito a seguir.

a. Encontre o URL do Amazon S3 do arquivo nas Versões anteriores do driver JDBC do Guia degerenciamento de clusters do Amazon Redshift.

b. Faça download do driver conforme descrito em Download do driver JDBC do Amazon Redshift domesmo guia.

4. Usando o SQL Workbench/J, configure drivers JDBC para o Oracle e o Amazon Redshift paraconfigurar a conectividade, conforme descrito a seguir.

a. No SQL Workbench/J, selecione File e Manage Drivers.b. Na lista de drivers, selecione Oracle.c. Selecione o ícone Open e o arquivo ojdbc.jar que você baixou na etapa anterior. Escolha OK.

d. Na lista de drivers, selecione Redshift.e. Selecione o ícone Open e o driver JDBC do Amazon Redshift que você baixou na etapa anterior.

Escolha OK.

Versão da API 2016-01-01117

Page 122: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: instalar as ferramentas SQL e a Ferramenta deconversão de esquema da AWS no seu computador local

Em seguida, instale a AWS SCT e os drivers JDBC necessários.

Como instalar a AWS SCT e os drivers JDBC necessários

1. Baixe a AWS SCT em Installing and Updating the AWS Schema Conversion Tool, no Guia do usuárioda ferramenta de conversão de esquema da AWS.

2. Siga as instruções para instalar a AWS SCT. Por padrão, a ferramenta é instalada no diretório C:\Program Files\AWS Schema Conversion Tool\AWS.

3. Inicie a AWS SCT.4. Na AWS SCT, selecione Global Settings em Settings.5. Selecione Settings, Global Settings e Drivers. Em seguida, selecione Browse em Oracle Driver Path.

Localize o driver JDBC do Oracle e selecione OK.6. Selecione Browse em Amazon Redshift Driver Path. Localize o driver JDBC do Amazon Redshift e

selecione OK. Selecione OK para fechar a caixa de diálogo.

Versão da API 2016-01-01118

Page 123: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.Após a criação do stack do CloudFormation, teste a conexão à instância de banco de dados da Oracleusando o SQL Workbench/J e crie a amostra de schema HR.

Como testar a conexão à instância de banco de dados da Oracle usando o SQL Workbench/J ecriar a amostra de schema

1. No SQL Workbench/J, selecione File e Connect window. Crie um novo perfil de conexão usando asseguintes informações.

Para este parâmetro Faça o seguinte

Nome de New profile Digite RDSOracleConnection.

Driver Escolha Oracle (oracle.jdbc.OracleDriver).

Versão da API 2016-01-01119

Page 124: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

Para este parâmetro Faça o seguinte

URL Use o valor OracleJDBCConnectionString, que vocêregistrou quando examinou os detalhes de saída do stackDMSdemo em uma etapa anterior.

Username Digite oraadmin.

Password Digite oraadmin123.

2. Para testar a conexão, selecione Test. Selecione OK, para fechar a caixa de diálogo, e OK, para criaro perfil de conexão.

Versão da API 2016-01-01120

Page 125: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

Note

Se a sua conexão falhar, confirme se o endereço IP que você atribuiu ao criar o modelo doCloudFormation é o mesmo do qual está tentando se conectar. Esse é o problema maiscomum ao tentar se conectar a uma instância.

3. Crie o esquema SH que será usado na migração usando um script SQL personalizado(Oraclesalesstarschema.sql). Para obter esse script, faça o seguinte:

• Faça download do seguinte arquivamento em seu computador: http://docs.aws.amazon.com/dms/latest/sbs/samples/dms-sbs-RDSOracle2Redshift.zip

• Extraia o script SQL (Oraclesalesstarschema.sql) do arquivamento.• Copie e cole o arquivo Oraclesalesstarschema.sql para o diretório atual.

a. Abra o script SQL em um editor de textos. Copie o script inteiro.b. No SQL Workbench/J, cole o script SQL na janela Default.wksp que mostra Statement 1.c. Selecione SQL e Execute All.

Versão da API 2016-01-01121

Page 126: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: testar a conectividade à instância de bancode dados da Oracle e criar uma amostra de schema.

4. Verifique se os tipos e a contagem de objetos no schema SH foram criados com êxito executando aseguinte consulta SQL.

Select OBJECT_TYPE, COUNT(*) from dba_OBJECTS where owner='SH' GROUP BY OBJECT_TYPE;

Os resultados da consulta devem ser semelhantes aos seguintes.

Versão da API 2016-01-01122

Page 127: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 4: testar a conectividade ao

banco de dados do Amazon Redshift

OBJECT_TYPE | COUNT(*)----------------+---------INDEX PARTITION | 40TABLE PARTITION | 8TABLE | 5INDEX | 15

5. Verifique o número total de tabelas e o número de linhas de cada tabela executando a seguinteconsulta SQL.

Select table_name, num_rows from dba_tables where owner='SH' order by 1;

Os resultados da consulta devem ser semelhantes aos seguintes.

TABLE_NAME | NUM_ROWS-----------+---------CHANNELS | 5CUSTOMERS | 8PRODUCTS | 66PROMOTIONS | 503SALES | 553

6. Verifique a integridade em tabelas. Verifique o número de vendas feitas em canais diferentesexecutando a seguinte consulta SQL.

Select b.channel_desc,count(*) from SH.SALES a,SH.CHANNELS b where a.channel_id=b.channel_id group by b.channel_desc order by 1;

Os resultados da consulta devem ser semelhantes aos seguintes.

CHANNEL_DESC | COUNT(*)-------------+---------Direct Sales | 710Internet | 52Partners | 344

Note

Os exemplos anteriores representam consultas de validação. Ao executar migrações reais, énecessário desenvolver consultas semelhantes para validar o schema e a integridade dos dados.

Etapa 4: testar a conectividade ao banco de dados doAmazon RedshiftEm seguida, teste a conexão ao banco de dados do Amazon Redshift.

Como testar a conexão ao banco de dados do Amazon Redshift usando o SQL Workbench/J

1. No SQL Workbench/J, selecione File e Connect window. Selecione o ícone Create a new connectionprofile. Conecte-se ao banco de dados do Amazon Redshift no SQL Workbench/J usando asinformações mostradas a seguir.

Versão da API 2016-01-01123

Page 128: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Para este parâmetro Faça o seguinte

Nome de New profile Digite RedshiftConnection.

Driver Escolha Redshift(com.amazon.redshift.jdbc42.Driver).

URL Use o valor RedshiftJDBCConnectionString, que vocêregistrou quando examinou os detalhes de saída do stackDMSdemo em uma etapa anterior.

Username Digite redshiftadmin.

Password Digite Redshift#123.

2. Para testar a conexão, selecione Test. Selecione OK, para fechar a caixa de diálogo, e OK, para criaro perfil de conexão.

Note

Se a sua conexão falhar, confirme se o endereço IP que você atribuiu ao criar o modelo doCloudFormation é o mesmo do qual está tentando se conectar. Esse é o problema maiscomum ao tentar se conectar a uma instância.

3. Verifique a sua conectividade à instância do banco de dados do Amazon Redshift executando umcomando SQL de exemplo, como select current_date;.

Etapa 5: usar a AWS SCT para converter o esquemado Oracle em Amazon RedshiftAntes de migrar dados para o Amazon Redshift, converta o esquema do Oracle para um esquema doAmazon Redshift conforme descrito a seguir.

Versão da API 2016-01-01124

Page 129: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Como converter um esquema do Oracle em um esquema do Amazon Redshift usando a AWSSCT

1. Inicie a AWS SCT. Na AWS SCT, selecione File e New Project. Crie um novo projeto chamadoDWSchemaMigrationDemoProject. Insira as seguintes informações na janela New Project eselecione OK.

Para este parâmetro Faça o seguinte

Project Name Digite DWSchemaMigrationDemoProject.

Local Use a pasta padrão Projects e a opção padrão DataWarehouse (OLAP).

Source Database Engine Selecione Oracle DW.

Target Database Engine Escolha Amazon Redshift.

2. Selecione Connect to Oracle. Na caixa de diálogo Connect to Oracle, insira as seguintes informaçõese selecione Test Connection.

Para este parâmetro Faça o seguinte

Type Selecione SID.

Server name Use o valor OracleJDBCConnectionString, quevocê usou para se conectar à instância de bancode dados Oracle, mas remova as informações doprefixo JDBC e o sufixo do nome da porta e do bancode dados. Por exemplo, uma amostra de string deconexão usada no SQL Workbench/J pode ser "jdbc:oracle:thin:@abc12345678.cqi87654abc.us-west-2.rds.amazonaws.com:1521:ORCL". Em Servername, na AWS SCT, remova "jdbc:oracle:thin:@"

Versão da API 2016-01-01125

Page 130: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Para este parâmetro Faça o seguintee ":1521:ORCL" e use apenas o nome deservidor: "abc12345678.cqi87654abc.us-west-2.rds.amazonaws.com".

Server port Digite 1521.

Oracle SID Digite ORCL.

User name Digite oraadmin.

Password Digite oraadmin123.

3. Selecione OK, para fechar a caixa de alerta, e selecione OK, para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados Oracle. A estrutura do banco de dados na instância de bancode dados Oracle é exibida a seguir. Selecione somente o schema SH.

Note

Se o schema SH não aparecer na lista, selecione Actions e Refresh from Database.

4. Escolha Connect to Amazon Redshift. Na caixa de diálogo Connect to Amazon Redshift, insira asseguintes informações e selecione Test Connection.

Versão da API 2016-01-01126

Page 131: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Para este parâmetro Faça o seguinte

Type Selecione SID.

Server name Use o valor RedshiftJDBCConnectionString quevocê usou para se conectar ao cluster do AmazonRedshift, mas remova as informações do prefixoJDBC e o sufixo da porta. Por exemplo, uma amostrade string de conexão usada com SQL Workbench/Jpode ser " jdbc:redshift://oracletoredshiftdwusingdms-redshiftcluster-abc123567.abc87654321.us-west-2.redshift.amazonaws.com:5439/test".Em Server name, na AWS SCT, remova "jdbc:redshift://" e :5439/test" e use apenas onome do servidor: "oracletoredshiftdwusingdms-redshiftcluster-abc123567.abc87654321.us-west-2.redshift.amazonaws.com"

Server port Digite 5439.

User name Digite redshiftadmin.

Password Digite Redshift#123.

A AWS SCT analisa o esquema SH e cria um relatório de avaliação de migração de banco de dadossobre a conversão para o Amazon Redshift.

5. Selecione OK para fechar a caixa de alerta e selecione OK para fechar a caixa de diálogo e iniciar aconexão à instância de banco de dados do Amazon Redshift.

6. Na exibição Oracle DW, abra o menu de contexto (clique com o botão direito do mouse) do schemaSH e selecione Create Report.

7. Analise o resumo do relatório. Para salvar o relatório, selecione Save to CSV ou Save to PDF.

O relatório discute os tipos de objetos que podem ser convertidos usando a AWS SCT, além depossíveis problemas de migração e ações para solucioná-los. Nesta demonstração, você verá algoparecido com o seguinte.

Versão da API 2016-01-01127

Page 132: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Versão da API 2016-01-01128

Page 133: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

8. Selecione a guia Action Items. O relatório discute os tipos de objetos que podem ser convertidosusando a AWS SCT, além de possíveis problemas de migração e ações para solucioná-los. Nestademonstração, você verá algo parecido com o seguinte.

9. Abra o menu de contexto (clique com o botão direito do mouse) do item de SH, na lista de Schemas,e selecione Collect Statistics. A AWS SCT analisa os dados de origem para recomendar as melhoreschaves para o banco de dados de destino do Amazon Redshift. Para obter mais informações, consulteColetar ou atualizar estatísticas para a AWS Schema Conversion Tool.

10. Abra o menu de contexto (clique com o botão direito do mouse) do schema SH e selecione Convertschema.

11. Selecione Yes na mensagem de confirmação. Em seguida, a AWS SCT converterá o seu schemapara o formato do banco de dados de destino.

Versão da API 2016-01-01129

Page 134: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 5: usar a AWS SCT para convertero esquema do Oracle em Amazon Redshift

Note

A escolha das chaves de classificação e das chaves de distribuição do Amazon Redshift éessencial para obter o desempenho ideal. É possível usar o gerenciamento de chaves naAWS SCT para personalizar a escolha de chaves. Nesta demonstração, usamos os padrõesrecomendados pela AWS SCT. Para obter mais informações, consulte Otimizar o AmazonRedshift usando a AWS Schema Conversion Tool.

12. Na exibição do Amazon Redshift, abra o menu de contexto (clique com o botão direito do mouse) doesquema SH e selecione Apply to database para aplicar os scripts de esquema à instância de destinodo Amazon Redshift.

Versão da API 2016-01-01130

Page 135: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 6: validar a conversão de schema

13. Abra o menu de contexto (clique com o botão direito do mouse) do schema SH e selecione Refreshfrom Database para atualizar a partir do banco de dados de destino.

Assim, o schema de banco de dados é convertido e importado da origem para o destino.

Etapa 6: validar a conversão de schemaPara validar a conversão de esquema, compare os objetos encontrados nos bancos de dados Oracle eAmazon Redshift usando o SQL Workbench/J.

Como validar a conversão de schema usando o SQL Workbench/J

1. No SQL Workbench/J, selecione File e Connect window. Selecione o RedshiftConnection que vocêcriou em uma etapa anterior. Escolha OK.

2. Execute o seguinte script para verificar o número de tipos e a contagem de objetos no esquema SHno banco de dados Amazon Redshift de destino. Esses valores devem corresponder ao número deobjetos no banco de dados de origem Oracle.

SELECT 'TABLE' AS OBJECT_TYPE, TABLE_NAME AS OBJECT_NAME, TABLE_SCHEMA AS OBJECT_SCHEMAFROM information_schema.TABLESWHERE TABLE_TYPE = 'BASE TABLE'AND OBJECT_SCHEMA = 'sh';

A saída dessa consulta deve ser semelhante ao seguinte.

object_type | object_name | object_schema------------+-------------+--------------TABLE | channels | sh TABLE | customers | sh TABLE | products | sh TABLE | promotions | sh TABLE | sales | sh

3. Verifique as chaves de distribuição e classificação que são criadas no Amazon Redshift usando aseguinte consulta.

set search_path to '$user', 'public', 'sh';

SELECT tablename, "column", TYPE, encoding, distkey, sortkey, "notnull"FROM pg_table_defWHERE (distkey = TRUE OR sortkey <> 0);

Os resultados da consulta refletem as escolhas de chave de distribuição (distkey) e chave declassificação (sortkey) feitas usando o gerenciamento de chaves da AWS SCT.

tablename | column | type | encoding | distkey | sortkey | notnull-----------+---------------------+-----------------------------+----------+---------+---------+--------

Versão da API 2016-01-01131

Page 136: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 7: criar uma instância de replicação do AWS DMS

channels | channel_id | numeric(38,18) | none | true | 1 | true customers | cust_id | numeric(38,18) | none | false | 4 | true customers | cust_gender | character(2) | none | false | 1 | true customers | cust_year_of_birth | smallint | none | false | 3 | true customers | cust_marital_status | character varying(40) | none | false | 2 | false products | prod_id | integer | none | true | 4 | true products | prod_subcategory | character varying(100) | none | false | 3 | true products | prod_category | character varying(100) | none | false | 2 | true products | prod_status | character varying(40) | none | false | 1 | true promotions | promo_id | integer | none | true | 1 | true sales | prod_id | numeric(38,18) | none | false | 4 | true sales | cust_id | numeric(38,18) | none | false | 3 | true sales | time_id | timestamp without time zone | none | true | 1 | true sales | channel_id | numeric(38,18) | none | false | 2 | true sales | promo_id | numeric(38,18) | none | false | 5 | true

Etapa 7: criar uma instância de replicação do AWSDMSApós validarmos a estrutura de schema entre os bancos de dados de origem e de destino, como descritoanteriormente, prosseguimos para a principal parte desta demonstração: a migração de dados. A ilustraçãoa seguir mostra uma exibição detalhada do processo de migração.

Uma instância de replicação do DMS realiza a migração de dados em si entre a origem e o destino. Ainstância de replicação também armazena os logs de transação em cache durante a migração. A CPU ea capacidade de memória de uma instância de replicação influenciam o tempo geral necessário para amigração.

Como criar uma instância de replicação do AWS DMS

1. Faça login no Console de Gerenciamento da AWS, abra o console do AWS DMS em https://console.aws.amazon.com/dms/ e selecione Create Migration. Se você está conectado como usuáriodo AWS Identity and Access Management (IAM), deve ter as permissões apropriadas para acessar o

Versão da API 2016-01-01132

Page 137: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: criar endpoints deorigem e de destino do AWS DMS

AWS DMS. Para obter mais informações sobre as permissões necessárias, consulte IAM PermissionsNeeded to Use AWS DMS.

2. Selecione Create migration para iniciar uma migração de banco de dados.3. Na página Welcome, selecione Next.4. Na página Create replication instance, especifique as informações da instância de replicação,

conforme mostrado a seguir.

Para este parâmetro Faça o seguinte

Name Digite DMSdemo-repserver.

Descrição Digite uma descrição breve, por exemplo, DMS demoreplication server.

Instance class Selecione dms.t2.medium. Esta classe de instância égrande o suficiente para migrar um pequeno conjunto detabelas.

VPC Selecione OracletoRedshiftusingDMS, que é a VPCcriada pelo stack do CloudFormation.

Multi-AZ Escolha No.

Publicly accessible Deixe este item selecionado.

5. Na seção Advanced, deixe as configurações padrão como estão e selecione Next.

Etapa 8: criar endpoints de origem e de destino doAWS DMSEnquanto a instância de replicação está sendo criada, é possível especificar os endpoints de origem e dedestino do banco de dados usando o Console de Gerenciamento da AWS. Contudo, você só pode testar aconectividade depois de a instância de replicação ser criada, porque ela é usada na conexão.

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

1. Especifique as suas informações de conexão para o banco de dados de origem Oracle e o banco dedados de destino do Amazon Redshift. A tabela a seguir descreve as configurações de origem.

Para este parâmetro Faça o seguinte

Endpoint Identifier Digite Orasource (o endpoint Oracle do Amazon RDS).

Source Engine Selecione oracle.

Server name Forneça o nome da instância do banco de dados Oracle.Este nome é o valor de Server name que você usoupara a AWS SCT, como "abc123567.abc87654321.us-west-2.rds.amazonaws.com".

Port Digite 1521.

SSL mode Selecione None.

Versão da API 2016-01-01133

Page 138: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: criar endpoints deorigem e de destino do AWS DMS

Para este parâmetro Faça o seguinte

Username Digite oraadmin.

Password Digite oraadmin123.

SID Digite ORCL.

A tabela a seguir descreve as configurações de destino.

Para este parâmetro Faça o seguinte

Endpoint Identifier Tipo Redshifttarget (o endpoint Amazon Redshift).

Target Engine Selecione redshift.

Servername Informe o nome da instância do banco de dadosdo Amazon Redshift. Este nome é o valor deServer name que você usou para a AWS SCT,como "oracletoredshiftdwusingdms-redshiftcluster-abc123567.abc87654321.us-west-2.redshift.amazonaws.com"..

Port Digite 5439.

SSL mode Selecione None.

Username Digite redshiftadmin.

Password Digite Redshift#123.

Database name Digite test.

A página completa se parecerá com o seguinte.

Versão da API 2016-01-01134

Page 139: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 8: criar endpoints deorigem e de destino do AWS DMS

2. Aguarde o status Replication instance created successfully.3. Para testar as conexões de origem e de destino, selecione Run Test para as conexões de origem e de

destino.4. Escolha Next.

Versão da API 2016-01-01135

Page 140: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

Etapa 9: criar e executar uma tarefa de migração doAWS DMSUsando uma tarefa do AWS DMS, é possível especificar o esquema a ser migrado e o tipo de migração.É possível migrar dados existentes, migrar dados existentes e replicar alterações contínuas ou replicarsomente alterações de dados. Esta demonstração migra apenas dados existentes.

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 este parâmetro Faça o seguinte

Task name Digite migrateSHschema.

Replication instance Mostra DMSdemo-repserver (instância de replicação doAWS DMS criada em uma etapa anterior).

Source endpoint Mostra orasource (o Amazon RDS do endpoint doOracle).

Target endpoint Mostra redshifttarget (o endpoint Amazon Redshift).

Migration type Selecione a opção Migrate existing data.

Start task on create Escolha esta opção.

A página se parecerá com o seguinte.

Versão da API 2016-01-01136

Page 141: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

2. Na seção Task Settings, especifique as configurações conforme mostrado na tabela a seguir.

Para este parâmetro Faça o seguinte

Target table preparation mode Selecione Do nothing.

Include LOB columns in replication Selecione Limited LOB mode.

Max LOB size (kb) Aceite o padrão (32).

A seção se parecerá com o seguinte.

Versão da API 2016-01-01137

Page 142: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

3. Na seção Selection rules, especifique as configurações conforme exibido na tabela a seguir.

Para este parâmetro Faça o seguinte

Schema name is Escolha Enter a schema.

Schema name is like Digite SH%.

Table name is like Digite %.

Ação Escolha Include.

A seção se parecerá com o seguinte:

Versão da API 2016-01-01138

Page 143: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 9: criar e executar umatarefa de migração do AWS DMS

4. Selecione Add selection rule.5. Escolha Create task.

5. Escolha Create task. A tarefa inicia imediatamente. A seção Tasks mostra o status da tarefa demigração.

Versão da API 2016-01-01139

Page 144: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 10: verificar se a migraçãode dados foi concluída com êxito

Etapa 10: verificar se a migração de dados foiconcluída com êxitoQuando a tarefa de migração é concluída, é possível comparar os resultados da tarefa com os resultadosesperados.

Como comparar os resultados da tarefa de migração com os resultados esperados

1. No painel de navegação, selecione Tasks.2. Selecione a tarefa de migração (migrateSHschema).3. Selecione a guia Table statistics, conforme mostrado a seguir.

Versão da API 2016-01-01140

Page 145: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoEtapa 10: verificar se a migraçãode dados foi concluída com êxito

4. Conecte-se à instância do Amazon Redshift usando o SQL Workbench/J e verifique se as tabelas debanco de dados foram migradas com êxito do Oracle para o Amazon Redshift, executando o scriptSQL mostrado a seguir.

select "table", tbl_rowsfrom svv_table_infowhereSCHEMA = 'sh'

Versão da API 2016-01-01141

Page 146: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 11: excluir recursos de demonstração

order by 1;

Os resultados terão uma aparência semelhante a esta:

table | tbl_rows-----------+---------channels | 5customers | 8products | 66promotions | 503sales | 1106

5. Para verificar se a saída de tabelas e o número de linhas da consulta anterior corresponde aoesperado do Oracle do RDS, compare os resultados aos resultados das etapas anteriores.

6. Execute a seguinte consulta para verificar a relação em tabelas. Ela verifica os departamentos commais de 10 funcionários.

Select b.channel_desc,count(*) from SH.SALES a,SH.CHANNELS b where a.channel_id=b.channel_id group by b.channel_desc order by 1;

A saída dessa consulta deve ser semelhante ao seguinte.

channel_desc | count-------------+------Direct Sales | 355Internet | 26Partners | 172

7. Verifique a codificação de compactação de colunas.

O DMS usa uma operação COPY do Amazon Redshift para carregar dados. Por padrão, o comandoCOPY aplica a compactação automática sempre que carrega para uma tabela de destino vazia.Os dados de amostra desta demonstração não são grandes o suficiente para que a compactaçãoautomática seja aplicada. Quando conjuntos de dados maiores são migrados, COPY aplica acompactação automática.

Para obter mais detalhes sobre a compactação automática em tabelas do Amazon Redshift, consulteCarregamento de tabelas com compactação automática.

Para visualizar codificações de compactação, execute a seguinte consulta.

SELECT *FROM pg_table_defWHERE schemaname = 'sh’;

Agora, você concluiu com êxito uma migração de banco de dados de uma instância de banco de dadosOracle do Amazon RDS para o Amazon Redshift.

Etapa 11: excluir recursos de demonstraçãoApós concluir esta demonstração, siga as seguintes etapas para evitar mais cobranças por recursos daAWS usados nela. É necessário que você realize as etapas na ordem, porque alguns recursos não podemser excluídos quando dependem de outro recurso.

Versão da API 2016-01-01142

Page 147: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Próximas etapas

Como excluir os recursos do AWS DMS

1. No painel de navegação, selecione Tasks, escolha a tarefa de migração (migratehrschema) eDelete.

2. No painel de navegação, selecione Endpoints, escolha o endpoint de origem do Oracle (orasource)e Delete.

3. Selecione o endpoint de destino do Amazon Redshift (redshifttarget) e Delete.4. No painel de navegação, selecione Replication instances, escolha a instância de replicação

(DMSdemo-repserver) e Delete.

Em seguida, exclua o stack do AWS CloudFormation, DMSdemo.

Como excluir o stack do AWS CloudFormation

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttps://console.aws.amazon.com/cloudformation.

Se você está conectado como usuário do IAM, deve ter as permissões apropriadas para acessar oAWS CloudFormation.

2. Selecione o stack do CloudFormation, OracletoRedshiftDWusingDMS.3. Em Actions, selecione Delete stack.

O status do stack é alterado para DELETE_IN_PROGRESS, enquanto o AWS CloudFormation limpa osrecursos associados ao stack OracletoRedshiftDWusingDMS. Quando o AWS CloudFormation terminade limpar recursos, ele remove o stack da lista.

Próximas etapasÉ possível explorar vários outros recursos do AWS DMS que não foram incluídos nesta demonstração,como os seguintes:

• O recurso de captura de dados de alteração (CDC) do AWS DMS para replicação contínua de dados.• Ações de transformação que permitem especificar e aplicar transformações ao schema ou à tabela

selecionada como parte do processo de migração.

Para obter mais informações, consulte a documentação do AWS DMS.

Versão da API 2016-01-01143

Page 148: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Migração de bancos de dadoscompatíveis com MySQL para a AWS

A Amazon Web Services (AWS) tem vários serviços que permitem que você execute um banco de dadoscompatível com MySQL nela. O Amazon Relational Database Service (Amazon RDS) oferece suporte abancos de dados compatíveis com o MySQL, incluindo MySQL, MariaDB e Amazon Aurora MySQL. OAWS Elastic Cloud Computing Service (EC2) fornece plataformas para a execução de bancos de dadoscompatíveis com MySQL.

Migração a partir de Solução

Uma instância de banco dedados MySQL do RDS

Você pode migrar dados diretamente de um DB snapshot MySQL doAmazon RDS para um cluster de banco de dados do Amazon AuroraMySQL. Para obter mais detalhes, consulte Migração de dados de uminstância de banco de dados MySQL do Amazon RDS para um clusterde banco de dados do Amazon Aurora MySQL (p. 156).

Um banco de dados MySQLexterno para o Amazon RDS

Se o seu banco de dados é compatível com tablespaces InnoDB ouMyISAM, estas são as opções para migrar os dados para um cluster debanco de dados do Amazon Aurora MySQL:

• Você pode criar um despejo dos seus dados usando o utilitáriomysqldump e importando os dados para um cluster existente debanco de dados do Amazon Aurora MySQL.

• Você pode copiar arquivos de origem do seu banco de dados em umbucket do Amazon Simple Storage Service (Amazon S3) e restaurarum cluster de banco de dados Amazon Aurora MySQL dessesarquivos. Essa opção pode ser considerada mais rápida do quemigrar dados usando mysqldump.

Para obter mais detalhes, consulte Migrar do MySQL para o AmazonAurora MySQL usando o mysqldump (p. 156).

Um banco de dados nãocompatível com MySQL

Também é possível usar o AWS Database Migration Service(AWS DMS) para migrar dados de um banco de dados MySQL. Noentanto, para bancos de dados muito grandes, é possível reduzirconsideravelmente o tempo de migração dos dados. Basta copiaros arquivos de origem do banco de dados e restaurá-los para umainstância de banco de dados do Amazon Aurora MySQL, conformedescrito em Migração de dados de um banco de dados MySQL externopara um Amazon Aurora MySQL usando o Amazon S3 (p. 145).

Para obter mais informações sobre o AWS DMS, consulte O que é oAWS Database Migration Service?

Versão da API 2016-01-01144

Page 149: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Migração de dados de um banco de dados MySQL externopara um Amazon Aurora MySQL usando o Amazon S3

Migração de um banco de dadoscompatível com MySQL para oAmazon Aurora MySQL

Se o seu banco de dados é compatível com tablespaces InnoDB ou MyISAM, estas são as opções paramigrar os dados para um cluster de banco de dados do Amazon Aurora MySQL:

• Você pode criar um despejo dos seus dados usando o utilitário mysqldump e importando os dadospara um cluster existente de banco de dados do Amazon Aurora MySQL. Para obter mais informações,consulte Migrar do MySQL para o Amazon Aurora MySQL usando o mysqldump (p. 156).

• Você pode copiar arquivos de origem do seu banco de dados em um bucket do Amazon S3 e restaurarum cluster de banco de dados Amazon Aurora MySQL desses arquivos. Essa opção pode serconsiderada mais rápida do que migrar dados usando mysqldump. Para obter mais informações,consulte Migração de dados de um banco de dados MySQL externo para um Amazon Aurora MySQLusando o Amazon S3 (p. 145).

Migração de dados de um banco de dados MySQLexterno para um Amazon Aurora MySQL usando oAmazon S3

É possível copiar os arquivos de origem do seu banco de dados de origem MySQL versão 5.5, 5.6 ou 5.7para um bucket do Amazon S3 e restaurar um cluster de banco de dados do Amazon Aurora MySQL combase nesses arquivos.

Essa opção pode ser considerada mais rápida do que migrar dados usando mysqldump, pois usar omysqldump repete todos os comandos para recriar o esquema e os dados do seu banco de dados deorigem no novo cluster de banco de dados do Amazon Aurora MySQL. Ao copiar os arquivos de dados deorigem MySQL, o Amazon Aurora MySQL pode usá-los imediatamente como dados para um cluster debanco de dados.

Note

Restaurar um cluster de banco de dados do Amazon Aurora MySQL de arquivos de backup emum bucket do Amazon S3 não é compatível com a região Ásia Pacífico (Mumbai).

O Amazon Aurora MySQL não restaura todo o conteúdo do seu banco de dados. Você deverá salvar oesquema do banco de dados e os valores dos itens a seguir do banco de dados de origem MySQL ouMariaDB e adicioná-los ao seu cluster de banco de dados Amazon Aurora MySQL restaurado após ele sercriado.

• Contas de usuário• Funções• Procedimentos armazenados• Informações de fuso horário. As informações de fuso horário são carregadas do sistema operacional

local do seu cluster de banco de dados do Amazon Aurora MySQL.

Versão da API 2016-01-01145

Page 150: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

Pré-requisitosAntes de copiar os seus dados para um bucket do Amazon S3 e restaurar um cluster de banco de dadosdesses arquivos, faça o seguinte:

• Instale o Percona XtraBackup no seu servidor local.• Permita que o Amazon Aurora MySQL acesse o seu bucket do Amazon S3 em seu nome.

Instalação do Percona XtraBackupO Amazon Aurora MySQL pode restaurar um cluster de banco de dados de arquivos criados como Percona XtraBackup. Você pode instalar o Percona XtraBackup pelo site da Percona em https://www.percona.com/doc/percona-xtrabackup/2.4/installation.

Permissões obrigatóriasPara migrar os dados do MySQL para um cluster de banco de dados do Amazon Aurora MySQL, sãonecessárias várias permissões:

• O usuário que está solicitando que o Amazon RDS crie um novo cluster de um bucket do Amazon S3deve ter permissão para listar os buckets da sua conta da AWS Você concede essa permissão aousuário usando uma política do AWS Identity and Access Management (IAM).

• O Amazon RDS exige permissão para atuar em seu nome e acessar o bucket do Amazon S3 em quevocê armazena os arquivos usados para criar o cluster de banco de dados do Amazon Aurora MySQL.Você concede ao Amazon RDS as permissões necessárias usando uma função de serviço do IAM.

• O usuário que faz a solicitação também deve ter permissão para listar as funções IAM da sua conta daAWS.

• Se o usuário que fizer a solicitação for criar a função de serviço do IAM ou solicitar que o Amazon RDS ofaça (usando o console), deverá ter permissão para criar uma função do IAM para a sua conta da AWS.

Por exemplo, a seguinte política do IAM concede a um usuário as permissões mínimas necessárias parausar o console para listar funções IAM, criar uma função IAM e listar os buckets do S3 da sua conta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "s3:ListBucket", "s3:ListObjects" ], "Resource": "*" } ]}

Além disso, para um usuário associar uma função IAM a um bucket do S3, ele deve ter a permissãoiam:PassRole para aquela função IAM. Essa permissão autoriza que um administrador restrinja asfunções IAM que um usuário pode associar a buckets do S3.

Versão da API 2016-01-01146

Page 151: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Pré-requisitos

Por exemplo, a seguinte política do IAM permite que um usuário associe a função chamada S3Access aum bucket do S3.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowS3AccessRole", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::123456789012:role/S3Access" } ]}

Criação de uma função de serviço do IAMPara o Console de Gerenciamento do Amazon RDS criar uma função para você, selecione a opção Createa New Role (mostrada posteriormente neste tópico). Se você selecionar essa opção e especificar um nomepara a nova função, o Amazon RDS criará a função de serviço do IAM necessária para o Amazon RDSacessar o bucket do S3 com o nome que você forneceu.

Você também pode criar a função manualmente usando o procedimento seguinte.

Como criar uma função do IAM para o Amazon RDS acessar o Amazon S3

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação à esquerda, escolha Roles.3. Escolha Create New Role, especifique um valor para Role Name para a nova função e selecione Next

Step.4. Em AWS Service Roles, localize o Amazon RDS e selecione Select.5. Não selecione uma política para anexar à etapa Attach Policy. Em vez disso, escolha Next Step.6. Revise as informações da sua função e selecione Create Role.7. Na lista de funções, escolha o nome da função recém-criada. Escolha a guia Permissions.8. Selecione Inline Policies. Como a sua nova função não tem nenhuma política anexada, você será

solicitado a criar uma. Clique no link para criar uma nova política.9. Na página Set Permissions, selecione Custom Policy e Select.10. Digite um Policy Name, como S3-bucket-policy. Adicione o seguinte código a Policy Document,

substituindo <bucket name> pelo nome do bucket do S3 ao qual você está permitindo acesso.

Como parte do documento de política, você também pode incluir um prefixo de nome de arquivo. Sevocê especificar um prefixo, o Amazon Aurora MySQL criará um cluster de banco de dados usandoos arquivos no bucket do S3 que começam com o prefixo especificado. Se você não especificar umprefixo, o Amazon Aurora MySQL criará um cluster de banco de dados usando todos os arquivos nobucket do S3.

Para especificar um prefixo, substitua <prefix> pelo prefixo dos nomes dos seus arquivos. Inclua oasterisco (*) após o prefixo. Se não quiser especificar um prefixo, especifique apenas um asterisco.

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

Versão da API 2016-01-01147

Page 152: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 1: fazer o backup de arquivos a seremrestaurados como um cluster de banco de dados

"Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/<prefix>*" ] } ]}

11. Selecione Apply Policy.

Etapa 1: fazer o backup de arquivos a seremrestaurados como um cluster de banco de dadosPara criar um backup dos arquivos do banco de dados MySQL que podem ser restaurados do S3 paracriar um cluster de banco de dados do Amazon Aurora MySQL, use o utilitário Percona Xtrabackup(innobackupex) para fazer backup do seu banco de dados.

Por exemplo, o seguinte comando cria um backup de um banco de dados MySQL e armazena os arquivosna pasta /s3-restore/backup.

innobackupex --user=myuser --password=<password> --no-timestamp /s3-restore/backup

Se você deseja compactar o backup em um único arquivo (que pode ser dividido, se necessário), use aopção --stream para salvar o backup em um dos seguintes formatos:

• Gzip (.gz)• tar (.tar)• Percona xbstream (.xbstream)

Por exemplo, o seguinte comando cria um backup do seu banco de dados MySQL dividido em váriosarquivos Gzip. Os valores de parâmetro mostrados são para um pequeno teste do banco de dados; para oseu cenário, determine os valores de parâmetro necessários.

innobackupex --user=myuser --password=<password> --stream=tar \ /mydata/s3-restore/backup | split -d --bytes=512000 \ - /mydata/s3-restore/backup3/backup.tar.gz

Por exemplo, o seguinte comando cria um backup do seu banco de dados MySQL dividido em váriosarquivos .tar.

innobackupex --user=myuser --password=<password> --stream=tar \ /mydata/s3-restore/backup | split -d --bytes=512000 \ - /mydata/s3-restore/backup3/backup.tar

Versão da API 2016-01-01148

Page 153: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 2: copiar arquivos para um bucket do Amazon S3

Por exemplo, o seguinte comando cria um backup do seu banco de dados MySQL dividido em váriosarquivos xbstream.

innobackupex --stream=xbstream \ /mydata/s3-restore/backup | split -d --bytes=512000 \ - /mydata/s3-restore/backup/backup.xbstream

O Amazon S3 limita o tamanho de um arquivo carregado em um bucket a 5 terabytes (TB). Se os dadosde backup do seu banco de dados ultrapassarem 5 TB, você deverá usar o comando split para dividir osarquivos de backup em vários arquivos com menos de 5 TB cada.

O Amazon Aurora MySQL não é compatível com backups parciais criados com o Percona Xtrabackup.Você não pode usar as opções --include, --tables-file ou --databases para criar um backupparcial quando faz backup dos arquivos de origem para o seu banco de dados.

Para obter mais informações, consulte o script innobackupex.

O Amazon Aurora MySQL consome seus arquivos de backup com base no nome do arquivo. Renomeieseus arquivos de backup com a extensão de arquivo apropriada com base no formato do arquivo — como.xbstream para arquivos armazenados usando o formato Percona xbstream, por exemplo.

O Amazon Aurora MySQL consome os arquivos de backup na ordem alfabética assim como na ordemnumérica natural. Sempre use a opção split ao emitir o comando innobackupex para garantir que osarquivos de backup sejam gravados e nomeados na ordem apropriada.

Etapa 2: copiar arquivos para um bucket do AmazonS3Após fazer o backup do seu banco de dados MySQL usando o utilitário Percona Xtrabackup, você poderácopiar os arquivos de backup para um bucket do Amazon S3.

Para obter informações sobre a criação e o upload de um arquivo para um bucket do Amazon S3, consulteConceitos básicos do Amazon Simple Storage Service no Guia de conceitos básicos do Amazon S3.

Etapa 3: restaurar um cluster de banco de dados doAurora MySQL de um bucket do Amazon S3É possível restaurar os arquivos de backup do bucket do Amazon S3 para criar outro cluster de banco dedados do Amazon Aurora MySQL usando o console do Amazon RDS.

Como restaurar um cluster de banco de dados do Amazon Aurora MySQL de arquivos em umbucket do S3

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

2. No painel do RDS, selecione Restaurar cluster de banco de dados do Aurora MySQL do S3.3. Em Specify Source Backup Details, especifique o seguinte:

Para esta opção Faça o seguinte

Source Engine No momento, o Amazon Aurora MySQL oferece suporteapenas à restauração de arquivos de backup para omecanismo de banco de dados mysql.

Versão da API 2016-01-01149

Page 154: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

Para esta opção Faça o seguinte

Source Engine Version Especifique a versão do banco de dados MySQL deonde os arquivos de backup foram criados, por exemplo5.6.22. Há suporte para as versões 5.5, 5.6 e 5.7 doMySQL.

Select S3 Bucket Selecione o bucket do Amazon S3 em que os seusarquivos de backup estão armazenados.

S3 Bucket Prefix (Optional) Especifique um prefixo de caminho de arquivo para osarquivos armazenados no seu bucket do Amazon S3.O S3 Bucket Prefix é opcional. Se você não especificarum prefixo, o Amazon Aurora MySQL criará um clusterde banco de dados usando todos os arquivos na pastaraiz do bucket do S3. Se você especificar um prefixo, oAmazon Aurora MySQL criará um cluster de banco dedados usando os arquivos no bucket do S3 em que ocaminho completo para o arquivo começa com o prefixoespecificado.

O Amazon Aurora MySQL não atravessa subpastas nobucket do S3 procurando arquivos de backup. Somente osarquivos da pasta identificada pelo S3 Bucket Prefix sãousados. Se você armazena os arquivos de backup em umasubpasta no bucket do S3, é necessário especificar umprefixo que identifique o caminho completo para a pastaonde os arquivos são armazenados.

Se você armazena os arquivos de backup em umasubpasta no bucket do S3 chamada backups e temvários conjuntos de arquivos de backup, cada um em seupróprio diretório (gzip_backup1, gzip_backup2, eassim por diante), especifique um prefixo de backups/gzip_backup1 para restaurar dos arquivos na pastagzip_backup1.

IAM Role Selecione a função do IAM que você criou para autorizaro Amazon Aurora MySQL a acessar o Amazon S3 emseu nome. Se você não criou uma função IAM, selecioneCreate a New Role para criar uma.

4. Escolha Next Step.5. Na página Specify DB Details, especifique as informações de cluster de banco de dados. A tabela a

seguir mostra configurações para uma instância de banco de dados.

Para esta opção Faça o seguinte

Classe da instância de banco dedados

Selecione uma classe de instância de banco de dadosque defina os requisitos de processamento e memóriapara cada instância no cluster de banco de dados. OAurora MySQL é compatível com as classes de instânciasde banco de dados db.r3.large, db.r3.xlarge,db.r3.2xlarge, db.r3.4xlarge e db.r3.8xlarge.Para obter mais informações sobre opções de classe deinstância de banco de dados, consulte a documentação doAmazon RDS.

Versão da API 2016-01-01150

Page 155: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

Para esta opção Faça o seguinte

Multi-AZ Deployment Determine se você deseja criar réplicas do Aurora MySQLem outras Zonas de disponibilidade para suporte a failover.Para obter mais informações sobre várias Zonas dedisponibilidade, consulte a documentação do AmazonRDS.

DB Instance Identifier Digite um nome para a instância primária no seu clusterde banco de dados. Esse identificador será utilizado noendereço do endpoint da instância primária do seu clusterde banco de dados.

O DB instance identifier tem as seguintes restrições:

• Deve conter de 1 a 63 caracteres alfanuméricos ouhífens.

• O primeiro caractere deve ser uma letra.• Não pode terminar com um hífen ou conter dois hifens

consecutivos.• Deve ser exclusivo para todas as instâncias de banco de

dados por conta da AWS, por região.

Master Username Digite um nome usando caracteres alfanuméricos queserá usado como o nome do usuário principal para fazerlogon no cluster de banco de dados. Os privilégios padrãoconcedidos à conta de nome do usuário mestre incluem:create, drop, references, event, alter,delete, index, insert, select, update,create temporary tables, lock tables,trigger, create view, show view, alterroutine, create routine, execute, createuser, process, show databases, grant option.

Senha mestre Digite uma senha que contenha de 8 a 41 caracteres ASCIIimprimíveis (exceto /, " e @) como sua senha de usuárioprincipal.

Uma página Specify DB Details comum se parece com o seguinte.

Versão da API 2016-01-01151

Page 156: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

6. Confirme a sua senha mestre e selecione Next.7. Na página Configure Advanced Settings (Definir configurações avançadas), você pode personalizar

configurações adicionais para o cluster de banco de dados do Aurora MySQL. A tabela a seguirmostra as configurações avançadas de um cluster de banco de dados.

Para esta opção Faça o seguinte

VPC Selecione o VPC que hospedará o cluster de banco dedados. Selecione Create a New VPC (Criar uma novaVPC) para o Amazon RDS criar uma VPC para você. Paraobter mais informações, consulte a parte anterior destetópico.

Subnet Group Selecione o grupo de sub-rede de banco de dados parausar para o cluster de banco de dados. Selecione Create aNew DB Subnet Group (Criar um novo grupo de sub-redede banco de dados) para o Amazon RDS criar um grupo desub-rede de banco de dados para você. Para obter maisinformações, consulte a parte anterior deste tópico.

Publicly Accessible Selecione Yes para dar um endereço IP público aocluster de banco de dados; do contrário, selecione No.As instâncias no seu cluster de banco de dados podemser uma combinação de instâncias de banco de dadospúblicas e privadas. Para obter mais informações sobre

Versão da API 2016-01-01152

Page 157: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

Para esta opção Faça o seguintea ocultação de instâncias do acesso público, consulte adocumentação do Amazon RDS.

Availability Zone Determine se você deseja especificar uma Zona dedisponibilidade específica. Para obter mais informaçõessobre zonas de disponibilidade, consulte a documentaçãodo Amazon RDS.

VPC Security Group(s) Selecione um ou mais security groups de VPC paraproteger o acesso de rede ao cluster de banco de dados.Selecione Create a New VPC Security Group (Criar umgrupo de segurança da VPC) para o Amazon RDS criar umgrupo de segurança da VPC para você. Para obter maisinformações, consulte a parte anterior deste tópico.

DB Cluster Identifier Insira um nome para o cluster de banco de dados exclusivoda sua conta na região selecionada. Esse identificadorserá utilizado no endereço de cluster do endpoint do seucluster de banco de dados. Para obter informações sobre oendpoint do cluster, consulte a documentação do AmazonRDS.

O identificador do cluster de banco de dados tem asseguintes restrições:

• Deve conter de 1 a 63 caracteres alfanuméricos ouhífens.

• O primeiro caractere deve ser uma letra.• Não pode terminar com um hífen ou conter dois hifens

consecutivos.• Deve ser exclusivo para todos os clusters de banco de

dados por conta da AWS, por região.

Database Name Digite um nome para o seu banco de dados com até 8caracteres alfanuméricos. Se não for fornecido um nome, oAmazon RDS não criará um banco de dados no cluster debanco de dados que você está criando.

Database Port Especifique a porta que os aplicativos e os utilitáriosusarão para acessar o banco de dados. Os clusters debanco de dados do Aurora MySQL são definidos para aporta padrão do MySQL, 3306. Os firewalls em algumasempresas bloqueiam conexões à porta padrão do MySQL.Se o firewall da sua empresa bloquear a porta padrão,escolha outra porta para o novo cluster de banco de dados.

Parameter Group Selecione um parameter group. Você pode usar umparameter group padrão de banco de dados do AuroraMySQL. Outra possibilidade é criar seu próprio parametergroup de banco de dados. Para obter mais informaçõessobre grupos de parâmetros, consulte a documentação doAmazon RDS.

Versão da API 2016-01-01153

Page 158: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

Para esta opção Faça o seguinte

Option Group Selecione um grupo de opções. O Aurora MySQL temum grupo de opções padrão que você pode usar. Sepreferir, crie o seu próprio grupo de opções. Para obtermais informações sobre grupos de opções, consulte adocumentação do Amazon RDS.

Enable Encryption Selecione Yes para habilitar a criptografia em repousopara esse cluster de banco de dados. Para obter maisinformações, consulte a documentação do Amazon RDS.

Priority Escolha uma prioridade de failover para a instância. Sevocê não selecionar um valor, o padrão será tier-1. Essaprioridade determina a ordem em que as réplicas doAurora MySQL são promovidas durante a recuperaçãode uma falha de instância primária. Para obter maisinformações, consulte a documentação do Amazon RDS.

Backup Retention Period Selecione o tempo, de 1 a 35 dias, em que o AuroraMySQL reterá as cópias de backup do banco de dados.As cópias de backup podem ser usadas para restauraçõespontuais (PITR) do banco de dados, contabilizando até ossegundos.

Enable Enhanced Monitoring Selecione Yes para habilitar a coleta de métricas em temporeal do sistema operacional em que o cluster de banco dedados é executado. Para obter mais informações, consultea documentação do Amazon RDS.

Granularity Esta opção só está disponível quando Enable EnhancedMonitoring está definido como Yes. Defina o intervalo,em segundos, entre as horas em que as métricas sãocoletadas para o seu cluster de banco de dados.

Atualização de versão do Auto Minor Selecione Yes se quiser permitir que o cluster de bancode dados do Aurora MySQL receba automaticamenteatualizações secundárias de versão do mecanismo debanco de dados MySQL quando estiverem disponíveis.

A opção Auto Minor Version Upgrade (Atualizaçãoautomática de versão secundária) aplica-se apenas aatualizações de versões secundárias de mecanismosMySQL do seu cluster de banco de dados do AmazonAurora MySQL. Ela não se aplica a patches regularesaplicados para manter a estabilidade do sistema.

Maintenance Window Selecione o intervalo de tempo semanal durante o qualpode ocorrer manutenção.

Uma página Configure Advanced Settings comum se parece com o seguinte.

Versão da API 2016-01-01154

Page 159: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Etapa 3: restaurar um cluster de banco de dadosdo Aurora MySQL de um bucket do Amazon S3

Versão da API 2016-01-01155

Page 160: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigrar do MySQL para o Amazon

Aurora MySQL usando o mysqldump8. Selecione Launch DB Instance (Executar instância de banco de dados) para executar a instância de

banco de dados do Aurora MySQL e Close (Fechar) para fechar o assistente.

No console do Amazon RDS, a nova instância de banco de dados é exibida na lista de instâncias debanco de dados. A instância de banco de dados fica com o status creating (criando) até que estejacriada e pronta para uso. Quando o status for alterado para available, você poderá se conectar àinstância primária do seu cluster de banco de dados. Dependendo da classe da instância de bancode dados e do armazenamento alocado, pode levar alguns minutos até que a nova instância fiquedisponível.

Para visualizar o cluster que acabou de ser criado, selecione a exibição Clusters no console doAmazon RDS. Para obter mais informações, consulte a documentação do Amazon RDS.

Observe a porta e o endpoint do cluster. Use o endpoint e a porta do cluster nas suas strings deconexão JDBC e ODBC para qualquer aplicativo que realize operações de gravação ou leitura.

Migrar do MySQL para o Amazon Aurora MySQLusando o mysqldump

Você pode criar um despejo dos seus dados usando o utilitário mysqldump e importando os dados paraum cluster existente de banco de dados do Amazon Aurora MySQL.

Como o Amazon Aurora MySQL é um banco de dados compatível com MySQL, você pode usar o utilitáriomysqldump para copiar dados do banco de dados MySQL ou MariaDB para um cluster de banco de dadosexistente do Amazon Aurora MySQL.

Migração de dados de um instância de banco dedados MySQL do Amazon RDS para um cluster debanco de dados do Amazon Aurora MySQL

É possível migrar (copiar) dados de um snapshot do Amazon Aurora MySQL para um cluster de banco dedados do Amazon RDS, conforme descrito a seguir.

Versão da API 2016-01-01156

Page 161: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQLNote

Como o Amazon Aurora MySQL é compatível com MySQL, você pode migrar dados do seu bancode dados MySQL configurando uma replicação entre o banco de dados MySQL e um cluster debanco de dados do Amazon Aurora MySQL. Recomendamos que o seu banco de dados MySQLexecute MySQL versão 5.5 ou superior.

Migração de um snapshot MySQL do RDS para oAurora MySQLVocê pode migrar um DB snapshot de uma instância de banco de dados MySQL do Amazon RDS paracriar um cluster de banco de dados do Aurora MySQL. O novo cluster de banco de dados é preenchidocom os dados da instância de banco de dados MySQL original do Amazon RDS. O DB snapshot deve tersido feito usando uma instância de banco de dados do Amazon RDS executando MySQL 5.6.

É possível migrar um DB snapshot manual ou automático. Após a criação do cluster de banco de dados,você poderá criar réplicas opcionais do Aurora MySQL

Veja as etapas gerais que você deve seguir:

1. Determine a quantidade de espaço para provisionar ao seu cluster de banco de dados do AmazonAurora MySQL. Para obter mais informações, consulte a documentação do Amazon RDS.

2. Usar o console para criar o snapshot na região em que se encontra a instância MySQL 5.6 do AmazonRDS.

3. Se o DB snapshot não estiver na mesma região que o cluster de banco de dados, use o console doAmazon RDS para copiar o DB snapshot para essa região. Para obter informações sobre a cópia de umDB snapshot, consulte a documentação do Amazon RDS.

4. Usar o console para migrar o DB snapshot e criar um cluster de banco de dados do Amazon AuroraMySQL com os mesmos bancos de dados que a instância de banco de dados original do MySQL 5.6.

Warning

O Amazon RDS limita uma cópia de snapshot para cada conta da AWS em cada região por vez.

De quanto espaço eu preciso?Ao migrar um snapshot de uma instância de banco de dados MySQL para um cluster de banco de dadosdo Aurora MySQL, o Aurora MySQL usa um volume do Amazon Elastic Block Store (Amazon EBS) paraformatar os dados do snapshot antes de migrá-los. Em alguns casos, um espaço adicional é necessáriopara formatar os dados para migração. Ao migrar os dados do cluster de banco de dados, observe asseguintes diretrizes e limitações:

• Embora o Amazon Aurora MySQL ofereça suporte a até 64 TB de tamanho, o processo de migração deum snapshot para um cluster de banco de dados Aurora MySQL é limitado pelo tamanho do volume doEBS do snapshot. Assim, o tamanho máximo de um snapshot possível de migrar é 6 TB.

• As tabelas que não sejam MyISAM e não estejam compactadas podem ter até 6 TB de tamanho. Sevocê tiver tabelas MyISAM, o Aurora MySQL deverá usar espaço adicional no volume para converteras tabelas e deixá-las compatíveis com o Aurora MySQL. Se você compactar as tabelas, o AuroraMySQL deverá usar espaço adicional no volume para expandi-las antes de armazená-las no volume decluster do Aurora MySQL. Devido a esse requisito de espaço adicional, você deve garantir que nenhumadas tabelas MyISAM e das tabelas compactadas sendo migradas da sua instância de banco de dadosMySQL exceda 3 TB de tamanho.

Versão da API 2016-01-01157

Page 162: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL

Redução da quantidade de espaço necessário para migrar dadospara o Amazon Aurora MySQLTalvez você queira modificar o esquema de banco de dados antes de migrá-lo para o Amazon AuroraMySQL. Essa modificação pode ser útil nos seguintes casos:

• Você deseja agilizar o processo de migração.• Você não sabe quanto espaço deve ser provisionado.• Você tentou migrar os dados e a migração falhou devido à falta de espaço provisionado.

É possível fazer as seguintes alterações para melhorar o processo de migração de um banco de dadospara o Amazon Aurora MySQL.

Important

Lembre-se de realizar essas atualizações em uma nova instância de banco de dados restauradado snapshot de um banco de dados de produção, em vez de em uma instância de produção. Emseguida, você poderá migrar os dados do snapshot da sua nova instância de banco de dadospara o cluster de banco de dados do Amazon Aurora MySQL a fim de evitar interrupções noserviço do seu banco de dados de produção.

Tipo de tabela Limitação ou diretriz

Tabelas MyISAM O Amazon Aurora MySQL é compatível somente com tabelas InnoDB.Se houver tabelas MyISAM no seu banco de dados, elas deverãoser convertidas antes da migração para o Amazon Aurora MySQL. Oprocesso de conversão exige espaço adicional para a conversão deMyISAM para InnoDB durante o procedimento de migração.

Para reduzir as chances de ficar sem espaço ou para agilizar oprocesso de migração, converta todas as tabelas MyISAM para tabelasInnoDB antes de migrá-las. O tamanho da tabela InnoDB resultante éequivalente ao tamanho exigido pelo Amazon Aurora MySQL para atabela em questão. Para converter uma tabela MyISAM para InnoDB,execute o seguinte comando:

alter table <schema>.<table_name> engine=innodb,algorithm=copy;

Tabelas compactadas O Amazon Aurora MySQL não oferece suporte a tabelas compactadas(ou seja, tabelas criadas com ROW_FORMAT=COMPRESSED).

Para reduzir as chances de ficar sem espaço ou para agilizar oprocesso de migração, expanda suas tabelas compactadas definindoROW_FORMAT como DEFAULT, COMPACT, DYNAMIC ou REDUNDANT.Para obter mais informações, consulte https://dev.mysql.com/doc/refman/5.6/en/innodb-row-format.html.

Use o seguinte script SQL na sua instância de banco de dados MySQL existente para listar as tabelas noseu banco de dados que são MyISAM ou compactadas.

-- This script examines a MySQL database for conditions that will block-- migrating the database into an Amazon Aurora MySQL DB.-- It needs to be run from an account that has read permission for the

Versão da API 2016-01-01158

Page 163: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL-- INFORMATION_SCHEMA database.

-- Verify that this is a supported version of MySQL.

select msg as `==> Checking current version of MySQL.`from ( select 'This script should be run on MySQL version 5.6. ' + 'Earlier versions are not supported.' as msg, cast(substring_index(version(), '.', 1) as unsigned) * 100 + cast(substring_index(substring_index(version(), '.', 2), '.', -1) as unsigned) as major_minor ) as Twhere major_minor <> 506;

-- List MyISAM and compressed tables. Include the table size.

select concat(TABLE_SCHEMA, '.', TABLE_NAME) as `==> MyISAM or Compressed Tables`,round(((data_length + index_length) / 1024 / 1024), 2) "Approx size (MB)"from INFORMATION_SCHEMA.TABLESwhere ENGINE <> 'InnoDB' and ( -- User tables TABLE_SCHEMA not in ('mysql', 'performance_schema', 'information_schema') or -- Non-standard system tables ( TABLE_SCHEMA = 'mysql' and TABLE_NAME not in ( 'columns_priv', 'db', 'event', 'func', 'general_log', 'help_category', 'help_keyword', 'help_relation', 'help_topic', 'host', 'ndb_binlog_index', 'plugin', 'proc', 'procs_priv', 'proxies_priv', 'servers', 'slow_log', 'tables_priv', 'time_zone', 'time_zone_leap_second', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'user' ) ) ) or ( -- Compressed tables ROW_FORMAT = 'Compressed' );

O script gera uma saída semelhante à saída do seguinte exemplo. O exemplo mostra duas tabelas quedevem ser convertidas de MyISAM para InnoDB. A saída também inclui o tamanho aproximado de cadatabela em megabytes (MB).

+---------------------------------+------------------+| ==> MyISAM or Compressed Tables | Approx size (MB) |+---------------------------------+------------------+| test.name_table | 2102.25 || test.my_table | 65.25 |+---------------------------------+------------------+2 rows in set (0.01 sec)

Versão da API 2016-01-01159

Page 164: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL

Migração de um DB snapshot usando o consoleVocê pode migrar um DB snapshot de uma instância de banco de dados MySQL do Amazon RDS paracriar um cluster de banco de dados do Aurora MySQL. O novo cluster de banco de dados será preenchidocom os dados da instância de banco de dados MySQL original do Amazon RDS. O DB snapshot deve tersido feito de uma instância de banco de dados do Amazon RDS que execute MySQL 5.6 e não deve sercriptografado. Para obter informações sobre a criação de um DB snapshot, consulte a documentação doAmazon RDS.

Se o DB snapshot não estiver na região da AWS em que você deseja colocar os seus dados, use oconsole do Amazon RDS para copiar o DB snapshot para essa região. Para obter informações sobre acópia de um DB snapshot, consulte a documentação do Amazon RDS.

Quando você migra o DB snapshot usando o console, o console realiza as ações necessárias para criar ocluster de banco de dados e a instância primária.

Você também pode escolher que o seu novo cluster de banco de dados do Aurora MySQL sejacriptografado em repouso usando uma chave de criptografia do AWS Key Management Service (AWSKMS). Essa opção está disponível somente para DB snapshots não criptografados.

Como migrar um DB snapshot MySQL 5.6 usando o console

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

2. Escolha Snapshots.3. Na página Snapshots, escolha o snapshot que você deseja migrar para um cluster de banco de dados

do Aurora MySQL.4. Escolha Migrate Database.

Versão da API 2016-01-01160

Page 165: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL5. Defina os seguintes valores na página Migrate Database:

• DB Instance Class: selecione uma classe de instância de banco de dados que tenha oarmazenamento e a capacidade necessários para o seu banco de dados, por exemplodb.r3.large. Os volumes dos clusters do Aurora MySQL crescem automaticamente conforme aquantidade de dados no banco de dados aumenta, até um tamanho máximo de 64 terabytes (TB).Assim, só será necessário selecionar uma classe de instância de banco de dados que atenda aosrequisitos atuais de armazenamento.

• DB Instance Identifier: digite um nome para o cluster de banco de dados exclusivo à sua conta naregião selecionada. Esse identificador é usado em endereços de endpoint para as instâncias nocluster de banco de dados. É possível optar por adicionar informações ao nome, como incluir aregião e o mecanismo de banco de dados selecionados, por exemplo, aurora-cluster1.

O DB instance identifier tem as seguintes restrições:• Deve conter de 1 a 63 caracteres alfanuméricos ou hífens.• O primeiro caractere deve ser uma letra.• Não pode terminar com um hífen ou conter dois hifens consecutivos.• Deve ser exclusivo para todas as instâncias de banco de dados por conta da AWS, por região da

AWS.• VPC: se você tiver uma VPC existente, poderá usá-la com o seu cluster de banco de dados Amazon

Aurora MySQL selecionando o identificador de VPC, por exemplo, vpc-a464d1c1. Para obterinformações sobre o uso de uma VPC existente, consulte a documentação do Amazon RDS.

Do contrário, para o Amazon RDS criar uma VPC para você, selecione Create a new VPC.• Subnet Group: se você tiver um grupo de sub-redes existente, poderá usá-lo com o cluster de

banco de dados do Amazon Aurora MySQL selecionando o identificador de grupo de sub-redes, porexemplo, gs-subnet-group1.

Caso contrário, para o Amazon RDS criar um grupo de sub-rede para você, selecione Create a newsubnet group.

• Publicly Accessible: selecione No para especificar que as instâncias no seu cluster de banco dedados só podem ser acessadas por recursos dentro do seu VPC. Selecione Yes para especificarque as instâncias no seu cluster de banco de dados podem ser acessadas por recursos na redepública. O padrão é Yes.

Note

O cluster de banco de dados de produção talvez não precise estar em uma sub-redepública, porque apenas os seus servidores de aplicação precisarão acessá-lo. Se o clusterde banco de dados não precisar estar em uma sub-rede pública, defina Publicly Accessiblecomo No.

• Availability Zone: selecione a Zona de disponibilidade para hospedar a instância primária do seucluster de banco de dados do Aurora MySQL. Para o Amazon RDS selecionar uma Zona dedisponibilidade para você, escolha No Preference.

• Database Port: digite a porta padrão para ser usada ao se conectar a instâncias no cluster de bancode dados. O padrão é 3306.

Note

Pode ser que haja um firewall corporativo que impeça o acesso a portas padrão, como aporta padrão do MySQL, 3306. Nesse caso, forneça um valor de porta permitido pelo seufirewall corporativo. Lembre-se desse valor de porta mais tarde ao se conectar ao clusterde banco de dados do Aurora MySQL.

• Enable Encryption: selecione Yes para que o novo cluster de banco de dados do Aurora MySQLseja criptografado em repouso. Se escolher Yes, você será solicitado a selecionar uma chave decriptografia do AWS KMS, como o valor Master Key.

Versão da API 2016-01-01161

Page 166: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL• Auto Minor Version Upgrade: selecione Yes se quiser permitir que o cluster de banco de dados do

Aurora MySQL receba atualizações secundárias de versão de mecanismos de banco de dadosMySQL automaticamente quando estiverem disponíveis.

A opção Auto Minor Version Upgrade (Atualização automática de versão secundária) aplica-seapenas a atualizações de versões secundárias de mecanismos MySQL do seu cluster de banco dedados do Amazon Aurora MySQL. Ela não se aplica a patches regulares aplicados para manter aestabilidade do sistema.

Versão da API 2016-01-01162

Page 167: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL

Versão da API 2016-01-01163

Page 168: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migraçãoMigração de um snapshot MySQL

do RDS para o Aurora MySQL6. Selecione Migrate para migrar o DB snapshot.7. Selecione Instances e o ícone de seta para mostrar os detalhes do cluster de banco de dados

e monitorar o andamento da migração. Na página de detalhes, você verá o endpoint do clusterusado para se conectar à instância primária do cluster de banco de dados. Para obter maisinformações sobre a conexão a um cluster de banco de dados do Amazon Aurora MySQL, consulte adocumentação do Amazon RDS.

Versão da API 2016-01-01164

Page 169: AWS Database Migration Service · com migrações homogêneas, como de Oracle para Oracle, e também com migrações heterogêneas entre plataformas de banco de dados diferentes,

AWS Database Migration ServiceGuia passo a passo de migração

Histórico do documentoA tabela a seguir descreve as mudanças importantes na documentação desde o último lançamento doGuia passo a passo da migração do AWS Database Migration Service.

• Versão da API: 20160101• Última atualização da documentação: 30° de agosto de 2017

Alteração Descrição Data

Adicionado o guia de migraçãodo Microsoft SQL Server paraAurora

Adicionado o guia de migraçãodo Microsoft SQL Server parao Amazon Aurora com bancode dados de compatibilidade doMySQL.

30 de agosto de 2017

Adicionado o guia de migraçãodo Oracle para PostgreSQL

Adicionado o guia de migraçãode banco de dados do Oraclepara PostgreSQL.

18 de agosto de 2017

Adição do guia de migração localdo Oracle para o Amazon Aurora

Adição do guia de migração debanco de dados local do Oraclepara o Amazon Aurora.

17 de novembro de 2016

Versão da API 2016-01-01165