

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migração
<a name="migration-pattern-list"></a>

**Topics**
+ [Crie CloudFormation modelos da AWS para tarefas do AWS DMS usando Microsoft Excel e Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Conceitos básicos de descoberta automatizada de portfólio](get-started-with-automated-portfolio-discovery.md)
+ [Migre workloads on-premises da Cloudera para a Cloudera Data Platform na AWS](migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.md)
+ [Resolva erros de conexão após migrar o Microsoft SQL Server para a Nuvem AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Reinicie o AWS Replication Agent automaticamente sem desativá-lo SELinux após a reinicialização de um servidor de origem RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Redefinir arquitetura](migration-rearchitect-pattern-list.md)
+ [Redefinir a hospedagem](migration-rehost-pattern-list.md)
+ [Realocar](migration-relocate-pattern-list.md)
+ [Redefinir a plataforma](migration-replatform-pattern-list.md)
+ [Padrões de migração por workload](migration-migration-patterns-by-workload-pattern-list.md)
+ [Mais padrões](migration-more-patterns-pattern-list.md)

# Crie CloudFormation modelos da AWS para tarefas do AWS DMS usando Microsoft Excel e Python
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python"></a>

*Venkata Naveen Koppula, Amazon Web Services*

## Resumo
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-summary"></a>

Esse padrão descreve as etapas para criar automaticamente CloudFormation modelos da AWS para o [AWS Database Migration Service](https://aws.amazon.com/dms/) (AWS DMS) usando Microsoft Excel e Python.

A migração de bancos de dados usando o AWS DMS geralmente envolve a criação de CloudFormation modelos da AWS para provisionar tarefas do AWS DMS. Anteriormente, a criação CloudFormation de modelos da AWS exigia conhecimento da linguagem de programação JSON ou YAML. Com essa ferramenta, você só precisa de conhecimentos básicos do Excel e de como executar um script Python usando um terminal ou janela de comando.

Como entrada, a ferramenta usa uma pasta de trabalho do Excel que inclui os nomes das tabelas a serem migradas, os Amazon Resource Names (ARNs) dos endpoints do AWS DMS e as instâncias de replicação do AWS DMS. Em seguida, a ferramenta gera CloudFormation modelos da AWS para as tarefas necessárias do AWS DMS.

Para obter etapas detalhadas e informações básicas, consulte a postagem do blog [Crie CloudFormation modelos da AWS para tarefas do AWS DMS usando o Microsoft Excel](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/) no blog do banco de dados da AWS.

## Pré-requisitos e limitações
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Microsoft Excel versão 2016 ou superior
+ Python (versão 2.7 ou superior)
+ O módulo **xlrd** Python (instalado em um prompt de comando com o comando: **pip install xlrd**)
+ Endpoints de origem e destino do AWS DMS e instância de replicação do AWS DMS

**Limitações**
+ Os nomes dos esquemas, tabelas e colunas associadas são transformados em caracteres em minúsculas nos endpoints de destino.
+ Essa ferramenta não trata da criação de endpoints e instâncias de replicação do AWS DMS.
+ Atualmente, a ferramenta oferece suporte a apenas um esquema para cada tarefa do AWS DMS.

## Arquitetura
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados on-premises
+ Microsoft Excel

**Pilha de tecnologias de destino**
+  CloudFormation Modelos da AWS
+ Um banco de dados na Nuvem AWS 

**Arquitetura**

![\[Fluxo de trabalho para usar o Excel e o Python para criar automaticamente CloudFormation modelos para o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/778c7c1e-2647-496f-8afd-52ff1ef02489/images/8fe1550d-8966-41aa-a480-5f7bef20629f.png)


## Ferramentas
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-tools"></a>
+ [Pycharm IDE](https://aws.amazon.com/pycharm/) ou qualquer ambiente de desenvolvimento integrado (IDE) que suporte Python versão 3.6
+ Microsoft Office 2016 (para Microsoft Excel)

## Épicos
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-epics"></a>

### Configure a rede, a instância de replicação do AWS DMS e os endpoints
<a name="configure-the-network-aws-dms-replication-instance-and-endpoints"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Se necessário, solicite um aumento da Service Quota. | Solicite um aumento de service quota para as tarefas do AWS DMS, se necessário. | AWS geral | 
| Configure a região da AWS, as nuvens privadas virtuais (VPCs), os intervalos de CIDR, as zonas de disponibilidade e as sub-redes. |  | AWS geral | 
| Configure a instância de replicação do AWS DMS. | A instância de replicação do AWS DMS pode se conectar a bancos de dados on-premises e da AWS. | AWS geral | 
| Configure endpoints do AWS DMS. | Configure endpoints para ambos os bancos de dados, de origem e de destino. | AWS geral | 

### Prepare as planilhas para tarefas e tags do AWS DMS
<a name="prepare-the-worksheets-for-aws-dms-tasks-and-tags"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a lista de tabelas. | Liste todas as tabelas envolvidas na migração. | Banco de dados | 
| Prepare a planilha de tarefas. | Prepare a planilha do Excel usando a lista de tabelas que você configurou. | AWS geral, Microsoft Excel | 
| Prepare a planilha de tags. | Detalhe as tags de recursos da AWS a serem anexadas às tarefas do AWS DMS. | AWS geral, Microsoft Excel | 

### Baixe e execute a ferramenta
<a name="download-and-run-the-tool"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe e extraia a ferramenta de geração de modelos do GitHub repositório. | GitHub repositório:/ https://github.com/aws-samples/dms-cloudformation-templates-generator |  | 
| Execute a ferramenta. | Siga as instruções detalhadas na postagem do blog listada em “Referências e ajuda”. |  | 

## Recursos relacionados
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-resources"></a>
+ [Crie CloudFormation modelos da AWS para tarefas do AWS DMS usando o Microsoft Excel (publicação no blog)](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/)
+ [Gerador de CloudFormation modelos DMS (GitHub repositório)](https://github.com/aws-samples/dms-cloudformation-templates-generator/tree/v1.0)
+ [Documentação do Python](https://www.python.org/)
+ [descrição e download do xlrd](https://pypi.org/project/xlrd/)
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/)
+ [ CloudFormation Documentação da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)

# Conceitos básicos de descoberta automatizada de portfólio
<a name="get-started-with-automated-portfolio-discovery"></a>

*Pratik Chunawala e Rodolfo Jr. Cerrada, Amazon Web Services*

## Resumo
<a name="get-started-with-automated-portfolio-discovery-summary"></a>

Avaliar o portfólio e coletar metadados representam um desafio importante ao migrar aplicações e servidores para a Nuvem Amazon Web Services (AWS), sobretudo em migrações que envolvem mais de 300 servidores. O uso de uma ferramenta automatizada de descoberta de portfólio pode ajudá-lo a coletar informações sobre seus aplicativos, como número de usuários, frequência de uso, dependências e informações sobre a infraestrutura do aplicativo. Essas informações são essenciais ao planejar ondas em migração para que você possa priorizar e agrupar adequadamente aplicativos com características semelhantes. O uso de uma ferramenta de descoberta simplifica a comunicação entre a equipe do portfólio e os proprietários do aplicativo, pois a equipe do portfólio pode validar os resultados da ferramenta de descoberta em vez de coletar manualmente os metadados. Esse padrão discute as principais considerações para selecionar uma ferramenta de descoberta automatizada e informações sobre como implantá-la e testá-la em seu ambiente.

Esse padrão inclui um modelo, que é um ponto de partida para criar sua própria lista de verificação de atividades de alto nível. Ao lado da lista de verificação está o modelo para uma matriz responsável, confiável, consultada e informada (RACI). Você pode usar essa matriz RACI para determinar quem é responsável por cada tarefa em sua lista de verificação.

## Épicos
<a name="get-started-with-automated-portfolio-discovery-epics"></a>

### Selecionar uma ferramenta de descoberta
<a name="select-a-discovery-tool"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Determinar se uma ferramenta de descoberta é apropriada para o seu caso de uso. | Uma ferramenta de descoberta pode não ser a melhor solução para seu caso de uso. Considere o tempo necessário para selecionar, adquirir, preparar e implantar uma ferramenta de descoberta. Pode levar de 4 a 8 semanas para configurar o dispositivo de digitalização para uma ferramenta de descoberta sem agente em seu ambiente ou para instalar agentes em todas as workloads dentro do escopo. Depois de implantada, você deve esperar de 4 a 12 semanas para que a ferramenta de descoberta colete metadados examinando as workloads do aplicativo e realizando a análise da pilha de aplicativos. Se você estiver migrando menos de 100 servidores, poderá coletar manualmente os metadados e analisar as dependências mais rápido do que o tempo necessário para implantar e coletar metadados com uma ferramenta de descoberta automatizada.  | Líder de migração, engenheiro de migração | 
| Selecionar uma ferramenta de descoberta. | Revise as **Considerações para selecionar uma ferramenta de descoberta automatizada** na seção [Informações adicionais](#get-started-with-automated-portfolio-discovery-additional). Determine os critérios apropriados para selecionar uma ferramenta de descoberta para seu caso de uso e, em seguida, avalie cada ferramenta em relação a esses critérios. Para obter uma lista abrangente de ferramentas automatizadas de descoberta, consulte [Ferramentas de migração de descoberta, planejamento e recomendação](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/). | Líder de migração, engenheiro de migração | 

### Preparar a instalação
<a name="prepare-for-installation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar a lista de verificação de pré-implantação.  | Crie uma lista de verificação das tarefas que você deve concluir antes de implantar a ferramenta. Por exemplo, consulte a [Lista de verificação de pré-implantação](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_Predeployment.htm) no site de documentação do Flexera. | Líder de compilação, engenheiro de migração, líder de migração, administrador de rede | 
| Preparar os requisitos de rede. | Provisione as portas, protocolos, endereços IP e roteamento necessários para que a ferramenta execute e acesse os servidores de destino. Para obter mais informações, consulte o guia de instalação da sua ferramenta de descoberta. Para obter um exemplo, consulte [Requisitos de implantação](https://docs.flexera.com/foundationcloudscape/help/RCDeployReq.htm) no site de documentação do Flexera. | Engenheiro de migração, administrador de rede, arquiteto de nuvem | 
| Preparar os requisitos de conta e credencial. | Identifique as credenciais necessárias para acessar os servidores de destino e instalar todos os componentes da ferramenta. | Administrador de nuvem, AWS geral, engenheiro de migração, líder de migração, administrador de rede, administrador da AWS | 
| Preparar os dispositivos nos quais você instalará a ferramenta. | Certifique-se de que os dispositivos nos quais você instalará os componentes da ferramenta atendam às especificações e aos requisitos da plataforma da ferramenta. | Engenheiro de migração, líder de migração, administrador de rede | 
| Preparar os pedidos de alteração. | De acordo com o processo de gerenciamento de mudanças em sua organização, prepare todos os pedidos de alteração necessários e garanta que esses pedidos de alteração sejam aprovados. | Líder de criação, líder de migração | 
| Enviar os requisitos às partes interessadas. | Envie a lista de verificação de pré-implantação e os requisitos de rede às partes interessadas. As partes interessadas devem revisar, avaliar e preparar os requisitos necessários antes de prosseguir com a implantação. | Líder de criação, líder de migração | 

### Implantar a ferramenta
<a name="deploy-the-tool"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Fazer download do instalador. | Faça download do instalador ou da imagem da máquina virtual. As imagens de máquinas virtuais geralmente vêm no formato OVF (Open Virtualization Format). | Líder de criação, líder de migração | 
| Extrair os arquivos. | Se você estiver usando um instalador, deverá baixar e executar o instalador em um servidor on-premises. | Líder de criação, líder de migração | 
| Implantar a ferramenta nos servidores. | Implante a ferramenta de descoberta nos servidores on-premises de destino da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/get-started-with-automated-portfolio-discovery.html) | Líder de criação, líder de migração, administrador de rede | 
| Iniciar sessão na ferramenta de descoberta. | Siga as mensagens na tela e faça login para começar a usar a ferramenta. | Líder de criação, líder de compilação | 
| Habilitar o produto. | Insira sua chave de licença. | Líder de criação, líder de migração | 
| Configurar a ferramenta. | Insira todas as credenciais necessárias para acessar os servidores de destino, como credenciais para Windows VMware, Simple Network Management Protocol (SNMP) e Secure Shell Protocol (SSH) ou bancos de dados. | Líder de criação, líder de migração | 

### Testar a ferramenta
<a name="test-the-tool"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecionar servidores de teste. | Identifique um pequeno conjunto de sub-redes ou endereços IP que não sejam de produção que você possa usar para testar a ferramenta de descoberta. Isso ajuda você a validar os escaneamentos rapidamente, identificar e solucionar quaisquer erros rapidamente e isolar seus testes dos ambientes de produção. | Líder de criação, líder de migração, administrador de rede | 
| Começar a escanear os servidores de teste selecionados. | Para uma ferramenta de descoberta sem agente, insira as sub-redes ou endereços IP dos servidores de teste selecionados no console da ferramenta de descoberta e inicie a verificação.Para uma ferramenta de descoberta baseada em agente, instale o agente nos servidores de teste selecionados. | Líder de criação, líder de migração, administrador de rede | 
| Revisar os resultados da verificação. | Revisar os resultados da verificação dos servidores de teste. Se algum erro for encontrado, solucione e corrija os erros. Documente os erros e as soluções. Você consultará essas informações no futuro e poderá adicioná-las ao runbook do seu portfólio. | Líder de criação, líder de migração, administrador de rede | 
| Examinar novamente os servidores de teste. | Quando a nova verificação for concluída, repita a verificação até que não haja erros. | Líder de criação, líder de migração, administrador de rede | 

## Recursos relacionados
<a name="get-started-with-automated-portfolio-discovery-resources"></a>

**AWS recursos**
+ [Guia de avaliação do portfólio de aplicativos para Nuvem AWS migração](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/introduction.html)
+ [Ferramentas de migração de descoberta, planejamento e recomendação](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/)

**Guias de implantação para ferramentas de descoberta comumente selecionadas**
+ [Implante o dispositivo virtual RN15 0 (documentação do](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_QSG_DeployRN150.htm) Flexera)
+ [Instalação do Gatherer](https://www.modelizeit.com/documentation/ADC-Gatherer-Install.html) (documentação do ModelizeIt)
+ [Instalação do Analysis Server on-premises](https://www.modelizeit.com/documentation/RejuvenApptor-Install.html) (documentação do ModelizeIt)

## Mais informações
<a name="get-started-with-automated-portfolio-discovery-additional"></a>

**Considerações para selecionar uma ferramenta de descoberta automatizada**

Cada ferramenta de descoberta tem benefícios e limitações. Ao selecionar a ferramenta apropriada para o seu caso de uso, considere o seguinte:
+ Selecione uma ferramenta de descoberta que possa coletar a maioria, se não todos, dos metadados necessários para atingir sua meta de avaliação de portfólio.
+ Identifique os metadados que você precisa coletar manualmente porque a ferramenta não oferece suporte a eles.
+ Forneça os requisitos da ferramenta de descoberta às partes interessadas para que elas possam analisar e avaliar a ferramenta com base em seus requisitos internos de segurança e conformidade, como requisitos de servidor, rede e credencial.
  + A ferramenta exige que você instale um agente na workload dentro do escopo?
  + A ferramenta exige que você configure um dispositivo virtual em seu ambiente?
+ Determine seus requisitos de residência de dados. Algumas organizações não querem armazenar seus dados fora do ambiente. Para resolver isso, talvez seja necessário instalar alguns componentes da ferramenta no ambiente on-premises.
+ Verifique se a ferramenta oferece suporte ao sistema operacional (SO) e à versão do SO da workload dentro do escopo.
+ Determine se seu portfólio inclui servidores mainframe, intermediários e legados. A maioria das ferramentas de descoberta pode detectar essas workloads como dependências, mas algumas ferramentas podem não conseguir obter detalhes do dispositivo, como utilização e dependências do servidor. As ferramentas de descoberta Device42 e ModernizeIT oferecem suporte a servidores de mainframe e de médio porte.

## Anexos
<a name="attachments-8c9d84de-e84a-4b0c-bcaa-389cd90be1f0"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/8c9d84de-e84a-4b0c-bcaa-389cd90be1f0/attachments/attachment.zip)

# Migre workloads on-premises da Cloudera para a Cloudera Data Platform na AWS
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws"></a>

*Battulga Purevragchaa e Nidhi Gupta, Amazon Web Services*

*Nijjwol Lamsal, Cloudera, Inc.*

## Resumo
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-summary"></a>

Esse padrão descreve as etapas de alto nível para migrar suas workloads on-premises do Cloudera Distributed Hadoop (CDH), da Hortonworks Data Platform (HDP) e do Cloudera Data Platform (CDP) para o CDP Public Cloud na AWS. Recomendamos que você faça parceria com o Cloudera Professional Services e um integrador de sistemas (SI) para implementar essas etapas.

Há muitos motivos pelos quais os clientes da Cloudera desejam mover suas workloads on-premises de CDH, HDP e CDP para a nuvem. Alguns motivos típicos incluem:
+ Simplificar a adoção de novos paradigmas de plataforma de dados, como data lakehouse ou data mesh
+ Aumentar a agilidade dos negócios, democratizar o acesso e a inferência sobre os ativos de dados existentes
+ Reduzir o custo total de propriedade (TCO)
+ Melhorar a elasticidade da workload
+ Permitir maior escalabilidade; reduzir drasticamente o tempo de provisionamento de serviços de dados em comparação com a base de instalação legada no on-premises
+ Remover o hardware antigo; reduzir significativamente os ciclos de atualização de hardware
+ Aproveite os pay-as-you-go preços, que são estendidos às cargas de trabalho da Cloudera na AWS com o modelo de licenciamento (CCU) da Cloudera
+ Aproveite a implantação mais rápida e a integração aprimorada com plataformas de integração contínua e entrega contínua (CI/CD)
+ Usar uma única plataforma unificada (CDP) para várias workloads

A Cloudera suporta todas as principais workloads, incluindo Machine Learning, Engenharia de Dados, Data Warehouse, Banco de Dados Operacional, Processamento de Stream (CSP) e segurança e governança de dados. A Cloudera oferece essas workloads on-premises há muitos anos, e você pode migrar essas workloads para a Nuvem AWS usando o CDP Public Cloud com o Workload Manager e o Replication Manager. 

O Cloudera Shared Data Experience (SDX) fornece um catálogo compartilhado de metadados entre essas workloads para facilitar o gerenciamento e as operações consistentes de dados. O SDX também inclui segurança abrangente e granular para proteção contra ameaças e governança unificada para recursos de auditoria e pesquisa para conformidade com padrões como o Payment Card Industry Data Security Standard (PCI DSS) e o GDPR. 

**Visão geral da migração do CDP**


|  |  | 
| --- |--- |
|    Workload | Workload de origem | Nuvem privada CDH, HDP e CDP | 
| --- |--- |--- |
| Ambiente de origem | Windows, LinuxOn-premises, colocalização ou em qualquer ambiente que não seja da AWS | 
| Workload de destino | Nuvem pública CDP na AWS | 
| Ambiente do destino | Modelo de implantação: conta de clienteModelo operacional: plano customer/Cloudera de controle | 
| ** **** ****Migração** | Estratégia de migração (7Rs) | Redefinir a hospedagem, redefinir a plataforma ou refatorar | 
| Isso é um upgrade na versão da workload? | Sim | 
| Duração da migração | Implantação: cerca de uma semana para criar uma conta de cliente, uma nuvem privada virtual (VPC) e um ambiente gerenciado pelo cliente da CDP Public Cloud.Duração da migração: de 1 a 4 meses, dependendo da complexidade e do tamanho da workload. | 
| **Custos** | Custo da execução da workload na AWS | Em um alto nível, o custo de uma migração da workload da CDH para a AWS pressupõe que você estabelecerá um novo ambiente na AWS. Isso inclui a contabilização do tempo e do esforço da equipe, bem como o provisionamento de recursos de computação e software de licenciamento para o novo ambiente.O modelo de preços baseado no consumo de nuvem Cloudera oferece a flexibilidade de aproveitar os recursos de escalabilidade automática e de intermitência. Para obter mais informações, consulte as [taxas de serviço do CDP Public Cloud](https://www.cloudera.com/products/pricing/cdp-public-cloud-service-rates.html) no site da Cloudera.O Cloudera Enterprise [Data Hub](https://www.cloudera.com/products/enterprise-data-hub.html) é baseado no Amazon Elastic Compute Cloud (Amazon EC2) e modela de perto os clusters tradicionais. O Data Hub pode ser [personalizado](https://docs.cloudera.com/data-hub/cloud/create-cluster-aws/topics/mc-creating-a-cluster.html), mas isso afetará os custos.O [CDP Public Cloud Data Warehouse](https://docs.cloudera.com/data-warehouse/cloud/index.html), o [Cloudera Machine Learning](https://docs.cloudera.com/machine-learning/cloud/product/topics/ml-product-overview.html) e o [Cloudera Data Engineering (CDE)](https://docs.cloudera.com/data-engineering/cloud/index.html) são baseados em contêineres e podem ser configurados para escalar automaticamente. | 
| ** **** ****Acordos e estrutura de infraestrutura** | Requisitos do sistema | Consulte a seção [Pré-requisitos](#migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs). | 
| SLA | Consulte o [Acordo de Nível de Serviço da Cloudera para CDP Public Cloud](https://www.cloudera.com/legal/terms-and-conditions/cdp-public-cloud-sla.html). | 
| DR | Consulte [Recuperação de desastres](https://docs.cloudera.com/cdp-reference-architectures/latest/cdp-ra-operations/topics/cdp-ra-abstract.html) na documentação da Cloudera. | 
| Modelo operacional e de licenciamento (para a conta de destino da AWS) | Modelo “Traga a sua própria licença” (BYOL) | 
| ** ****Conformidade** | Requisitos de segurança | Consulte [Visão geral da segurança da Cloudera](https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/security-overview/topics/cm-security-overview.html) na documentação da Cloudera. | 
| [Outras ](https://aws.amazon.com/compliance/programs)certificações de conformidade | Veja as informações no site da Cloudera sobre a conformidade com o [Regulamento Geral de Proteção de Dados (GDPR](https://www.cloudera.com/solutions/lower-business-risks/general-data-protection-regulation.html)) e o [CDP Trust Center](https://www.cloudera.com/products/trust-center.html). | 

## Pré-requisitos e limitações
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs"></a>

**Pré-requisitos **
+ [Requisitos de conta da AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html), incluindo contas, recursos, serviços e permissões, como a configuração de políticas e perfis do (IAM) do AWS Identity and Access Management
+ [Pré-requisitos para implantar o CDP](https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-set_up_cdp_prerequisites.html) a partir do site da Cloudera

A migração exige as seguintes funções e conhecimentos:


| 
| 
| Função | Habilidades e responsabilidades | 
| --- |--- |
| Líder de migração | Garante suporte executivo, colaboração em equipe, planejamento, implementação e avaliação | 
| Cloudera PME | Habilidades especializadas em administração de CDH, HDP e CDP, administração de sistemas e arquitetura | 
| Arquiteto da AWS | Habilidades em serviços, redes, segurança e arquiteturas da AWS | 

## Arquitetura
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-architecture"></a>

Desenvolver a arquitetura adequada é uma etapa essencial para garantir que a migração e o desempenho atendam às suas expectativas. Para que seu esforço de migração atenda às suposições desse manual, seu ambiente de dados de destino na Nuvem AWS, seja em instâncias hospedadas em nuvem privada virtual (VPC) ou CDP, deve ser equivalente ao seu ambiente de origem em termos de sistema operacional e versões de software, bem como das principais especificações da máquina.

O diagrama a seguir (reproduzido com permissão da [planilha de dados do Cloudera Shared Data Experience](https://www.cloudera.com/content/dam/www/marketing/resources/datasheets/cloudera-sdx-datasheet.pdf?daqp=true)) mostra os componentes de infraestrutura para o ambiente de CDP e como os níveis ou componentes da infraestrutura interagem. 

![\[Componentes do ambiente CDP\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/91d62277-7fde-4ec6-8e2b-86a446e2f6ee.png)


Essa arquitetura inclui os seguintes componentes CDP:
+ O Data Hub é um serviço para lançar e gerenciar clusters de workload desenvolvido pelo Cloudera Runtime. Você pode usar as definições de cluster no Data Hub para provisionar e acessar clusters de workload para casos de uso personalizados e definir configurações de cluster personalizadas. ,Para obter mais informações, consulte o [site da Cloudera](https://docs.cloudera.com/data-hub/cloud/index.html).
+ O fluxo e o streaming de dados abordam os principais desafios que as empresas enfrentam com os dados em movimento. Ele gerencia o seguinte:
  + Processamento de fluxo de dados em tempo real em alto volume e alta escala
  + Rastreando a proveniência dos dados e a linhagem dos dados de streaming
  + Gerenciando e monitorando aplicativos periféricos e fontes de streaming

  Para obter mais informações, consulte [Cloudera DataFlow](https://www.cloudera.com/products/dataflow.html) e [CSP no site da Cloudera](https://www.cloudera.com/products/stream-processing.html).
+ A engenharia de dados inclui integração de dados, qualidade de dados e governança de dados, que ajudam as organizações a criar e manter fluxos de trabalho e pipelines de dados. ,Para obter mais informações, consulte o [site da Cloudera](https://docs.cloudera.com/data-engineering/cloud/index.html). Saiba mais sobre o [suporte para instâncias spot para facilitar a redução de custos na AWS](https://docs.cloudera.com/data-engineering/cloud/cost-management/topics/cde-spot-instances.html) para workloads de engenharia de dados da Cloudera.
+ O Data Warehouse** **permite que você crie data warehouses e data marts independentes que se escalam automaticamente para atender às demandas de workload. Esse serviço fornece instâncias de computação isoladas e otimização automatizada para cada data warehouse e data mart, além de ajudar você a economizar custos durante as reuniões SLAs. ,Para obter mais informações, consulte o [site da Cloudera](https://docs.cloudera.com/data-warehouse/cloud/index.html). Saiba mais sobre o [gerenciamento de custos](https://docs.cloudera.com/data-warehouse/cloud/planning/topics/dw-manage-cloud-costs.html) e o [ajuste de escala automático](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-public-cloud-autoscaling-overview.html) do Cloudera Data Warehouse na AWS.
+ O banco de dados operacional no CDP fornece uma base confiável e flexível para aplicativos escaláveis e de alto desempenho. Ele fornece um banco de dados escalável, sempre disponível e em tempo real, que serve dados estruturados tradicionais, juntamente com dados novos e não estruturados, em uma plataforma operacional e de armazenamento unificada. ,Para obter mais informações, consulte o [site da Cloudera](https://www.cloudera.com/products/operational-db.html).
+ O Machine Learning é uma plataforma de machine learning nativa de nuvem que combina recursos de autoatendimento de ciência de dados e engenharia de dados em um único serviço portátil em uma nuvem de dados corporativa. Ele permite a implantação escalável de machine learning e inteligência artificial (IA) em dados em qualquer lugar. ,Para obter mais informações, consulte o [site da Cloudera](https://docs.cloudera.com/machine-learning/cloud/index.html).

**CDP na AWS**

O diagrama a seguir (adaptado com permissão do site da Cloudera) mostra a arquitetura de alto nível do CDP na AWS. O CDP implementa seu [próprio modelo de segurança](https://docs.cloudera.com/runtime/7.1.0/cdp-security-overview/topics/security-management-console-security.html) para gerenciar contas e fluxo de dados. Eles são integrados ao [IAM](https://aws.amazon.com/iam/) por meio do uso de [funções entre contas](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-req-credential.html). 

![\[CDP na arquitetura de alto nível da AWS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/54420517-38b4-4e82-bd19-9ded50ed009c.png)


O ambiente de gerenciamento do CDP reside em uma conta principal da Cloudera em sua própria VPC. Cada conta de cliente tem sua própria subconta e uma VPC exclusiva. Os perfis do IAM entre contas e as tecnologias SSL direcionam o tráfego de gerenciamento de e para o ambiente de gerenciamento para os serviços ao cliente que residem em sub-redes públicas roteáveis pela Internet dentro de cada VPC do cliente. Na VPC do cliente, a Cloudera Shared Data Experience (SDX) fornece segurança corporativa com governança e conformidade unificadas para que você possa obter insights de seus dados com mais rapidez. A SDX é uma filosofia de design incorporada a todos os produtos da Cloudera. Para obter mais informações sobre [SDX](https://docs.cloudera.com/cdp-public-cloud/cloud/overview/topics/cdp-services.html) e a [arquitetura de rede CDP Public Cloud para AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/aws-refarch/topics/cdp-pc-aws-refarch-overview.html), consulte a documentação da Cloudera.

## Ferramentas
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-tools"></a>

**Serviços da AWS**
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) ajuda você a executar o Kubernetes na AWS sem precisar instalar e manter seus próprios nós ou ambiente de gerenciamento do Kubernetes.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

**Automação e ferramentas**
+ Para obter ferramentas adicionais, você pode usar o [Cloudera Backup Data Recovery (BDR)](https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_bdr_tutorials.html), o AWS [Snowball e o [AWS Snowmobile](https://aws.amazon.com/snowmobile/)](https://aws.amazon.com/snowball/) para ajudar a migrar dados da CDH, HDP e CDP on-premises para a CDP hospedada pela AWS.
+ Para novas implantações, recomendamos que você use a [solução de parceiros da AWS para CDP](https://aws.amazon.com/solutions/partners/terraform-modules/cdp-public-cloud/).

## Épicos
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-epics"></a>

### Preparo para a migração
<a name="prepare-for-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Envolva a equipe da Cloudera. | A Cloudera busca um modelo padronizado de engajamento com seus clientes e pode trabalhar com seu integrador de sistemas (SI) para promover a mesma abordagem. Entre em contato com a equipe de clientes da Cloudera para que eles possam fornecer orientações e os recursos técnicos necessários para iniciar o projeto. Entrar em contato com a equipe da Cloudera garante que todas as equipes necessárias possam se preparar para a migração à medida que a data se aproxima. Você pode entrar em contato com os Serviços Profissionais da Cloudera para mover sua implantação do Cloudera do piloto para a produção rapidamente, a um custo menor e com desempenho máximo. Para obter uma lista completa de ofertas, consulte o [site da Cloudera](https://www.cloudera.com/about/services-and-support/professional-services.html). | Líder de migração | 
| Crie um ambiente de nuvem pública CDP na AWS para sua VPC. | Trabalhe com o Cloudera Professional Services ou com seu SI para planejar e implantar a nuvem pública CDP em uma VPC na AWS. | Arquiteto de nuvem, Cloudera SME | 
| Priorize e avalie as workloads para migração. | Avalie todas as suas workloads on-premises para determinar as workloads mais fáceis de migrar. Os aplicativos que não são essenciais são os melhores a serem implantados primeiro, pois terão um impacto mínimo em seus clientes. Guarde as workloads essenciais para o final, depois de migrar com sucesso outras workloads.As workloads transitórias (CDP Data Engineering) são mais fáceis de migrar do que workloads persistentes (CDP Data Warehouse). Também é importante considerar o volume e os locais dos dados ao migrar. Os desafios podem incluir a replicação contínua de dados de um ambiente on-premises para a nuvem e a alteração dos canais de ingestão de dados para importar dados diretamente para a nuvem. | Líder de migração | 
| Discuta as atividades de CDH, HDP, CDP e migração de aplicativos legados. | Considere e comece a planejar as seguintes atividades com o Cloudera Workload Manager:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Líder de migração | 
| Preencha os requisitos e recomendações do Cloudera Replication Manager. | Trabalhe com o Cloudera Professional Services e seu SI para se preparar para migrar workloads para seu ambiente de nuvem pública CDP na AWS. Compreender os requisitos e recomendações a seguir pode ajudá-lo a evitar problemas comuns durante e após a instalação do serviço Replication Manager.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Líder de migração | 

### Migre a CDP para a AWS
<a name="migrate-cdp-to-aws"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre a primeira carga de trabalho para dev/test ambientes usando o Cloudera Workload Manager. | Seu SI pode ajudá-lo a migrar sua primeira workload para a nuvem AWS. Esse deve ser um aplicativo que não seja voltado para o cliente nem essencial. Os candidatos ideais para dev/test migração são aplicativos que têm dados que a nuvem pode ingerir facilmente, como cargas de trabalho de engenharia de dados do CDP. Essa é uma workload transitória que geralmente tem menos usuários acessando-a, em comparação com uma workload persistente, como uma workload do CDP Data Warehouse, que pode ter muitos usuários que precisam de acesso ininterrupto. As workloads de engenharia de dados não são persistentes, o que minimiza o impacto nos negócios se algo der errado. No entanto, esses trabalhos podem ser essenciais para a geração de relatórios de produção, portanto, priorize as workloads de engenharia de dados de baixo impacto. | Líder de migração | 
| Repita as etapas de migração conforme necessário. | O Cloudera Workload Manager ajuda a identificar as workloads mais adequadas para a nuvem. Ele fornece métricas como classificações de desempenho da nuvem, sizing/capacity planos para o ambiente de destino e planos de replicação. Os melhores candidatos para migração são workloads sazonais, relatórios ad hoc e trabalhos intermitentes que não consomem muitos recursos.O Cloudera Replication Manager move dados on-premises para a nuvem e da nuvem para on-premises.Otimize proativamente workloads, aplicativos, desempenho e capacidade de infraestrutura para armazenamento de dados, engenharia de dados e machine learning usando o Workload Manager. Para obter um guia completo sobre como modernizar um data warehouse, consulte o site da [Cloudera](https://www.cloudera.com/content/dam/www/marketing/resources/webinars/modern-data-warehouse-fundamentals.png.landing.html). | Cloudera PME | 

## Recursos relacionados
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-resources"></a>

Documentação da Cloudera:
+ [Registrar clusters clássicos com CDP, Cloudera Manager e Replication Manager:](https://docs.cloudera.com/replication-manager/cloud/operations/topics/rm-requirements-for-bdr-cdh-clusters.html)
  + [Console de Gerenciamento](https://docs.cloudera.com/management-console/cloud/overview/topics/mc-management-console.html)
  + [Replicação de hive do Replication Manager](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-replication-of-data-using-hive.html)
+ [Replicação do Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-policy-replication.html) 
+ [Permissões do Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-ranger-permissions.html)
+ [Lista de verificação de planejamento de clusters do Data Hub](https://docs.cloudera.com/data-hub/cloud/cluster-planning/topics/dh-cluster-checklist.html)
+ [Arquitetura do Workload Manager](https://docs.cloudera.com/workload-manager/cloud/configuration/topics/wm-public-architecture-wm.html)
+ [Requisitos do Replication Manager](https://docs.cloudera.com/replication-manager/cloud/index.html)
+ [Observabilidade da plataforma de dados Cloudera](https://www.cloudera.com/products/observability.html)
+ [Requisitos do AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html)

Documentação da AWS:
+ [Migração de dados para nuvem](https://aws.amazon.com/cloud-data-migration/)

# Resolva erros de conexão após migrar o Microsoft SQL Server para a Nuvem AWS
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud"></a>

*Premkumar Chelladurai, Amazon Web Services*

## Resumo
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-summary"></a>

Depois de migrar o Microsoft SQL Server executado no Windows Server 2008 R2, 2012 ou 2012 R2 para instâncias do Amazon Elastic Compute Cloud (Amazon EC2) na Amazon Web Services (AWS) Cloud, a conexão com o SQL Server falha e os seguintes erros aparecem: 
+ `[Microsoft][ODBC SQL Server Driver][DBNETLIB] General Network error`
+ `ERROR [08S01] [Microsoft][SQL Native Client]Communication link failure. System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)`
+ `TCP Provider: The semaphore timeout period has expired`

Esse padrão descreve como você pode resolver esses erros desativando os recursos do Windows Scalable Networking Pack (SNP) no nível do sistema operacional (SO) e da interface de rede para o SQL Server executado no Windows Server 2008 R2, 2012 ou 2012 R2.

## Pré-requisitos e limitações
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-prereqs"></a>

**Pré-requisitos **
+ Privilégios de administrador para Windows Server.
+ Se você usou o AWS Application Migration Service como sua ferramenta de migração, precisará de uma das seguintes versões do Windows Server:
  + Windows Server 2008 R2 Service Pack 1, 2012 ou 2012 R2
+ Se você usou a CloudEndure migração como sua ferramenta de migração, precisará de uma das seguintes versões do Windows Server:
  + Windows Server 2003 R2 Service Pack 3, 2008, 2008 R2 Service Pack 1, 2012 ou 2012 R2

## Ferramentas
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-tools"></a>
+ [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html) — A Amazon Elastic Compute Cloud (Amazon EC2) fornece capacidade de computação escalável na Nuvem AWS. Você pode usar EC2 a Amazon para lançar quantos servidores virtuais precisar e pode expandir ou aumentar a escala. 
+ [Windows Server](https://docs.microsoft.com/en-us/windows-server/): o Windows Server é uma plataforma para criar uma infraestrutura de aplicativos, redes e serviços web conectados.

## Épicos
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-epics"></a>

### Desative os recursos SNP nos níveis do sistema operacional e da interface de rede elástica
<a name="turn-off-snp-features-at-the-os-and-elastic-network-interface-levels"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desative os recursos SNP no nível do sistema operacional. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrador da AWS, administrador de sistemas da AWS, engenheiro de migração, administrador da nuvem | 
| Desative os recursos do SNP no nível da interface de rede elástica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrador da AWS, administrador da nuvem, administrador de sistemas da AWS | 

## Recursos relacionados
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-resources"></a>
+ [Como solucionar problemas de atributos avançados de desempenho de rede, como RSS e NetDMA](https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-network-performance-features-rss-netdma)

# Reinicie o AWS Replication Agent automaticamente sem desativá-lo SELinux após a reinicialização de um servidor de origem RHEL
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server"></a>

*Anil Kunapareddy, Venkatramana Chintha e Shanmugam Shanker, da Amazon Web Services*

## Resumo
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-summary"></a>

O AWS Application Migration Service ajuda a simplificar, agilizar e automatizar a migração da sua workload do Red Hat Enterprise Linux (RHEL) para a nuvem da Amazon web Services (AWS). Para adicionar servidores de origem ao Application Migration Service, você instala o AWS Replication Agent nos servidores.

O Application Migration Service fornece replicação em tempo real, assíncrona e em nível de bloco. Isso significa que você pode continuar com as operações normais de TI durante todo o processo de replicação. Essas operações de TI podem exigir que você reinicie ou reinicie o servidor de origem do RHEL durante a migração. Se isso acontecer, o AWS Replication Agent não será reiniciado automaticamente e sua replicação de dados será interrompida. Normalmente, você pode definir o Security-Enhanced Linux (SELinux) para o **modo **desativado** ou permissivo** para reiniciar automaticamente o AWS Replication Agent. No entanto, as políticas de segurança da sua organização podem proibir a desativação SELinux e talvez você também precise [renomear seus arquivos.](https://access.redhat.com/solutions/3176)

Esse padrão descreve como reiniciar automaticamente o AWS Replication Agent sem desligá-lo SELinux quando o servidor de origem do RHEL é reinicializado ou reiniciado durante uma migração. 

## Pré-requisitos e limitações
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma workload on-premises do RHEL que você deseja migrar para a Nuvem AWS. 
+ Serviço de migração de aplicativos inicializado a partir do console do Application Migration Service. A inicialização é necessária somente na primeira vez que você usa esse serviço. Para obter instruções, consulte a [documentação do Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mandatory-setup.html).
+ Uma [política do IAM do AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) existente para o Application Migration Service. Para saber mais, consulte a [documentação do Serviço de Migração de Aplicativos](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html).

**Versões**
+ RHEL versão 7 ou superior

## Ferramentas
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-tools"></a>

**Serviços da AWS**
+ [O AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) é uma solução altamente automatizada lift-and-shift (rehospedagem) que simplifica, agiliza e reduz o custo da migração de aplicativos para a AWS.

**Comandos Linux**

A tabela a seguir fornece uma lista dos comandos Linux que você executará no seu servidor de origem RHEL. Eles também são descritos nos épicos e nas histórias desse padrão. 


| 
| 
| Command | Description | 
| --- |--- |
| `#systemctl –version` | Identifica a versão do sistema. | 
| `#systemctl list-units --type=service` | Lista todos os serviços ativos que estão disponíveis no servidor RHEL. | 
| `#systemctl list-units --type=service \| grep running` | Lista todos os serviços atualmente em execução no servidor RHEL. | 
| `#systemctl list-units --type=service \| grep failed` | Lista todos os serviços que falharam ao carregar após a reinicialização ou reinicialização do servidor RHEL. | 
| `restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Muda o contexto para `aws-replication-service`. | 
| `yum install policycoreutils*` | Instala os principais utilitários da política necessários para a operação do SELinux sistema. | 
| `ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Pesquisa o registro de auditoria e cria um módulo para políticas. | 
| `semodule -i my-modprobe.pp` | Ativa a política. | 
| `cat my-modprobe.te` | Visualiza o conteúdo do `my-modprobe.te` arquivo. | 
| `semodule -l \| grep my-modprobe` | Verifica se a política foi carregada no SELinux módulo. | 

## Épicos
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-epics"></a>

### Instale o AWS Replication Agent e reinicie o servidor de origem do RHEL
<a name="install-the-aws-replication-agent-and-reboot-the-rhel-source-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um usuário do Application Migration Service com uma chave de acesso e uma chave de acesso secreta.  | Para instalar o AWS Replication Agent, você deve criar um usuário do Application Migration Service com as credenciais necessárias da AWS. Para obter instruções, consulte a [documentação do Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | Engenheiro de migração | 
| Instale o AWS Replication Agent. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.html) | Engenheiro de migração | 
| Reinicie ou reinicialize o servidor de origem do RHEL. | [Reinicie ou reinicie seu servidor de origem RHEL quando o **status de replicação de dados for exibido Parado****no painel** de migração.](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html) | Engenheiro de migração | 
| Verifique o status da replicação de dados. | Aguarde uma hora e verifique novamente o **status da replicação de dados** no painel de migração. Deve estar no estado **saudável**. | Engenheiro de migração | 

### Verifique o status do AWS Replication Agent no servidor de origem do RHEL
<a name="check-aws-replication-agent-status-on-the-rhel-source-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique a versão do sistema. | Abra a interface de linha de comando do seu servidor de origem RHEL e execute o seguinte comando para identificar a versão do sistema:`#systemctl –version` | Engenheiro de migração | 
| Liste todos os serviços ativos. | Para listar todos os serviços ativos disponíveis no servidor RHEL, execute o comando:`#systemctl list-units --type=service` | Engenheiro de migração | 
| Liste todos os serviços em execução. | Para listar todos os serviços atualmente em execução no servidor RHEL, use o comando:`#systemctl list-units --type=service \| grep running` | Engenheiro de migração | 
| Liste todos os serviços que falharam ao carregar. | Para listar todos os serviços que falharam ao carregar após a reinicialização ou reinicialização do servidor RHEL, execute o comando:`#systemctl list-units --type=service \| grep failed` | Engenheiro de migração | 

### Crie e execute o SELinux módulo
<a name="create-and-run-the-selinux-module"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Alterar o contexto de segurança. | Na interface de linha de comando do seu servidor de origem do RHEL, execute o seguinte comando para alterar o contexto de segurança do serviço de replicação da AWS:`restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Engenheiro de migração | 
| Instale os principais utilitários. | Para instalar os principais utilitários necessários para a operação do SELinux sistema e suas políticas, execute o comando:`yum install policycoreutils*` | Engenheiro de migração | 
| Pesquise o registro de auditoria e crie um módulo para políticas. | Execute o comando :`ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Engenheiro de migração | 
| Exiba o conteúdo do my-modprobe-te arquivo.  | O arquivo `my-modprobe.te` é gerado pelo comando **audit2allow**. Ele inclui os SELinux domínios, o diretório de origem da política e os subdiretórios e especifica as regras e transições do vetor de acesso associadas aos domínios. Execute os seguintes comandos para exibir o conteúdo do arquivo.`cat my modprobe.te` | Engenheiro de migração | 
| Ativa a política. | Para inserir o módulo e ativar o pacote de políticas, execute o comando:`semodule -i my-modprobe.pp` | Engenheiro de migração | 
| Verifique se o módulo foi carregado.  | Execute o comando :`semodule -l \| grep my-modprobe`Depois que o SELinux módulo for carregado, você não precisará mais configurar SELinux o modo **desativado** ou **permissivo** durante a migração. | Engenheiro de migração | 
| Reinicialize ou reinicie o servidor de origem do RHEL e verifique o status da replicação de dados. | Abra o console do AWS Migration Service, navegue até o **Andamento da replicação de dados** e, em seguida, reinicie ou reinicie seu servidor de origem RHEL. A replicação de dados agora deve ser retomada automaticamente após a reinicialização do servidor de origem do RHEL. | Engenheiro de migração | 

## Recursos relacionados
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-resources"></a>
+ [Documentação do serviço de migração de aplicativos](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Materiais de treinamento técnico](https://docs.aws.amazon.com/mgn/latest/ug/mgn-training.html)
+ [Solução de problemas do AWS Replication Agent](https://docs.aws.amazon.com/mgn/latest/ug/Troubleshooting-Agent-Issues.html)
+ [Políticas do Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html)

# Redefinir arquitetura
<a name="migration-rearchitect-pattern-list"></a>

**Topics**
+ [Converter VARCHAR2 (1) tipo de dados para Oracle para tipo de dados booleano para Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Crie usuários e funções do aplicativo no Aurora compatível com PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Emule o Oracle DR usando um banco de dados global Aurora compatível com PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Implemente SHA1 o hashing para dados de PII ao migrar do SQL Server para o PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Migre incrementalmente do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL usando o Oracle SQL Developer e o AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Faça o upload de arquivos BLOB em TEXT usando a codificação de arquivos no Aurora PostgreSQL-Compatible](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migre o Amazon RDS for Oracle para o Amazon AWS SCT RDS for PostgreSQL com e usando e AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migre o Amazon RDS para Oracle para o Amazon RDS para PostgreSQL no modo SSL usando o AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migrar os pacotes de pragma Oracle SERIALLY\$1REUSABLE para o PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migre tabelas externas da Oracle para a compatibilidade com o Amazon Aurora PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Migre índices baseados em funções do Oracle para o PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migre funções nativas do Oracle para o PostgreSQL usando extensões](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migre um banco de dados Db2 da Amazon para o EC2 Aurora MySQL compatível usando o AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migre um banco de dados Microsoft SQL Server da Amazon EC2 para o Amazon DocumentDB usando o AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migre um banco de dados ThoughtSpot Falcon local para o Amazon Redshift](migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift.md)
+ [Migre do banco de dados Oracle para o Amazon RDS for PostgreSQL usando o Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migre uma tabela particionada do Oracle para o PostgreSQL usando o AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migre do Amazon RDS para Oracle para o Amazon RDS para MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migre do IBM Db2 na Amazon para o EC2 Aurora compatível com PostgreSQL usando o AWS DMS e o AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migre do Oracle 8i ou 9i para o Amazon RDS for PostgreSQL usando o AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migre do Oracle 8i ou 9i para o Amazon RDS para PostgreSQL usando visões materializadas e o AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migre da Oracle no Amazon EC2 para o Amazon RDS para MySQL usando o AWS DMS e o AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for MariaDB usando o AWS DMS e o AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migre um banco de dados Oracle on-premises para o Amazon RDS para MySQL, usando o AWS DMS e o AWS SCT.](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para PostgreSQL usando um Oracle bystander e o AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migre um banco de dados Oracle para o Amazon Redshift usando o AWS DMS e o AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migrar um banco de dados Oracle para o Aurora PostgreSQL usando AWS DMS e AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migrar dados de um banco de dados Oracle on-premises para o Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migre do SAP ASE para o Amazon RDS para SQL Server usando o AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift utilizando o AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migre um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift usando agentes de extração de dados da AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migre aplicativos legados do Oracle Pro\$1C para o ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migre colunas geradas virtualmente do Oracle para o PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configure a funcionalidade Oracle UTL\$1FILE no Aurora compatível com PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Valide objetos de banco de dados após migrar do Oracle para o Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# Converter VARCHAR2 (1) tipo de dados para Oracle para tipo de dados booleano para Amazon Aurora PostgreSQL
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql"></a>

*Naresh Damera, Amazon Web Services*

## Resumo
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-summary"></a>

Durante uma migração do Amazon Relational Database Service (Amazon RDS) para Oracle para a edição compatível com o Amazon Aurora PostgreSQL, você pode encontrar uma incompatibilidade de dados ao validar a migração em (). AWS Database Migration Service AWS DMS Para evitar essa incompatibilidade, você pode converter o tipo de dados VARCHAR2 (1) em tipo de dados booleano.

VARCHAR2 o tipo de dados armazena cadeias de texto de tamanho variável e VARCHAR2 (1) indica que a sequência tem 1 caractere de comprimento ou 1 byte. Para obter mais informações sobre VARCHAR2, consulte os [tipos de dados integrados](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) da Oracle (documentação da Oracle).

Nesse padrão, na coluna da tabela de dados da fonte de amostra, os dados VARCHAR2 (1) são **Y**, para *Sim*, ou **N**, para *Não*.  Esse padrão inclui instruções para usar AWS DMS e AWS Schema Conversion Tool (AWS SCT) para converter esse tipo de dados dos valores **Y** e **N** em VARCHAR2 (1) para valores **verdadeiros** ou **falsos** em booleano.

**Público-alvo**

Este padrão é recomendado para as pessoas com experiência na migração de bancos de dados da Oracle para o Aurora compatível com PostgreSQL usando o AWS DMS. Ao concluir a migração, siga as recomendações em [Converter Oracle em Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentação).AWS SCT 

## Pré-requisitos e limitações
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Confirme se seu ambiente está preparado para o Aurora, incluindo a configuração de credenciais, permissões e um grupo de segurança. Para obter mais informações, consulte [Configuração de seu ambiente para o Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_SettingUp_Aurora.html) (documentação do Aurora).
+ Um banco de dados de origem do Amazon RDS for Oracle que contém uma coluna de tabela VARCHAR2 com (1) dados.
+ Uma instância de banco de dados de destino compatível com o Amazon Aurora PostgreSQL. Para obter mais informações, consulte [Criação de um cluster de banco de dados e conexão a um banco de dados em um cluster de banco de dados Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster) (documentação do Aurora).

**Versões do produto**
+ Amazon RDS para Oracle versão 12.1.0.2 ou superior.
+ AWS DMS versão 3.1.4 ou posterior. Para obter mais informações, consulte [Usando um banco de dados Oracle como fonte AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Usando um banco de dados PostgreSQL como destino AWS DMS para AWS DMS (documentação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e recursos.
+ AWS Schema Conversion Tool (AWS SCT) versão 1.0.632 ou posterior. Recomendamos que você use a versão mais recente do AWS SCT para obter o suporte mais abrangente de versões e recursos.
+ O Aurora é compatível com as versões do PostgreSQL listadas em [Versões do mecanismo do banco de dados para Aurora PostgreSQL-Compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) (documentação do Aurora).

## Arquitetura
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-architecture"></a>

**Pilha de tecnologia de origem**

Instância de banco de dados do Amazon RDS para Oracle

**Pilha de tecnologias de destino**

Instância de banco de dados Amazon Aurora PostgreSQL-Compatible

**Arquitetura de origem e destino**

![\[Alterando os tipos de dados de VARCHAR2 (1) para booleano\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5d4dc568-20d8-4883-a942-21c81039d8e6/images/9fd82ae2-56e6-439c-b4cd-9e74fe77b480.png)


## Ferramentas
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e compatível com ACID que ajuda você a configurar, operar e escalar implantações do PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para Nuvem AWS ou entre combinações de configurações na nuvem e no local.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) para Oracle ajuda você a configurar, operar e escalar um banco de dados relacional da Oracle na Nuvem AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de banco de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.

**Outros serviços**
+ O [Oracle SQL Developer](https://docs.oracle.com/en/database/oracle/sql-developer/) é um ambiente de desenvolvimento integrado que simplifica o desenvolvimento e o gerenciamento de bancos de dados Oracle em implantações tradicionais e baseadas em nuvem. Nesse padrão, você usa essa ferramenta para se conectar à instância do banco de dados Amazon RDS para Oracle e consultar os dados.
+ O [pgAdmin](https://www.pgadmin.org/docs/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados. Neste padrão, você usa essa ferramenta para se conectar à instância do banco de dados Aurora e consulta os dados.

## Épicos
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um relatório de migração do banco de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | DBA, Desenvolvedor | 
| Elimine restrições de chave externa no banco de dados de destino. | No PostgreSQL, as chaves estrangeiras são implementadas usando gatilhos. Durante a fase de carga total, AWS DMS carrega cada tabela uma de cada vez. Recomendamos que você desative as restrições de chave externa durante um carregamento total, usando um dos seguintes métodos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Se não for possível desativar as restrições de chave estrangeira, crie uma tarefa de AWS DMS migração para os dados primários que seja específica da tabela principal e da tabela secundária. | DBA, Desenvolvedor | 
| Coloque chaves primárias e chaves exclusivas no banco de dados de destino. | Usando os comandos a seguir, desative as chaves primárias e as restrições no banco de dados de destino. Isso ajuda a melhorar o desempenho da tarefa de carregamento inicial.<pre>ALTER TABLE <table> DISABLE PRIMARY KEY;</pre><pre>ALTER TABLE <table> DISABLE CONSTRAINT <constraint_name>;</pre> | DBA, Desenvolvedor | 
| Crie a tarefa de carregamento inicial. | Em AWS DMS, crie a tarefa de migração para a carga inicial. Para obter instruções, consulte [Criação de uma tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Para método de migração, escolha **Migrar dados existentes**. Esse método de migração é** **chamado `Full Load` na API. Não inicie essa tarefa ainda. | DBA, Desenvolvedor | 
| Edite as configurações da tarefa de carregamento inicial. | Edite as configurações da tarefa para adicionar a validação de dados. Essas configurações de validação devem ser criadas em um arquivo JSON. Para obter instruções e exemplos, consulte [Especificação das configurações da tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Adicione as seguintes validações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Para validar o restante da migração de dados, habilite a validação de dados na tarefa. Para obter mais informações, consulte [Configuração da tarefa de validação de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.html). | Administrador da AWS, DBA | 
| Criar uma tarefa de replicação contínua. | Em AWS DMS, crie a tarefa de migração que mantém o banco de dados de destino sincronizado com o banco de dados de origem. Para obter instruções, consulte [Criação de uma tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Em método de migração, escolha **Replicar somente alterações de dados**. Não inicie essa tarefa ainda. | DBA | 

### Teste a tarefa de migração
<a name="test-the-migration-tasks"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie dados de amostra para testes. | No banco de dados de origem, crie uma tabela de amostra com dados para fins de teste. | Desenvolvedor | 
| Confirme se não há atividades conflitantes. | Use `pg_stat_activity` para verificar se há alguma atividade no servidor que possa afetar a migração. Para obter mais informações, consulte [Coletor de estatísticas](https://www.postgresql.org/docs/current/monitoring-stats.html) (documentação do PostgreSQL). | Administrador da AWS | 
| Inicie as tarefas de AWS DMS migração. | No AWS DMS console, na página **Painel**, inicie o carregamento inicial e as tarefas de replicação contínuas que você criou no épico anterior. | Administrador da AWS | 
| Monitore as tarefas e os estados de carregamento da tabela. | Durante a migração, monitore o [status da tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.Status) e os [estados da tabela](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.CustomizingTasks.TableState). Quando a tarefa de carregamento inicial estiver concluída, na guia **Estatísticas da tabela**:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | Administrador da AWS | 
| Verifique os resultados da migração. | Usando pgAdmin, consulte a tabela no banco de dados de destino. Uma consulta bem-sucedida indica que os dados foram migrados com êxito. | Desenvolvedor | 
| Adicione as chaves primárias e estrangeiras ao banco de dados de destino. | Crie as chaves primárias e estrangeiras ao banco de dados de destino. Para obter mais informações, consulte [ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html) (site do PostgreSQL). | DBA | 
| Limpe os dados do teste. | Nos bancos de dados de origem e destino, limpe os dados que foram criados para teste de unidade. | Desenvolvedor | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Concluir a migração. | Repita o tópico anterior, *Testar as tarefas de migração*, usando os dados de origem reais. Essa ação migra os dados do banco de dados de origem para o banco de dados de destino. | Desenvolvedor | 
| Valide se os bancos de dados de origem e de destino estão em sincronia. | Valide se os bancos de dados de origem e de destino estão em sincronia. Para obter mais informações e instruções, consulte [AWS DMS data validation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Desenvolvedor | 
| Interrompa o banco de dados de origem. | Interrompa o banco de dados Amazon RDS para Oracle. Para instruções, consulte [Interrupção temporária de uma instância de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html). Quando você interrompe o banco de dados de origem, a carga inicial e as tarefas de replicação em andamento AWS DMS são automaticamente interrompidas. Nenhuma ação adicional é necessária para interromper essas tarefas. | Desenvolvedor | 

## Recursos relacionados
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-resources"></a>

**AWS referências**
+ [Migre um banco de dados Oracle para o Aurora PostgreSQL usando e (orientação AWS DMSAWS SCT prescritiva](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.html))AWS 
+ [Conversão do Oracle para o Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentação)AWS SCT 
+ [Como AWS DMS funciona](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.html) (AWS DMS documentação)

**Outras referências**
+ [Tipo de dados booleano](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-boolean/) (documentação do PostgreSQL)
+ [Tipos de dados integrados da Oracle](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) (documentação da Oracle)
+ [pgAdmin](https://www.pgadmin.org/) (site do pgAdmin)
+ [SQL Developer](https://www.oracle.com/database/technologies/appdev/sql-developer.html) (site da Oracle)

**Tutoriais e vídeos**
+ [Começando com AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Introduction to AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (vídeo)
+ [Noções básicas sobre o Amazon RDS](https://www.youtube.com/watch?v=eMzCI7S1P9M) (vídeo)

## Mais informações
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-additional"></a>

**Script de validação de dados**

O script de validação de dados a seguir converte **1** em **Y** e **0** **em N.** Isso ajuda a AWS DMS tarefa a ser concluída com êxito e a passar pela validação da tabela.

```
{
"rule-type": "validation",
"rule-id": "5",
"rule-name": "5",
"rule-target": "column",
"object-locator": {
"schema-name": "ADMIN",
"table-name": "TEMP_CHRA_BOOL",
"column-name": "GRADE"
},
"rule-action": "override-validation-function",
"target-function": "case grade when '1' then 'Y' else 'N' end"
        }
```

A instrução `case` no script executa a validação. Se a validação falhar, AWS DMS insere um registro na tabela **public.awsdms\$1validation\$1failures\$1v1** na instância do banco de dados de destino. Esse registro inclui o nome da tabela, o horário do erro e detalhes sobre os valores incompatíveis nas tabelas de origem e de destino.

Se você não adicionar esse script de validação de dados à AWS DMS tarefa e os dados forem inseridos na tabela de destino, a AWS DMS tarefa mostrará o estado de validação como **Registros incompatíveis**.

Durante a AWS SCT conversão, a tarefa de AWS DMS migração altera o tipo de dados do tipo de dados VARCHAR2 (1) para booleano e adiciona uma restrição de chave primária na `"NO"` coluna.

# Crie usuários e funções do aplicativo no Aurora compatível com PostgreSQL
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Resumo
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Quando você migra para o Amazon Aurora Edição Compatível com PostgreSQL, os usuários e funções do banco de dados que existem no banco de dados de origem devem ser criados no banco de dados do Aurora compatível com PostgreSQL. Você pode criar usuários e funções no Aurora compatíveis com PostgreSQL usando duas abordagens diferentes:
+ Use usuários e funções semelhantes no banco de dados de destino e no banco de dados de origem. Nessa abordagem, as linguagens de definição de dados (DDLs) são extraídas para usuários e funções do banco de dados de origem. Em seguida, eles são transformados e aplicados ao banco de dados Aurora de destino compatível com PostgreSQL. Por exemplo, a postagem do blog [Use SQL para mapear usuários, funções e concessões do Oracle para o PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) aborda o uso da extração de um mecanismo de banco de dados de origem Oracle.
+ Use usuários e funções padronizados que são comumente usados durante o desenvolvimento, a administração e para realizar outras operações relacionadas no banco de dados. Isso inclui operações somente de leitura, leitura/gravação, desenvolvimento, administração e implantação realizadas pelos respectivos usuários.

Esse padrão contém as concessões necessárias para a criação de usuários e funções no Aurora, compatível com o PostgreSQL, necessárias para a abordagem padronizada de usuários e funções. As etapas de criação do usuário e da função estão alinhadas à política de segurança de conceder privilégio mínimo aos usuários do banco de dados. A tabela a seguir lista os usuários, suas funções correspondentes e seus detalhes no banco de dados.


| 
| 
| Usuários | Perfis | Finalidade | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Usado para acesso somente de leitura no esquema `APP` | 
| `APP_WRITE` | `APP_RW` | Usado para as operações de gravação e leitura no esquema `APP` | 
| `APP_dev_user` | `APP_DEV` | Usado para fins de desenvolvimento no esquema `APP_DEV`, com acesso somente para leitura no esquema `APP` | 
| `Admin_User` | `rds_superuser` | Usado para realizar operações de administrador no banco de dados | 
| `APP` | `APP_DEP` | Usado para criar os objetos sob o esquema `APP` e para a implantação de objetos no esquema `APP` | 

## Pré-requisitos e limitações
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Pré-requisitos **
+ Uma conta ativa da Amazon Web Services (AWS)
+ Um banco de dados PostgreSQL, banco de dados Amazon Aurora Edição Compatível com PostgreSQL ou Amazon Relational Database Service (Amazon RDS) para banco de dados PostgreSQL

**Versões do produto**
+ Todas as versões do PostgreSQL

## Arquitetura
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Pilha de tecnologia de origem**
+ Qualquer banco de dados

**Pilha de tecnologias de destino**
+ Amazon Aurora compatível com PostgreSQL

**Arquitetura de destino**

O diagrama a seguir mostra as funções do usuário e a arquitetura do esquema no banco de dados do Aurora compatível com PostgreSQL.

![\[Funções de usuário e arquitetura de esquema para o banco de dados do Aurora compatível com PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automação e escala**

Esse padrão contém os usuários, as funções e o script de criação do esquema, que você pode executar várias vezes sem afetar os usuários existentes do banco de dados de origem ou de destino.

## Ferramentas
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID, que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.

**Outros serviços**
+ O [psql](https://www.postgresql.org/docs/current/app-psql.html) é uma ferramenta frontend baseada em terminal que é instalada com cada instalação do banco de dados PostgreSQL. Ele tem uma interface da linha de comando para executar comandos SQL, PL-PGSQL e do sistema operacional.
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.

## Épicos
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Criar os usuários e perfis
<a name="create-the-users-and-roles"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar o usuário de implantação. | O usuário de implantação `APP` será usado para criar e modificar os objetos do banco de dados durante as implantações. Use os scripts a seguir para criar a função de usuário de implantação `APP_DEP` no esquema `APP`. Valide os direitos de acesso para garantir que esse usuário tenha apenas o privilégio de criar objetos no esquema `APP` necessário.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o usuário somente para leitura. | O usuário de somente leitura `APP_read` será usado para realizar a operação somente leitura no esquema. `APP` Use os scripts a seguir para criar o usuário somente para leitura. Valide os direitos de acesso para garantir que esse usuário tenha privilégios somente para ler os objetos no esquema `APP` e para conceder automaticamente acesso de leitura a qualquer novo objeto criado no esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o read/write usuário. | O read/write usuário `APP_WRITE` será usado para realizar operações de leitura e gravação no esquema`APP`. Use os scripts a seguir para criar o read/write usuário e conceder a ele a `APP_RW` função. Valide os direitos de acesso para garantir que esse usuário tenha privilégios de leitura e gravação somente nos objetos do esquema `APP` e para conceder automaticamente acesso de leitura e gravação a qualquer novo objeto criado no esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Crie o usuário administrador. | O usuário administrador `Admin_User` será usado para realizar operações administrativas no banco de dados. Exemplos dessas operações são `CREATE ROLE` e `CREATE DATABASE`. O `Admin_User` usa a função integrada `rds_superuser` para realizar operações administrativas no banco de dados. Use os scripts a seguir para criar e testar o privilégio do usuário administrador `Admin_User` no banco de dados.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crie o usuário de desenvolvimento. | O usuário de desenvolvimento `APP_dev_user` terá direitos para criar os objetos em seu esquema local `APP_DEV` e acesso de leitura no esquema `APP`. Use os scripts a seguir para criar e testar os privilégios do usuário `APP_dev_user` no banco de dados.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Recursos relacionados
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentação do PostgreSQL**
+ [CRIAR PERFIL](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CRIAR USUÁRIO](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Perfis predefinidos](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Mais informações
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Aprimoramento do PostgreSQL 14**

O PostgreSQL 14 fornece um conjunto de funções predefinidas que dão acesso a determinadas capacidades e informações privilegiadas comumente necessárias. Os administradores (incluindo funções que têm o privilégio de `CREATE ROLE`) podem conceder essas funções ou outras funções em seu ambiente aos usuários, fornecendo-lhes acesso aos recursos e informações especificados.

Os administradores podem conceder aos usuários acesso a essas funções usando o comando `GRANT`. Por exemplo, para conceder a função `pg_signal_backend` a `Admin_User`, você pode executar o comando a seguir.

```
GRANT pg_signal_backend TO Admin_User;
```

A função `pg_signal_backend` tem como objetivo permitir que os administradores habilitem funções confiáveis e não de superusuário para enviar sinais para outros backends. Para obter mais informações, consulte [Aprimoramentos do PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ajustando o acesso**

Em alguns casos, pode ser necessário fornecer acesso mais granular aos usuários (por exemplo, acesso baseado em tabela ou acesso baseado em colunas). Nesses casos, funções adicionais podem ser criadas para conceder esses privilégios aos usuários. Para obter mais informações, consulte [Concessões do PostgreSQL](https://www.postgresql.org/docs/8.4/sql-grant.html).

# Emule o Oracle DR usando um banco de dados global Aurora compatível com PostgreSQL
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database"></a>

*HariKrishna Boorgadda, Amazon Web Services*

## Resumo
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-summary"></a>

As práticas recomendadas para recuperação de desastres (DR) empresarial consistem basicamente em projetar e implementar sistemas de hardware e software tolerantes a falhas que possam sobreviver a um desastre (*continuidade dos negócios*) e retomar as operações normais (*retomada dos negócios*), com intervenção mínima e, idealmente, sem perda de dados. Criar ambientes tolerantes a falhas para satisfazer os objetivos corporativos de DR pode ser caro e demorado, além de exigir um forte comprometimento da empresa.

O Oracle Database fornece três abordagens diferentes para DR que fornecem o mais alto nível de proteção e disponibilidade de dados em comparação com qualquer outra abordagem para proteger dados do Oracle.
+ Dispositivo Oracle Zero Data Loss Recovery
+ Oracle Active Data Guard
+ Oráculo GoldenGate

Esse padrão fornece uma forma de emular o Oracle GoldenGate DR usando um banco de dados global Amazon Aurora. A arquitetura de referência usa o Oracle GoldenGate para DR em três regiões da AWS. O padrão percorre a redefinição da plataforma de origem para o banco de dados global Aurora nativo de nuvem, baseado na edição do Amazon Aurora compatível com PostgreSQL.

O banco de dados global Aurora foi criado para aplicações com uma presença mundial. Um único banco de dados Aurora abrange várias regiões da AWS com até cinco regiões secundárias. Os bancos de dados globais do Aurora fornecem os seguintes atributos:
+ Replicação física em nível de armazenamento
+ Leituras globais de baixa latência
+ Recuperação de desastres rápida após interrupções em toda a região
+ Migrações rápidas entre regiões
+ Baixo atraso de replicação em todas as regiões
+ Little-to-no impacto no desempenho do seu banco de dados

Para obter mais informações sobre os atributos e vantagens do banco de dados global Aurora, consulte [Usar o Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview). Para obter mais informações sobre failovers não planejados e gerenciados, consulte [Uso de failover em um Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover).

## Pré-requisitos e limitações
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Um driver PostgreSQL Java Database Connectivity (JDBC) para conectividade de aplicativos
+ Um banco de dados global do Aurora baseado no Amazon Aurora Edição Compatível com PostgreSQL
+ Um banco de dados do Oracle Real Application Clusters (RAC) migrou para o banco de dados global Aurora baseado em compatibilidade com o Aurora PostgreSQL

**Limitações dos bancos de dados globais do Aurora **
+ Os bancos de dados globais Aurora não estão disponíveis em todas as regiões da AWS. Para obter uma lista de regiões compatíveis, consulte [Bancos de dados globais do Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.apg).
+ Para obter informações sobre atributos que não são compatíveis e outras limitações dos bancos de dados globais do Aurora, consulte as [Limitações do Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations).

**Versões do produto**
+ Edição do Amazon Aurora compatível com PostgreSQL versão 10.14 ou superior

## Arquitetura
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-architecture"></a>

**Pilha de tecnologia de origem**** **
+ Banco de dados de quatro nós do Oracle RAC
+ Oráculo GoldenGate

**Arquitetura de origem**** ** 

O diagrama a seguir mostra três clusters com Oracle RAC de quatro nós em diferentes regiões da AWS replicados usando o Oracle. GoldenGate 

![\[Oracle RAC em uma região primária e duas regiões secundárias.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/9fc740fc-d339-422e-beaf-1f65690c9d14.png)


**Pilha de tecnologias de destino**
+ Um Amazon Aurora Global Database de três clusters baseado no Aurora PostgreSQL, compatível com um cluster na região primária e dois clusters em diferentes regiões secundárias

**Arquitetura de destino**

![\[Amazon Aurora operando em uma região primária e duas regiões secundárias.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/8e3deca9-03f2-437c-9341-795ac17e2b42.png)


## Ferramentas
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e compatível com ACID que ajuda você a configurar, operar e escalar implantações do PostgreSQL.
+ Os [Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) abrangem várias regiões da AWS, fornecendo leituras globais de baixa latência e recuperação rápida de interrupções raras que podem afetar uma região inteira da AWS.

## Épicos
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-epics"></a>

### Adicionar regiões com instâncias de banco de dados de leitor
<a name="add-regions-with-reader-db-instances"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Conecte um ou mais clusters secundários do Aurora. | No menu Console de Gerenciamento da AWS, selecione Amazon Aurora. Selecione o cluster primário, selecione **Actions** e **Adicionar região** na lista suspensa. | DBA | 
| Selecione a classe da instância. | Você pode alterar a classe da instância do cluster secundário. No entanto, recomendamos mantê-la igual à classe de instância do cluster primário. | DBA | 
| Adicione a terceira região. | Repita as etapas desse épico para adicionar um cluster na terceira região. | DBA | 

### Fazer failover do banco de dados global Aurora
<a name="fail-over-the-aurora-global-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova o cluster primário do banco de dados Aurora global. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.html) | DBA | 
| Reconfigure o aplicativo a fim de desviar o tráfego de gravação para o cluster recém-promovido. | Modifique o endpoint no aplicativo usando o do cluster recém-promovido. | DBA | 
| Pare de emitir qualquer operação de gravação para o cluster indisponível. | Interrompa o aplicativo e qualquer atividade de data manipulation language (DML – linguagem de manipulação de dados) no cluster que você removeu. | DBA | 
| Crie um novo banco de dados global Aurora. | Agora você pode criar um banco de dados Aurora global com o cluster recém-promovido como cluster primário. | DBA | 

### Inicie o cluster primário
<a name="start-the-primary-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecione o cluster primário a ser iniciado a partir do banco de dados global. | No console do Amazon Aurora, selecione o cluster primário na configuração do banco de dados global. | DBA | 
| Inicie o cluster. | **Na lista suspensa **Ações**, selecione Iniciar.** Esse processo pode levar algum tempo. Atualize a tela para ver o status ou verifique na coluna **Status** o estado atual do cluster após a conclusão da operação. | DBA | 

### Limpe os recursos
<a name="clean-up-the-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exclua os clusters secundários restantes. | Após a conclusão do piloto de failover, remova os clusters secundários do banco de dados global. | DBA | 
| Exclua o cluster primário. | Remova o cluster. | DBA | 

## Recursos relacionados
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-resources"></a>
+ [Usar o Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-detaching)
+ [Soluções de recuperação de desastres do Aurora PostgreSQL usando o Amazon Aurora Global Database](https://aws.amazon.com/blogs/database/aurora-postgresql-disaster-recovery-solutions-using-amazon-aurora-global-database/) (publicação do blog)

# Implemente SHA1 o hashing para dados de PII ao migrar do SQL Server para o PostgreSQL
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql"></a>

*Rajkumar Raghuwanshi e Jagadish Kantubugata, Amazon Web Services*

## Resumo
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-summary"></a>

Esse padrão descreve como implementar o hashing do Secure Hash Algorithm 1 (SHA1) para endereços de e-mail ao migrar do SQL Server para o Amazon RDS for PostgreSQL ou compatível com o Amazon Aurora PostgreSQL. Um endereço de e-mail consiste em um exemplo de *informações de identificação pessoal* (PII). A categoria de PII consiste em informações que, se analisadas diretamente ou em conjunto com informações correlatas, podem servir para identificar, de maneira razoável, um indivíduo. 

Este padrão aborda os desafios de manter os valores de hash consistentes em diferentes agrupamentos e codificações de caracteres de banco de dados, além de fornecer uma solução usando funções e acionadores do PostgreSQL. Embora esse padrão se concentre no SHA1 hashing, ele pode ser adaptado para outros algoritmos de hash suportados pelo módulo do PostgreSQL. `pgcrypto` Sempre considere as implicações de segurança da sua estratégia de hash e consulte especialistas em segurança ao lidar com dados sensíveis.

## Pré-requisitos e limitações
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Banco de dados de origem do SQL Server
+ Banco de dados de destino do PostgreSQL (Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL)
+ Experiência em codificação PL/pgSQL

**Limitações**
+ Para este padrão, são necessárias alterações de agrupamento no nível do banco de dados conforme os casos de uso.
+ O impacto na performance em grandes conjuntos de dados ainda não foi avaliado.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

**Versões do produto**
+ Microsoft SQL Server 2012 ou posterior

## Arquitetura
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-architecture"></a>

**Pilha de tecnologia de origem**
+ SQL Server
+ NET Framework

**Pilha de tecnologias de destino**
+ PostgreSQL
+ Extensão para `pgcrypto`

**Automação e escala**
+ Considere implementar a função de hash como um procedimento armazenado para facilitar a manutenção.
+ Para grandes conjuntos de dados, avalie a performance e considere a realização de processamento em lotes ou o uso de estratégias de indexação.

## Ferramentas
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado, compatível com ACID, que auxilia na configuração, na operação e na escalabilidade de implantações do PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para Nuvem AWS ou entre combinações de configurações na nuvem e no local.
+ O [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ajuda você a configurar, operar e escalar um banco de dados relacional do PostgreSQL na Nuvem AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de banco de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.

**Outras ferramentas**
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.
+ O [SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms) consiste em um ambiente integrado para o gerenciamento de qualquer infraestrutura do SQL.

## Práticas recomendadas
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-best-practices"></a>
+ Use configurações de agrupamento apropriadas para lidar com caracteres especiais no banco de dados de destino.
+ Realize testes extensivos com uma variedade de endereços de e-mail, incluindo endereços que contêm caracteres fora do padrão ASCII.
+ Mantenha consistência no tratamento de maiúsculas e minúsculas entre as camadas da aplicação e do banco de dados.
+ Conduza avaliações comparativas da performance das consultas usando valores com hash.

## Épicos
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-epics"></a>

### Análise da implementação do hash na origem
<a name="analyze-source-hashing-implementation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analise o código do SQL Server. | Para revisar o código do SQL Server que gera SHA1 hashes, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Engenheiro de dados, DBA e desenvolvedor de aplicações | 
| Documente informações sobre o algoritmo de hash e as transformações de dados. | Para documentar o algoritmo de hash específico e as transformações de dados, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicativos, engenheiro de dados, DBA | 

### Criação de uma função de hash no PostgreSQL
<a name="create-postgresql-hashing-function"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a extensão `pgcrypto`. | Para criar a extensão `pgcrypto`, use `pgAdmin/psql` para executar o seguinte comando:<pre>CREATE EXTENSION pgcrypto;</pre> | DBA, engenheiro de dados | 
| Implemente uma função no PostgreSQL. | Implemente a função apresentada a seguir no PostgreSQL para replicar a lógica de hash do SQL Server. De forma geral, esta função conta com as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html)<pre>CREATE OR REPLACE FUNCTION utility.hex_to_bigint ( <br />     par_val character varying, <br />     par_upper character varying DEFAULT 'lower'::character varying) <br />RETURNS bigint <br />LANGUAGE 'plpgsql' <br />AS $BODY$ <br />DECLARE <br />    retnumber bigint; <br />    digest_bytes bytea;<br />BEGIN <br />    if lower(par_upper) = 'upper' <br />    then <br />        digest_bytes := digest(upper(par_val), 'sha1');<br />    else <br />        digest_bytes := digest((par_val), 'sha1');<br />    end if; <br />    retnumber := ('x' || encode(substring(digest_bytes, length(digest_bytes)-10+1), 'hex'))::bit(64)::bigint; <br />    RETURN retnumber; <br />END; <br />$BODY$;</pre> | Engenheiro de dados, DBA e desenvolvedor de aplicações | 
| Testar a função. | Para testar a função, use os dados de amostra do SQL Server para verificar se os valores de hash coincidem. Execute este comando: .<pre>select 'alejandro_rosalez@example.com' as Email, utility.hex_to_bigint('alejandro_rosalez@example.com','upper') as HashValue;<br /><br />--OUTPUT<br />/*<br />email 	        hashvalue<br />"alejandro_rosalez@example.com"	451397011176045063<br />*/<br /></pre> | Desenvolvedor de aplicações, DBA e engenheiro de dados | 

### Implementação de acionadores para hash automático
<a name="implement-triggers-for-automatic-hashing"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie acionadores nas tabelas relevantes. | Para criar acionadores nas tabelas relevantes que gerem automaticamente valores de hash em operações de inserção ou atualização, execute o seguinte comando:<pre>CREATE OR REPLACE FUNCTION update_email_hash() <br />RETURNS TRIGGER <br />AS $$ <br />BEGIN <br />    NEW.email_hash = utility.hex_to_bigint(NEW.email, 'upper'); <br />    RETURN NEW; <br />END; <br />$$ LANGUAGE plpgsql;</pre><pre>CREATE TRIGGER email_hash_trigger BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE FUNCTION update_email_hash();</pre> | Desenvolvedor de aplicativos, engenheiro de dados, DBA | 

### Migração dos dados existentes
<a name="migrate-existing-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desenvolva ou use um script de migração AWS DMS.  | Desenvolva um script de migração ou use AWS DMS para preencher valores de hash para dados existentes (incluindo valores de hash armazenados como `BIGINT` no sistema de origem). Complete as seguintes tarefas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicações, engenheiro de dados e DBA | 
| Use a nova função de hash do PostgreSQL. | Para usar a nova função de hash do PostgreSQL e garantir consistência, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicativos, DBA, engenheiro DevOps  | 

### Atualização das consultas da aplicação
<a name="update-application-queries"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique as consultas da aplicação. | Para identificar as consultas da aplicação que usam os valores de hash, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicações, DBA e engenheiro de dados | 
| Modifique as consultas. | Se necessário, modifique as consultas para usar a nova função de hash do PostgreSQL. Faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicações, DBA e engenheiro de dados | 

### Teste e validação
<a name="test-and-validate"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Realize testes. | Para conduzir testes completos com um subconjunto dos dados de produção, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicativos, engenheiro de dados, DBA | 
| Valide a correspondência dos valores de hash. | Para validar que os valores de hash correspondem entre SQL Server e PostgreSQL, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicativos, engenheiro de dados, DBA | 
| Verifique a funcionalidade da aplicação. | Para verificar a funcionalidade da aplicação usando os dados migrados e a nova implementação de hash, execute as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desenvolvedor de aplicações, DBA e engenheiro de dados | 

## Solução de problemas
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Os valores de hash não correspondem. | Verifique as codificações de caracteres e os agrupamentos entre a origem e o destino. Para obter mais informações, consulte [Gerenciar alterações de agrupamento no PostgreSQL no Amazon Aurora e no Amazon RDS (Blog](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)).AWS  | 

## Recursos relacionados
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-resources"></a>

**AWS Blogs**
+ [Manage collation changes in PostgreSQL on Amazon Aurora and Amazon RDS](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)
+ [Migrate SQL Server to Amazon Aurora PostgreSQL using best practices and lessons learned from the field](https://aws.amazon.com/blogs/database/migrate-sql-server-to-amazon-aurora-postgresql-using-best-practices-and-lessons-learned-from-the-field/)

**Outros recursos**
+ [PostgreSQL pgcrypto module](https://www.postgresql.org/docs/current/pgcrypto.html) (documentação do PostgreSQL)
+ [PostgreSQL trigger functions](https://www.postgresql.org/docs/current/plpgsql-trigger.html) (documentação do PostgreSQL)
+ [SQL Server HASHBYTES function](https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql) (documentação da Microsoft)

# Migre incrementalmente do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL usando o Oracle SQL Developer e o AWS SCT
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-summary"></a>

Muitas estratégias e abordagens de migração são executadas em várias fases, que podem durar de algumas semanas a vários meses. Durante esse período, você pode enfrentar atrasos devido a patches ou atualizações nas instâncias de banco de dados Oracle de origem que você deseja migrar para instâncias de banco de dados PostgreSQL. Para evitar essa situação, recomendamos que você migre incrementalmente o código restante do banco de dados Oracle para o código do banco de dados PostgreSQL.

Esse padrão fornece uma estratégia de migração incremental sem tempo de inatividade para uma instância de banco de dados Oracle de vários terabytes que tem um grande número de transações realizadas após a migração inicial e que deve ser migrada para um banco de dados PostgreSQL. Você pode usar essa step-by-step abordagem padrão para migrar incrementalmente uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) para Oracle para uma instância de banco de dados Amazon RDS for PostgreSQL sem entrar no console de gerenciamento da Amazon Web Services (AWS).

O padrão usa o [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) para encontrar as diferenças entre dois esquemas no banco de dados Oracle de origem. Em seguida, você usa a AWS Schema Conversion Tool (AWS SCT) para converter os objetos do esquema do banco de dados do Amazon RDS para Oracle em objetos do esquema do banco de dados Amazon RDS para PostgreSQL. Então, você pode executar um script Python no prompt de comando do Windows para criar objetos do AWS SCT para as alterações incrementais nos objetos do banco de dados de origem.

**nota**  
Antes de migrar as workloads do ambiente de produção, recomendamos executar uma prova de conceito (PoC, na sigla em inglês) da abordagem apresentada neste padrão em um ambiente de teste ou não destinado à produção.

## Pré-requisitos e limitações
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Instância de banco de dados existente Amazon RDS para Oracle. 
+ Uma instância existente de banco de dados do Amazon RDS para PostgreSQL.
+ AWS SCT, instalada e configurada com drivers JDBC para mecanismos de banco de dados Oracle e PostgreSQL. Para obter mais informações sobre isso, consulte [Instalação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) e [Instalação dos drivers de banco de dados necessários](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) na documentação da AWS SCT. 
+ Oracle SQL Developer, instalado e configurado. Para obter mais informações sobre isso, consulte a documentação do [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ O arquivo `incremental-migration-sct-sql.zip` (anexado), baixado no seu computador local.

**Limitações**
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para Oracle de origem são:
  + Oracle versões 10.2 e posteriores (para versões 10.x), 11g (versões 11.2.0.3.v1 e posteriores) e até 12.2 e 18c para as edições Enterprise, Standard, Standard One e Standard Two
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para PostgreSQL de origem são:  
  + PostgreSQL versões 9.4 e posterior (para versões 9.x), 10.x e 11.x
+ Esse padrão usa o Oracle SQL Developer. Seus resultados podem variar se você usar outras ferramentas para encontrar e exportar diferenças de esquema.
+ Os [scripts SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) gerados pelo Oracle SQL Developer podem gerar erros de transformação, o que significa que você precisa realizar uma migração manual.
+ Se as conexões de teste de origem e destino do AWS SCT falharem, certifique-se de configurar as versões do driver JDBC e as regras de entrada para que o grupo de segurança da nuvem privada virtual (VPC) aceite o tráfego de entrada.

**Versões do produto**
+ Instância do banco de dados Amazon RDS para Oracle versão 12.1.0.2 (versão 10.2 e posteriores)
+ Instância do banco de dados Amazon RDS para PostgreSQL versão 11.5 (versão 9.4 e posteriores)
+ Oracle SQL Developer versão 19.1 e posteriores
+ AWS SCT versão 1.0.632 e posteriores

## Arquitetura
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**
+ Instância do banco de dados Amazon RDS para Oracle

**Pilha de tecnologias de destino**
+ instância do banco de dados Amazon RDS para PostgreSQL

**Arquitetura de origem e destino**

O diagrama a seguir mostra a migração de uma instância de banco de dados Amazon RDS para Oracle para uma instância de banco de dados Amazon RDS para PostgreSQL.

![\[Fluxo de migração do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


O diagrama mostra o seguinte fluxo de trabalho de migração:

1. Abra o Oracle SQL Developer e conecte-se aos bancos de dados de origem e destino.

1. Gere um [relatório de diferença](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) e, em seguida, gere o arquivo de scripts SQL para os objetos de diferença do esquema. Para obter mais informações sobre relatórios de diferença, consulte [Relatórios de diferença detalhados](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) na documentação da Oracle.

1. Configure o AWS SCT e execute o código Python.

1. O arquivo de scripts SQL é convertido do Oracle para o PostgreSQL.

1. Execute o arquivo de scripts SQL na instância do banco de dados PostgreSQL de destino. 

**Automação e escala**

Você pode automatizar esta migração incluindo parâmetros adicionais e alterações relacionadas à segurança para várias funcionalidades em um único programa ao seu script do Python.

## Ferramentas
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-tools"></a>
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): o AWS Schema Conversion Tool (AWS SCT) converte seu esquema de banco de dados existente de um mecanismo de banco de dados para outro.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html): o Oracle SQL Developer é um ambiente de desenvolvimento integrado (IDE) que simplifica o desenvolvimento e o gerenciamento de bancos de dados Oracle em implantações tradicionais e baseadas em nuvem.

**Código **

O arquivo `incremental-migration-sct-sql.zip` (anexo) contém o código-fonte completo para esse padrão.

## Épicos
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-epics"></a>

### Crie o arquivo de scripts SQL para as diferenças do esquema do banco de dados de origem
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute Database Diff no Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
| Gere o arquivo de scripts SQL. | Escolha **Gerar script** para gerar as diferenças nos arquivos SQL. Isso gera o arquivo de scripts SQL que o AWS SCT usa para converter seu banco de dados do Oracle para o PostgreSQL. | DBA | 

### Use o script Python para criar os objetos de banco de dados de destino no AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS SCT com o prompt de comando do Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html)<pre>#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port<br /><br />ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432</pre>4. Modifique os parâmetros de configuração do AWS SCT de acordo com seus requisitos e, em seguida, copie o arquivo de scripts SQL em seu diretório de trabalho no subdiretório `input`. | DBA | 
| Execute o script em Python .  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
|  Crie os objetos no Amazon RDS para PostgreSQL | Execute os arquivos SQL e crie objetos na sua instância do banco de dados Amazon RDS para PostgreSQL. | DBA | 

## Recursos relacionados
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-resources"></a>
+ [Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Usar a interface de usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Usar Oracle como origem para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

## Anexos
<a name="attachments-c7eed517-e496-4e8e-a520-c1e43397419e"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)

# Faça o upload de arquivos BLOB em TEXT usando a codificação de arquivos no Aurora PostgreSQL-Compatible
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible"></a>

*Bhanu Ganesh Gudivada e Jeevan Shetty, Amazon Web Services*

## Resumo
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-summary"></a>

Muitas vezes, durante a migração, há casos em que você precisa processar dados estruturados e não estruturados que são carregados a partir de arquivos disponíveis em um sistema local. Os dados também podem estar em um conjunto de caracteres diferente do conjunto de caracteres do banco de dados.

Esses arquivos contêm os seguintes tipos de dados:
+ **Metadados**: esses dados descrevem a estrutura do arquivo.
+ **Dados semiestruturados**: são strings de texto em um formato específico, como JSON ou XML. Talvez você possa fazer afirmações sobre esses dados, como “sempre começará com '<'” ou “não contém nenhum caractere de nova linha”.
+ **Texto completo**: esses dados geralmente contêm todos os tipos de caracteres, incluindo caracteres de nova linha e aspas. Também pode consistir em caracteres de vários bytes em UTF-8.
+ **Dados binários** — esses dados podem conter bytes ou combinações de bytes, incluindo nulos e end-of-file marcadores.

Carregar uma mistura desses tipos de dados pode ser um desafio.

O padrão pode ser usado com bancos de dados Oracle locais, bancos de dados Oracle que estão em instâncias do Amazon Elastic Compute Cloud EC2 (Amazon) na Amazon Web Services (AWS) Cloud e Amazon Relational Database Service (Amazon RDS) para bancos de dados Oracle. Para fins de ilustração, esse padrão está usando o Amazon Aurora Edição Compatível com PostgreSQL.

No banco de dados Oracle, com a ajuda de um ponteiro `BFILE` (arquivo binário), do pacote `DBMS_LOB` e das funções do sistema Oracle, você pode carregar a partir do arquivo e convertê-lo em CLOB com codificação de caracteres. Como o PostgreSQL não fornece suporte para o tipo de dados BLOB ao migrar para um banco de dados Amazon Aurora Edição Compatível com PostgreSQL, essas funções devem ser convertidas em scripts compatíveis com o PostgreSQL.

Esse padrão fornece duas abordagens para carregar um arquivo em uma única coluna de um banco de dados Amazon Aurora compatível com PostgreSQL:
+ Abordagem 1 – Você importa dados do bucket do Amazon Simple Storage Service (Amazon S3) usando a função `table_import_from_s3` da extensão `aws_s3` com a opção de codificação.
+ Abordagem 2 – Você codifica em hexadecimal fora do banco de dados e, em seguida, decodifica para visualizar `TEXT` dentro do banco de dados.

Recomendamos usar a Abordagem 1 porque o Aurora compatível com PostgreSQL tem integração direta com a extensão `aws_s3`.

Esse padrão usa o exemplo de carregamento de um arquivo simples que contém um modelo de e-mail, caracteres de vários bytes e formatação distinta, em um banco de dados Amazon Aurora compatível com PostgreSQL.

## Pré-requisitos e limitações
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma instância do Amazon RDS ou uma instância do Aurora compatível com PostgreSQL
+ Uma compreensão básica do SQL e do sistema de gerenciamento de banco de dados relacional (RDBMS)
+ Um bucket do Amazon Simple Storage Service (Amazon S3).
+ Conhecimento das funções do sistema em Oracle e PostgreSQL
+ Pacote RPM HexDump -XXD-0.1.1 (incluído no Amazon Linux 2)
**nota**  
O Amazon Linux 2 está se aproximando do fim do suporte. Para obter mais informações, consulte o [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).

**Limitações**
+ Para o tipo de dados `TEXT`, o string de caracteres mais longo possível que pode ser armazenado é de cerca de 1 GB.

**Versões do produto**
+ [O Aurora oferece suporte às versões do PostgreSQL listadas nas atualizações do Amazon Aurora PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html)

## Arquitetura
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-architecture"></a>

**Pilha de tecnologias de destino**
+ Aurora compatível com PostgreSQL

**Arquitetura de destino**

*Abordagem 1 – Usar aws\$1s3.table\$1import\$1from\$1s3 *

A partir de um servidor on-premises, um arquivo contendo um modelo de e-mail com caracteres de vários bytes e formatação personalizada é transferido para o Amazon S3. A função de banco de dados personalizada fornecida por esse padrão usa a função `aws_s3.table_import_from_s3` com `file_encoding` para carregar arquivos no banco de dados e retornar os resultados da consulta  como o tipo de dados `TEXT`.

![\[Processo em quatro etapas, desde o servidor on-premises até a saída TEXT, proveniente do banco de dados do Aurora.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/9c46b385-e8a0-4e50-b856-d522c44d79e3.png)


1. Os arquivos são transferidos para o bucket do S3 de preparação.

1. Os arquivos são carregados para o banco de dados Amazon Aurora PostgreSQL-Compatible.

1. Usando o cliente pGAdmin, a função personalizada `load_file_into_clob` é implantada no banco de dados Aurora.

1. A função personalizada usa `table_import_from_s3` internamente com file\$1encoding. O resultado da função é obtido usando `array_to_string` e `array_agg` como o resultado `TEXT`.

*Abordagem 2 – Codificação em hexadecimal fora do banco de dados e, em seguida, decodifica para visualizar TEXT dentro do banco de dados*

Um arquivo de um servidor on-premises ou de um sistema de arquivos local é convertido em um hex dump. Em seguida, o arquivo é importado para o PostgreSQL como um campo `TEXT`.

![\[Processo em três etapas usando o despejo hexadecimal.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/563038ca-f890-4874-85df-d0f82d99800a.png)


1. Converta o arquivo em um hex dump na linha de comando usando a opção `xxd -p`.

1. Faça upload dos arquivos hex dump no Aurora PostgreSQL-Compatible usando a opção `\copy` e, em seguida, decodifique os arquivos hex dump em binário.

1. Codifique os dados binários para que sejam retornados como `TEXT`.

## Ferramentas
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ A [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.

**Outras ferramentas**
+ O [pgAdmin4](https://www.pgadmin.org/) é uma plataforma de administração e desenvolvimento de código aberto para o PostgreSQL. O pgAdmin4 pode ser usado em Linux, Unix, mac OS e Windows para gerenciar o PostgreSQL.  

## Épicos
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-epics"></a>

### Abordagem 1: importar dados do Amazon S3 para o Aurora PostgreSQL-Compatible
<a name="approach-1-import-data-from-amazon-s3-to-aurora-postgresql-compatible"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute uma EC2 instância. | Para obter instruções sobre como iniciar uma instância, consulte [Executar sua instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | DBA | 
| Instale a ferramenta pgAdmin do cliente PostgreSQL. | Baixe e instale [pgAdmin](https://www.pgadmin.org/download/). | DBA | 
| Crie uma política do IAM. | Crie uma política do AWS Identity and Access Management (IAM) chamada `aurora-s3-access-pol` que concede acesso ao bucket do S3 onde os arquivos serão armazenados. Use o código a seguir, `<bucket-name>` para substituir pelo nome do bucket do S3.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:DeleteObject",<br />                "s3:ListMultipartUploadParts",<br />                "s3:PutObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<bucket-name>/*",<br />                "arn:aws:s3:::<bucket-name>"<br />            ]<br />        }<br />    ]<br />}</pre> | DBA | 
| Crie um perfil do IAM para importação de objetos do Amazon S3 para o Aurora PostgreSQL-Compatible. | Use o código a seguir para criar uma função do IAM chamada `aurora-s3-import-role` com a relação de [AssumeRole](https://docs.amazonaws.cn/en_us/STS/latest/APIReference/API_AssumeRole.html)confiança. `AssumeRole`permite que a Aurora acesse outros serviços da AWS em seu nome.<pre>{<br />  "Version": "2012-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Effect": "Allow","Principal": {<br />        "Service": "rds.amazonaws.com"<br />      },"Action": "sts:AssumeRole"<br />    }<br />  ]<br />}<br /></pre> | DBA | 
| Associe o perfil do IAM ao cluster. | Para associar o perfil do IAM ao cluster do banco de dados Aurora PostgreSQL-Compatible, execute o comando da AWS CLI a seguir. Altere `<Account-ID>` para o ID da conta da AWS que hospeda o banco de dados Aurora PostgreSQL-Compatible. Isso permite que o banco de dados Aurora PostgreSQL-Compatible acesse o bucket do S3.<pre>aws rds add-role-to-db-cluster --db-cluster-identifier aurora-postgres-cl<br />--feature-name s3Import --role-arn arn:aws:iam::<Account-ID>:role/aurora-s3-import-role</pre> | DBA | 
| Faça o upload do exemplo para o Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA, proprietário do aplicativo | 
| Implante a função personalizada. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Proprietário do aplicativo, DBA | 
| Execute a função personalizada para importar os dados para o banco de dados. | Execute o comando SQL a seguir, substituindo os itens entre parênteses angulares pelos valores apropriados.<pre>select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>Substitua os itens entre parênteses angulares pelos valores apropriados, conforme mostrado no exemplo a seguir, antes de executar o comando.<pre>Select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>O comando carrega o arquivo do Amazon S3 e retorna o resultado como `TEXT`. | Proprietário do aplicativo, DBA | 

### Abordagem 2: converter o arquivo de modelo em um hex dump em um sistema Linux local
<a name="approach-2-convert-the-template-file-into-a-hex-dump-in-a-local-linux-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Converta o arquivo do modelo em um hex dump. | O utilitário Hexdump exibe o conteúdo dos arquivos binários em hexadecimal, decimal, octal ou ASCII. O comando `hexdump` faz parte do pacote `util-linux` e vem pré-instalado nas distribuições Linux. O pacote Hexdump RPM também faz parte do Amazon Linux 2. (: O suporte do Amazon Linux 2 está chegando ao fim. Para obter mais informações, consulte o [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).)Para converter o conteúdo do arquivo em um hex dump, execute o seguinte comando shell.<pre>xxd -p </path/file.vm> | tr -d '\n' > </path/file.hex></pre>Substitua o caminho e o arquivo pelos valores apropriados, conforme mostrado no exemplo a seguir.<pre>xxd -p employee.salary.event.notification.email.vm | tr -d '\n' > employee.salary.event.notification.email.vm.hex</pre> | DBA | 
| Carregue o arquivo hexdump no esquema do banco de dados. | Use os comandos a seguir para carregar o arquivo hexdump no banco de dados Aurora PostgreSQL-Compatible.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA | 

## Recursos relacionados
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-resources"></a>

**Referências**
+ [Uso do banco de dados PostgreSQL como origem para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manual de migração do Oracle Database 19c para o Amazon Aurora com compatibilidade com PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
+ [Associar um perfil do IAM a um cluster de banco de dados do Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)
+ [pgAdmin](https://www.pgadmin.org/)

**Tutoriais**
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Migre do Oracle para o Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

## Mais informações
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-additional"></a>

**função personalizada load\$1file\$1into\$1clob**

```
CREATE OR REPLACE FUNCTION load_file_into_clob(
    s3_bucket_name text,
    s3_bucket_region text,
    file_name text,
    file_delimiter character DEFAULT '&'::bpchar,
    file_encoding text DEFAULT 'UTF8'::text)
    RETURNS text
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
    blob_data BYTEA;
    clob_data TEXT;
    l_table_name CHARACTER VARYING(50) := 'file_upload_hex';
    l_column_name CHARACTER VARYING(50) := 'template';
    l_return_text TEXT;
    l_option_text CHARACTER VARYING(150);
    l_sql_stmt CHARACTER VARYING(500);
        
BEGIN
    
    EXECUTE format ('CREATE TEMPORARY TABLE %I (%I text, id_serial serial)', l_table_name, l_column_name);
    
    l_sql_stmt := 'select ''(format text, delimiter ''''' || file_delimiter || ''''', encoding ''''' || file_encoding ||  ''''')'' ';
    
    EXECUTE FORMAT(l_sql_stmt)
    INTO l_option_text;
    
    EXECUTE FORMAT('SELECT aws_s3.table_import_from_s3($1,$2,$6, aws_commons.create_s3_uri($3,$4,$5))')
    INTO l_return_text
    USING l_table_name, l_column_name, s3_bucket_name, file_name,s3_bucket_region,l_option_text;
    
    EXECUTE format('select array_to_string(array_agg(%I order by id_serial),E''\n'') from %I', l_column_name, l_table_name)
    INTO clob_data;
    
    drop table file_upload_hex;
    
    RETURN clob_data;
END;
$BODY$;
```

**Modelo de e-mail**

```
######################################################################################
##                                                                                    ##
##    johndoe Template Type: email                                                    ##
##    File: johndoe.salary.event.notification.email.vm                                ##
##    Author: Aimée Étienne    Date 1/10/2021                                                ##
##  Purpose: Email template used by EmplmanagerEJB to inform a johndoe they         ##
##        have been given access to a salary event                                    ##
##    Template Attributes:                                                             ##
##        invitedUser - PersonDetails object for the invited user                        ##
##        salaryEvent - OfferDetails object for the event the user was given access    ##
##        buyercollege - CompDetails object for the college owning the salary event    ##
##        salaryCoordinator - PersonDetails of the salary coordinator for the event    ##
##        idp - Identity Provider of the email recipient                                ##
##        httpWebRoot - HTTP address of the server                                    ##
##                                                                                    ##
######################################################################################

$!invitedUser.firstname $!invitedUser.lastname,

Ce courriel confirme que vous avez ete invite par $!salaryCoordinator.firstname $!salaryCoordinator.lastname de $buyercollege.collegeName a participer a l'evenement "$salaryEvent.offeringtitle" sur johndoeMaster Sourcing Intelligence.

Votre nom d'utilisateur est $!invitedUser.username

Veuillez suivre le lien ci-dessous pour acceder a l'evenement.

${httpWebRoot}/myDashboard.do?idp=$!{idp}

Si vous avez oublie votre mot de passe, utilisez le lien "Mot de passe oublie" situe sur l'ecran de connexion et entrez votre nom d'utilisateur ci-dessus.

Si vous avez des questions ou des preoccupations, nous vous invitons a communiquer avec le coordonnateur de l'evenement $!salaryCoordinator.firstname $!salaryCoordinator.lastname au ${salaryCoordinator.workphone}.

*******

johndoeMaster Sourcing Intelligence est une plateforme de soumission en ligne pour les equipements, les materiaux et les services.

Si vous avez des difficultes ou des questions, envoyez un courriel a support@johndoeMaster.com pour obtenir de l'aide.
```

# Migre o Amazon RDS for Oracle para o Amazon AWS SCT RDS for PostgreSQL com e usando e AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Esse padrão mostra como migrar uma instância de banco de dados Amazon [Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) for Oracle de vários terabytes para uma instância de banco de dados [Amazon RDS for PostgreSQL usando](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) o (). AWS Command Line Interface AWS CLI A abordagem fornece tempo de inatividade mínimo e não requer login no Console de gerenciamento da AWS.

Esse padrão ajuda a evitar configurações manuais e migrações individuais usando os consoles AWS Schema Conversion Tool (AWS SCT) e AWS Database Migration Service (AWS DMS). A solução configura uma configuração única para vários bancos de dados e executa as migrações usando AWS SCT e AWS DMS no. AWS CLI

O padrão é usado AWS SCT para converter objetos do esquema de banco de dados do Amazon RDS para Oracle para o Amazon RDS for PostgreSQL e, em seguida, é usado para migrar os dados. AWS DMS Usando scripts Python em AWS CLI, você cria AWS SCT objetos e AWS DMS tarefas com um CloudFormation modelo.

## Pré-requisitos e limitações
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Instância de banco de dados existente Amazon RDS para Oracle.
+ Uma instância existente de banco de dados do Amazon RDS para PostgreSQL. 
+ Uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou máquina local com sistema operacional Windows ou Linux para execução de scripts.
+ Uma compreensão dos seguintes tipos de tarefas de AWS DMS migração:`full-load`,`cdc`,`full-load-and-cdc`.  Para obter mais informações, consulte [Criação de uma tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) na AWS DMS documentação. 
+ O AWS SCT instalado e configurado com drivers Java Database Connectivity (JDBC) para os mecanismos de banco de dados da Oracle e do PostgreSQL. Para obter mais informações, consulte [Instalação e configuração AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) na AWS SCT documentação. 
+ O `AWSSchemaConversionToolBatch.jar` arquivo da AWS SCT pasta instalada, copiado para o seu diretório de trabalho.
+ O arquivo `cli-sct-dms-cft.zip` (anexo), baixado e extraído em seu diretório de trabalho.
+ A versão mais recente do mecanismo AWS DMS de instância de replicação. Para obter mais informações, consulte [Como faço para criar uma instância de AWS DMS replicação](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) na AWS Support documentação e nas [notas de AWS DMS versão](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI versão 2, instalada e configurada com seu ID de chave de acesso, chave de acesso secreta e Região da AWS nome padrão para a EC2 instância ou sistema operacional em que os scripts são executados. Para obter mais informações, consulte [Instalando ou atualizando para a versão mais recente do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Definindo as configurações do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) na AWS CLI documentação. 
+ Familiaridade com CloudFormation modelos. Para obter mais informações, consulte [Como CloudFormation funciona](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) na CloudFormation documentação. 
+ Python versão 3, instalado e configurado na EC2 instância ou no sistema operacional em que os scripts são executados. Para obter mais informações, consulte a [documentação do Python](https://docs.python.org/3/). 

**Limitações**
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para Oracle de origem são: 
  + As versões da Oracle 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) e 19c (19.0.0.0) são compatíveis com as edições Enterprise, Standard, Standard One e Standard Two.
  + Embora o Amazon RDS ofereça suporte ao Oracle 18c (18.0.0.0), essa versão está em um caminho de descontinuação porque a Oracle não fornece mais patches para 18c após a data. end-of-support Para obter mais informações, consulte o [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) na documentação do Amazon RDS.
  + O Amazon RDS para Oracle 11g não é mais compatível.
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para PostgreSQL de origem são: 
  + As versões do PostgreSQL incluem 9 (9.5 e 9.6), 10.x, 11.x, 12.x e 13.x.

**Versões do produto**
+ Instância do banco de dados Amazon RDS para Oracle versão 12.1.0.2 e posteriores
+ Instância do banco de dados Amazon RDS para PostgreSQL versão 11.5 e posteriores
+ AWS CLI versão 2 
+ A versão mais recente do AWS SCT
+ A versão mais recente do Python 3

## Arquitetura
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Pilha de tecnologia de origem**
+ Amazon RDS para Oracle

**Pilha de tecnologias de destino**
+ Amazon RDS para PostgreSQL

**Arquitetura de origem e destino **

O diagrama a seguir mostra a migração de uma instância de banco de dados Amazon RDS for Oracle para uma instância de banco de dados Amazon RDS for PostgreSQL AWS DMS usando scripts Python.

![\[Migração de uma instância de banco de dados do RDS para Oracle para uma instância de banco de dados do RDS para PostgreSQL usando o AWS DMS e o Python.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

O diagrama mostra o seguinte fluxo de trabalho de migração:

1. O script Python é usado AWS SCT para se conectar às instâncias de banco de dados de origem e de destino.

1. O usuário começa AWS SCT com o script Python, converte o código Oracle em código PostgreSQL e o executa na instância de banco de dados de destino.

1. O script Python cria tarefas de AWS DMS replicação para as instâncias de banco de dados de origem e de destino.

1. O usuário implanta scripts Python para iniciar as tarefas e, em seguida, interrompe AWS DMS as tarefas após a conclusão da migração de dados.

**Automação e escala**

É possível automatizar esta migração adicionando parâmetros e alterações relacionadas à segurança ao script em Python a fim de fornecer funcionalidades adicionais. 

## Ferramentas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que ajuda você a interagir com os serviços da AWS por meio de comandos em seu shell de linha de comando.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los em todo o seu ciclo de vida em todas Contas da AWS as regiões. Este padrão converte o arquivo de entrada `.csv` em um arquivo de entrada `.json` usando um script em Python. O `.json` arquivo é usado em AWS CLI comandos para criar uma CloudFormation pilha que cria várias tarefas de AWS DMS replicação com Amazon Resource Names (ARNs), tipos de migração, configurações de tarefas e mapeamentos de tabelas.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para Nuvem AWS ou entre combinações de configurações na nuvem e no local. Esse padrão é usado AWS DMS para criar, iniciar e interromper tarefas com um script Python executado na linha de comando e para criar o CloudFormation modelo.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino. Esse padrão requer o `AWSSchemaConversionToolBatch.jar` arquivo do AWS SCT diretório instalado.

**Código **

O arquivo `cli-sct-dms-cft.zip` (anexo) contém o código-fonte completo para esse padrão.

## Épicos
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Configure AWS SCT e crie objetos de banco de dados no AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure AWS SCT para ser executado a partir do AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Execute o script em Python `run_aws_sct.py`. | Execute o script `run_aws_sct.py` do Python usando o comando a seguir:`$ python run_aws_sct.py database_migration.txt`O script do Python converte os objetos do banco de dados do Oracle para o PostgreSQL e cria arquivos SQL no formato PostgreSQL. O script também gera o arquivo em PDF `Database migration assessment report`, que fornece recomendações detalhadas e estatísticas de conversão para os objetos de banco de dados. | DBA | 
| Crie objetos no Amazon RDS para PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 

### Configure e crie AWS DMS tarefas usando o AWS CLI e CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de AWS DMS replicação. | Faça login no Console de gerenciamento da AWS, abra o [AWS DMS console](https://console.aws.amazon.com/dms/v2/) e crie uma instância de replicação configurada de acordo com seus requisitos.Para obter mais informações, consulte [Criação de uma instância de replicação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) na AWS DMS documentação e [Como faço para criar uma instância de AWS DMS replicação](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) na AWS Support documentação. | DBA | 
| Crie um endpoint de origem. | No AWS DMS console, escolha **Endpoints** e, em seguida, crie um endpoint de origem para o banco de dados Oracle de acordo com seus requisitos. O atributo de conexão extra deve ser `numberDataTypeScale` com um valor `-2`.Para obter mais informações, consulte [Criação de endpoints de origem e destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) na AWS DMS documentação. | DBA | 
| Crie um endpoint de destino. | No AWS DMS console, escolha **Endpoints** e, em seguida, crie um endpoint de destino para o banco de dados PostgreSQL de acordo com seus requisitos.  Para obter mais informações, consulte [Criação de endpoints de origem e destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) na AWS DMS documentação. | DevOps engenheiro | 
| Configure os detalhes da AWS DMS replicação para serem executados a partir do AWS CLI. | Configure os endpoints de AWS DMS origem e de destino e os detalhes da replicação no `dms-arn-list.txt` arquivo com o ARN do endpoint de origem, o ARN do endpoint de destino e o ARN da instância de replicação usando o seguinte formato:<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | DBA | 
| Execute o script `dms-create-task.py` Python para criar as AWS DMS tarefas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Verifique se as AWS DMS tarefas estão prontas. | No AWS DMS console, verifique se suas AWS DMS tarefas estão em `Ready` status na seção **Status**. | DBA | 

### Inicie e interrompa as AWS DMS tarefas usando o AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie as AWS DMS tarefas. | Execute o script `dms-start-task.py` do Python usando o comando a seguir:<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>A data e o horário de início devem estar no formato `'DD-MON-YYYY'` ou `'YYYY-MM-DDTHH:MI:SS'` (por exemplo, `'01-Dec-2019'` ou `'2018-03-08T12:12:12'`).Você pode revisar o status da AWS DMS tarefa na guia **Estatísticas da tabela** na página **Tarefas** do AWS DMS console. | DBA | 
| Valide os dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Para obter mais informações, consulte a [validação de AWS DMS dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) na AWS DMS documentação. | DBA | 
| Pare as AWS DMS tarefas. | Execute o script do Python usando o comando a seguir:<pre>$ python dms-start-task.py stop</pre>AWS DMS as tarefas podem parar com um `failed` status, dependendo do status de validação. Para obter mais informações, consulte a próxima seção. | DBA | 

## Solução de problemas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| AWS SCT as conexões de teste de origem e destino falham. | Configure as versões do driver JDBC e as regras de entrada do grupo de segurança da VPC para aceitar o tráfego de entrada. | 
| A execução do teste de endpoint de origem ou de destino falha. | Verifique se as configurações do endpoint e a instância de replicação estão com status `Available`. Verifique se o status da conexão do endpoint é `Successful`. Para obter mais informações, consulte [Como soluciono falhas de conectividade de endpoints do AWS DMS na documentação](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/). AWS Support  | 
| A execução de carga máxima falha. | Verifique se os bancos de dados de origem e de destino têm tipos e tamanhos de dados correspondentes. Para obter mais informações, consulte [Solução de problemas de tarefas de migração AWS DMS na](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) AWS DMS documentação. | 
| Você encontra erros na execução de validação. | Verifique se a tabela tem uma chave primária porque as tabelas de chave não primária não estão validadas.Se a tabela tiver uma chave primária, mas retornar erros, verifique o atributo de conexão extra no endpoint de origem tem `numberDataTypeScale=-2`.Para obter mais informações, consulte [Configurações do endpoint ao usar o Oracle como fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) e [Solução de problemas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) na AWS DMS documentação. AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html) | 

## Recursos relacionados
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Instalando e configurando AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Introduction to AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (vídeo)
+ [Exemplos de comandos de operação de CloudFormation pilha para e AWS CLI PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Navegando pela interface do usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Usando um banco de dados Oracle como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Conectando-se aos bancos de dados Oracle com AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ [Usando um banco de dados PostgreSQL como alvo para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Origens para a migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Destinos para a migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [cloudformation (documentação](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html))AWS CLI 
+ [create-stack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html) (documentação)AWS CLI  
+ [dms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html) (AWS CLI documentação) 

## Anexos
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)

# Migre o Amazon RDS para Oracle para o Amazon RDS para PostgreSQL no modo SSL usando o AWS DMS
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-summary"></a>

Este padrão fornece orientação para migração de uma instância do banco de dados Amazon Relational Database Service (Amazon RDS) para Oracle para um banco de dados do Amazon RDS para PostgreSQL na nuvem da Amazon Web Services (AWS). Para criptografar conexões entre os bancos de dados, o padrão usa autoridade de certificação (CA) e modo SSL no Amazon RDS e no AWS Database Migration Service (AWS DMS).

O padrão descreve uma estratégia de migração on-line com pouco ou nenhum tempo de inatividade para um banco de dados de origem Oracle de vários terabytes com um grande número de transações. Visando à segurança dos dados, o padrão usa SSL ao transferir os dados.

Esse padrão usa o AWS Schema Conversion Tool (AWS SCT) para converter o esquema de banco de dados Amazon RDS para Oracle em um esquema do Amazon RDS para PostgreSQL. Em seguida, o padrão usa o AWS DMS para migrar dados do banco de dados Amazon RDS para Oracle para o banco de dados Amazon RDS para PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Autoridade de certificação (CA) do banco de dados Amazon RDS configurada somente com ***rds-ca-rsa2048-g1*** 
  + O certificado ***rds-ca-2019*** expirou em agosto de 2024.
  + O certificado ***rds-ca-2015*** expirou em 5 de março de 2020.
+ AWS SCT
+ AWS DMS
+ pgAdmin
+ Ferramentas SQL (por exemplo, SQL Developer ou SQL\$1Plus)

**Limitações**
+ Banco de dados Amazon RDS para Oracle: o requisito mínimo é para as versões 19c da Oracle para as edições Enterprise e Standard Two.
+ Banco de dados Amazon RDS para PostgreSQL: o requisito mínimo é para o PostgreSQL versão 12 e posterior (para versões 9.x e posteriores).

**Versões do produto**
+ Instância do banco de dados Amazon RDS para Oracle versão 12.1.0.2
+ Instância do banco de dados Amazon RDS para PostgreSQL versão 11.5

## Arquitetura
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Instância de banco de dados Amazon RDS para Oracle versão 12.1.0.2.v18.

**Pilha de tecnologias de destino**
+ AWS DMS
+ Instância de banco de dados Amazon RDS para PostgreSQL versão 11.5.

**Arquitetura de destino**

O diagrama a seguir mostra a arquitetura da arquitetura de migração de dados entre os bancos de dados Oracle (origem) e PostgreSQL (destino). A arquitetura inclui o seguinte:
+ Uma nuvem privada virtual (VPC)
+ Uma zona de disponibilidade
+ Uma sub-rede privada
+ Um banco de dados Amazon RDS para Oracle
+ Uma instância de replicação do AWS DMS
+ Um banco de dados RDS para PostgreSQL

Para criptografar conexões para bancos de dados de origem e destino, os modos CA e SSL devem estar habilitados no Amazon RDS e no AWS DMS.

![\[Movimento dos dados entre RDS para Oracle e o AWS DMS, bem como entre o AWS DMS e o RDS para PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7098e2a3-b456-4e14-8881-c97145aef483/images/55b50ff7-1e6a-4ff0-9bcd-2fd419d5316a.png)


## Ferramentas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-tools"></a>

**Serviços da AWS**
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) ajuda você a configurar, operar e escalar um banco de dados relacional Oracle na Nuvem AWS.
+ O [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ajuda você a configurar, operar e escalar um banco de dados relacional PostgreSQL na Nuvem AWS.
+ O [AWS Schema Conversion Tool (AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.

**Outros serviços**
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.

## Práticas recomendadas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-best-practices"></a>

O Amazon RDS fornece novos certificados CA como uma prática recomendada de segurança daAWS. Para obter informações sobre os novos certificados e as regiões compatíveis da AWS, consulte Como [usar SSL/TLS para criptografar uma conexão com uma instância de banco de dados ou cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html).

Se sua instância do RDS estiver atualmente no certificado CA `rds-ca-2019` e você quiser fazer o upgrade para `rds-ca-rsa2048-g1`, siga as instruções em [Atualizar seu certificado de CA modificando sua instância de banco de dados ou cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating) ou [Atualizar seu certificado de CA aplicando manutenção](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update).

## Épicos
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-epics"></a>

### Configurar a instância do Amazon RDS para Oracle
<a name="configure-the-amazon-rds-for-oracle-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a instância do banco de dados Oracle. | Faça login em sua conta AWS, abra o Console de Gerenciamento da AWS e navegue até o console do Amazon RDS. No console, escolha **Criar banco de dados** e, em seguida, **Oracle**. | AWS, DBA geral | 
| Configurar grupos de segurança. | Configurar grupos de segurança de entrada e saída. | AWS geral | 
| Crie um grupo de opções. | Crie um grupo de opções na mesma VPC e no mesmo grupo de segurança do banco de dados Amazon RDS para Oracle. Em **Opção**, escolha **SSL**. Em **Porta**, escolha **2484** (para conexões SSL). | AWS geral | 
| Defina as configurações da opção. | Use as seguintes configurações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Modifique a instância do banco de dados RDS para Oracle. | Defina o certificado CA como **rds-ca-rsa2048-g1**. Em **Grupo de opções**, anexe o grupo de opções criado anteriormente. | AWS, DBA geral | 
| Confirme se a instância do banco de dados RDS para Oracle está disponível. | Certifique-se de que a instância do banco de dados Amazon RDS para Oracle esteja em execução e que o esquema do banco de dados esteja acessível.Para se conectar ao banco de dados RDS para Oracle, use o comando `sqlplus` da linha de comando.<pre>$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL<br />SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019<br />Copyright (c) 1982, 2016, Oracle.  All rights reserved.<br />Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30<br />Connected to:<br />Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production<br />With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options<br />SQL></pre> | DBA | 
| Crie objetos e dados no banco de dados RDS para Oracle. | Crie objetos e insira dados no esquema. | DBA | 

### Configure a instância do Amazon RDS para PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o banco de dados RDS para PostgreSQL. | Na página **Criar banco de dados** do console do Amazon RDS, escolha **PostgreSQL** para criar uma instância do banco de dados Amazon RDS para PostgreSQL. | AWS, DBA geral | 
| Configurar grupos de segurança. | Configurar grupos de segurança de entrada e saída. | AWS geral | 
| Criar um grupo de parâmetros. | Se você estiver usando a versão 11.x do PostgreSQL, crie um grupo de parâmetros para definir os parâmetros SSL. Na versão 12 do PostgreSQL, o grupo de parâmetros SSL é ativado por padrão. | AWS geral | 
| Edite os parâmetros. | Altere o parâmetro `rds.force_ssl` para `1` (ativado).Por padrão, o parâmetro `ssl` é `1` (ativado). Ao definir o parâmetro `rds.force_ssl` como `1`, você força todas as conexões a se conectarem somente pelo modo SSL. | AWS geral | 
| Modifique a instância de banco de dados do RDS para PostgreSQL. | Defina o certificado CA como **rds-ca-rsa2048-g1**. Anexe o grupo de parâmetros padrão ou o grupo de parâmetros criado anteriormente, dependendo da sua versão do PostgreSQL. | AWS, DBA geral | 
| Confirme se a instância do banco de dados RDS para Oracle está disponível. | Certifique-se de que o banco de dados Amazon RDS para PostgreSQL esteja em execução.O comando `psql` estabelece uma conexão SSL com `sslmode` definido na linha de comando.Uma opção é definir `sslmode=1` no grupo de parâmetros e usar uma conexão `psql` sem incluir o parâmetro `sslmode` no comando.O resultado a seguir mostra que a conexão SSL foi estabelecida.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser"<br />Password for user pguser:<br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre>Uma segunda opção é definir `sslmode=1` no grupo de parâmetros e incluir o parâmetro `sslmode` no comando `psql`.O resultado a seguir mostra que a conexão SSL foi estabelecida.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require"<br />Password for user pguser: <br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre> | DBA | 

### Configurar e executar o AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale a AWS SCT. | Instale a versão mais recente do aplicativo AWS SCT. | AWS geral | 
| Configure o AWS SCT com drivers JDBC. | Baixe os drivers Java Database Connectivity (JDBC) para Oracle ([ojdbc8.jar](https://download.oracle.com/otn-pub/otn_software/jdbc/233/ojdbc8.jar)) e PostgreSQL ([postgresql-42.2.5.jar](https://jdbc.postgresql.org/download/postgresql-42.2.19.jar)).Para configurar os drivers no AWS SCT, escolha **Configurações**, **Configurações globais** e **Drivers**. | AWS geral | 
| Crie um projeto AWS SCT. | Crie o projeto e o relatório do AWS SCT usando o Oracle como o mecanismo de banco de dados de origem e o Amazon RDS para PostgreSQL como o mecanismo de banco de dados de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Valide objetos do banco de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS, DBA geral | 

### Configurar e executar o AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criação de uma instância de replicação. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Importar o certificado. | Baixe o [pacote de certificados (PEM)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions) para sua região da AWS.O pacote contém os certificados intermediário e raiz do `rds-ca-2019`. O pacote também contém os certificados CA raiz do `rds-ca-rsa2048-g1`, do `rds-ca-rsa4096-g1` e do `rds-ca-ecc384-g1`. O repositório confiável da aplicação precisa registrar somente o certificado CA raiz. | AWS geral | 
| Crie um endpoint de origem. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Para obter mais informações, consulte [Uso de um banco de dados do Oracle como origem do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | AWS geral | 
| Crie um endpoint de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Para obter mais informações, consulte [Uso de um banco de dados do PostgreSQL como destino do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html). | AWS geral | 
| Testar os endpoints. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Criar tarefas de migração. | Para criar uma tarefa de migração para carga total e captura de dados de alteração (CDC) ou para validação de dados, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Planeje a execução da produção. | Confirme o tempo de inatividade com as partes interessadas, como proprietários de aplicativos, para executar o AWS DMS em sistemas de produção. | Líder de migração | 
| Pare a tarefa de migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Valide os dados. | Analise os resultados e os dados da tarefa de migração nos bancos de dados Oracle de origem e PostgreSQL de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | DBA | 
| Pare a tarefa de migração. | Depois de concluir com êxito a validação dos dados, interrompa a tarefa de migração. | AWS geral | 

### Limpe os recursos
<a name="clean-up-the-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exclua as tarefas do AWS DMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Exclua os endpoints do AWS DMS. | Selecione os endpoints de origem e de destino que você criou, escolha **Ações** e, em seguida, **Excluir**. | AWS geral | 
| Exclua a instância de replicação do AWS DMS. | Escolha a instância de replicação, **Ações** e, em seguida, escolha **Excluir**. | AWS geral | 
| Exclua o banco de dados PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS geral | 
| Exclua o banco de dados Oracle. | No console do Amazon RDS, selecione a instância do banco de dados Oracle, escolha **Ações** e, em seguida, **Excluir**. | AWS geral | 

## Solução de problemas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| As conexões de teste de origem e de destino do AWS SCT estão falhando. | Configure as versões do driver JDBC e as regras de entrada do grupo de segurança da VPC para aceitar o tráfego de entrada. | 
| A execução do teste do endpoint de origem Oracle falha. | Verifique as configurações do endpoint e se a instância de replicação está disponível. | 
| A execução de carga total da tarefa do AWS DMS falha. | Verifique se os bancos de dados de origem e de destino têm tipos e tamanhos de dados correspondentes. | 
| A tarefa de migração de validação do AWS DMS retorna erros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | 

## Recursos relacionados
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-resources"></a>

**Bancos de dados**
+ [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)

**Conexões de bancos de dados SSL**
+ [Usando SSL/TLS para criptografar uma conexão com uma instância de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
  + [Usar SSL com um RDS para uma instância de banco de dados Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.SSL.html)
  + [Proteger conexões com o RDS para PostgreSQL com SSL/TLS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.Security.html)
  + [Download de pacotes de certificados para regiões da AWS específicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions)
    + [Baixe o certificado-raiz CA-2019](https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem) (expirou em agosto de 2024)
+ [Trabalhar com grupos de opções](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)
  + [Adição de opções a instâncias de banco de dados Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)
  + [Oracle Secure Sockets Layer](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html)
+ [Trabalhar com grupos de parâmetros](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)
+ [Parâmetro de conexão sslmode do PostgreSQL](https://www.postgresql.org/docs/11/libpq-connect.html#LIBPQ-CONNECT-SSLMODE)
+ [Usar SSL do JDBC](https://jdbc.postgresql.org/documentation/ssl/)
+ [Rotação do seu certificado SSL/TLS ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
  + [Atualizando seu certificado CA modificando sua instância de banco de dados ou cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating)
  + [Atualizando seu certificado CA aplicando a manutenção](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update)

**AWS SCT**
+ [AWS Schema Conversion Tool](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guia do usuário do AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Usar a interface de usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Usar um banco de dados Oracle como origem do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guia do usuário do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
  + [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
  + [Usar um banco de dados PostgreSQL como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Usar o SSL com o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.SSL.html)
+ [Migração de aplicativos que executam bancos de dados relacionais para a AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

## Mais informações
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-additional"></a>

Os certificados `rds-ca-2019` da autoridade de certificação do Amazon RDS expiraram em agosto de 2024. Se você usa ou planeja usar SSL ou TLS com verificação de certificado para se conectar às suas instâncias de banco de dados do RDS ou clusters de banco de dados Multi-AZ, considere usar um dos novos certificados de CA: `rds-ca-rsa2048-g1`, `rds-ca-rsa4096-g1` ou `rds-ca-ecc384-g1`.

# Migrar os pacotes de pragma Oracle SERIALLY\$1REUSABLE para o PostgreSQL
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql"></a>

*Vinay Paladi, Amazon Web Services*

## Resumo
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-summary"></a>

Esse padrão fornece uma step-by-step abordagem para migrar pacotes Oracle definidos como pragma SERIALLY\$1REUSABLE para o PostgreSQL na Amazon Web Services (AWS). Essa abordagem mantém a funcionalidade do pragma SERIALLY\$1REUSABLE.

O PostgreSQL não suporta o conceito de pacotes e o pragma SERIALLY\$1REUSABLE. Para obter uma funcionalidade semelhante no PostgreSQL, você pode criar esquemas para pacotes e implantar todos os objetos relacionados (como funções, procedimentos e tipos) dentro dos esquemas. Para aplicar essas variáveis, o exemplo de script de função wrapper fornecido nesse padrão usa um [pacote de extensão do AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html).

Para obter mais informações, consulte o [Pragma SERIALLY\$1REUSABLE](https://docs.oracle.com/cd/B13789_01/appdev.101/b10807/13_elems046.htm) na documentação da Oracle.

## Pré-requisitos e limitações
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ A versão mais recente do AWS SCT e os drivers necessários
+ Um banco de dados Amazon Aurora Edição Compatível com PostgreSQL ou Amazon Relational Database Service (Amazon RDS) para banco de dados PostgreSQL 

**Versões do produto**
+ Banco de dados Oracle versão 10g e posterior

## Arquitetura
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados Oracle on-premises

**Pilha de tecnologias de destino**
+ [Compatível com Aurora PostgreSQL ou Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/aurora/details/postgresql-details/)
+ AWS SCT

**Arquitetura de migração**

![\[Dados do banco de dados da Oracle on-premises são migrados para a AWS usando o AWS SCT, os arquivos .sql e a conversão manual para PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/fe3c45d2-6ea4-43b5-adb1-18f068f126b9/images/2dc90708-e300-4251-9d12-de97b6588b72.png)


## Ferramentas
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-tools"></a>

**Serviços da AWS**
+ O [AWS Schema Conversion Tool (AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ [O Amazon Relational Database Service (Amazon RDS) para PostgreSQL ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)ajuda você a configurar, operar e escalar um banco de dados relacional PostgreSQL na Nuvem AWS.

**Outras ferramentas**
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.

## Épicos
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-epics"></a>

### Migrar o pacote Oracle usando o AWS SCT
<a name="migrate-the-oracle-package-by-using-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar o AWS SCT. | Configurar a conectividade do AWS SCT com o banco de dados de origem. Para obter mais informações, consulte [Uso de banco de dados Oracle como origem para o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html). | DBA, Desenvolvedor | 
| Converter o script. | Use o AWS SCT para converter o pacote Oracle selecionando o banco de dados de destino como compatível com o Aurora PostgreSQL. | DBA, Desenvolvedor | 
| Salve os arquivos .sql. | Antes de salvar o arquivo .sql, modifique a opção **Configurações do projeto** no AWS SCT para **Arquivo único por estágio**. O AWS SCT deverá separar o arquivo .sql em vários arquivos .sql com base no tipo de objeto. | DBA, Desenvolvedor | 
| Alterar o código. | Abra a função `init` gerada pelo AWS SCT e altere-a conforme mostrado no exemplo na seção *Informações adicionais*. Ele adicionará uma variável para obter a funcionalidade `pg_serialize = 0`. | DBA, Desenvolvedor | 
| Teste a conversão. | Implante a função `init` no banco de dados compatível com PostgreSQL do Aurora e teste os resultados. | DBA, Desenvolvedor | 

## Recursos relacionados
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-resources"></a>
+ [AWS Schema Conversion Tool](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Características do Amazon Aurora](https://aws.amazon.com/rds/aurora/postgresql-features/)
+ [Pragma SERIALLY\$1REUSABLE](https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/seriallyreusable_pragma.htm#LNPLS01346)

## Mais informações
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-additional"></a>

```
Source Oracle Code:

CREATE OR REPLACE PACKAGE test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
PROCEDURE function_1
 (test_id number);
PROCEDURE function_2
 (test_id number
 );
END;

CREATE OR REPLACE PACKAGE BODY test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
v_char VARCHAR2(20) := 'shared.airline';
v_num number := 123;

PROCEDURE function_1(test_id number)
IS
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
v_char:='test1';
function_2(0);
END;

PROCEDURE function_2(test_id number)
is
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
END;
END test_pkg_var;

Calling the above functions

set serveroutput on


EXEC test_pkg_var.function_1(1);


EXEC test_pkg_var.function_2(1);


Target Postgresql Code:


CREATE SCHEMA test_pkg_var;

CREATE OR REPLACE FUNCTION test_pkg_var.init(pg_serialize IN INTEGER DEFAULT 0)

RETURNS void
AS
$BODY$

DECLARE

BEGIN

if aws_oracle_ext.is_package_initialized( 'test_pkg_var' ) AND pg_serialize = 0

then

return;

end if;

PERFORM aws_oracle_ext.set_package_initialized( 'test_pkg_var' );

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'shared.airline.basecurrency'::CHARACTER

VARYING(100));

PERFORM aws_oracle_ext.set_package_variable('test_pkg_var', 'v_num', 123::integer);

END;

$BODY$

LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_1(pg_serialize int default 1)

RETURNS void
AS

$BODY$
DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'test1'::varchar);

PERFORM test_pkg_var.function_2(0);
END;

$BODY$
LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_2(IN pg_serialize integer default 1)

RETURNS void

AS

$BODY$

DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

END;
$BODY$
LANGUAGE plpgsql;


Calling the above functions

select test_pkg_var.function_1()

 select test_pkg_var.function_2()
```

# Migre tabelas externas da Oracle para a compatibilidade com o Amazon Aurora PostgreSQL
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible"></a>

*Anuradha Chintha e Rakesh Raghav, Amazon Web Services*

## Resumo
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-summary"></a>

As tabelas externas dão à Oracle a capacidade de consultar dados armazenados fora do banco de dados em arquivos simples. Você pode usar o driver ORACLE\$1LOADER para acessar qualquer dado armazenado em qualquer formato que possa ser carregado pelo utilitário SQL\$1Loader. Você não pode usar a Linguagem de Manipulação de Dados (DML) em tabelas externas, mas pode usar tabelas externas para operações de consulta, junção e classificação.

Amazon Aurora Edição Compatível com PostgreSQL não fornece funcionalidades semelhantes às tabelas externas da Oracle. Em vez disso, você deve usar a modernização para desenvolver uma solução escalável que atenda aos requisitos funcionais e seja econômica.

Esse padrão fornece etapas para migrar diferentes tipos de tabelas externas da Oracle para Aurora edição compatível com PostgreSQL na nuvem da Amazon Web Services (AWS) usando a extensão `aws_s3`.

Recomendamos testar minuciosamente essa solução antes de implementá-la em um ambiente de produção.

## Pré-requisitos e limitações
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ AWS Command Line Interface (AWS CLI)
+ Uma instância de banco de dados Aurora compatível com o PostgreSQL disponível.
+ Um banco de dados da Oracle on-premises com uma tabela externa
+ API pg.Client
+ Arquivos de dados 

**Limitações**
+ Esse padrão não fornece a funcionalidade para atuar como um substituto para tabelas externas da Oracle. No entanto, as etapas e o código de amostra podem ser aprimorados ainda mais para atingir suas metas de modernização do banco de dados.
+ Os arquivos não devem conter o caractere que está sendo passado como delimitador nas funções de exportação e importação `aws_s3`.

**Versões do produto**
+ Para importar do Amazon S3 para o RDS para PostgreSQL, o banco de dados deve estar executando o PostgreSQL versão 10.7 ou superior.

## Arquitetura
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-architecture"></a>

**Pilha de tecnologia de origem**
+ Oracle

**Arquitetura de origem**

![\[Diagrama dos arquivos de dados que vão para um diretório e uma tabela no banco de dados Oracle on-premises.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/3fbc507d-b0fa-4e05-b999-043dc7327ed7.png)


**Pilha de tecnologias de destino**
+ Amazon Aurora compatível com PostgreSQL
+ Amazon CloudWatch
+ AWS Lambda
+ AWS Secrets Manager
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Storage Service (Amazon S3)

**Arquitetura de destino**

O diagrama a seguir mostra uma representação de alto nível da solução.

![\[A descrição está após o diagrama.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/5421540e-d2e3-4361-89cc-d8415fcb21fd.png)


1. Os arquivos são enviados para o bucket do S3.

1. A função do Lambda é iniciada.

1. A função do Lambda inicia a chamada da função de banco de dados.

1. O Secrets Manager fornece as credenciais para acesso ao banco de dados.

1. Dependendo da função de banco de dados, um alarme SNS é criado.

**Automação e escala**

Qualquer adição ou alteração nas tabelas externas pode ser tratada com a manutenção de metadados.

## Ferramentas
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-tools"></a>
+ [Amazon Aurora compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html): o Amazon Aurora Edição Compatível com PostgreSQL é um mecanismo de banco de dados relacional totalmente gerenciado e compatível com o PostgreSQL e compatível com ACID, que combina a velocidade e a confiabilidade de bancos de dados comerciais de ponta com a economia de bancos de dados de código aberto.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): o AWS Command Line Interface (AWS CLI) é uma ferramenta unificada para gerenciar os serviços da AWS. Com apenas uma ferramenta para fazer o download e configurar, você poderá controlar vários serviços da AWS pela linha de comando e automatizá-los usando scripts.
+ [Amazon CloudWatch — A](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) Amazon CloudWatch monitora os recursos e a utilização do Amazon S3.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html): o AWS Lambda é um serviço de computação com tecnologia sem servidor que oferece suporte à execução de código sem provisionar ou gerenciar servidores, criar uma lógica de escalabilidade de cluster com reconhecimento de workload, manter integrações de eventos ou gerenciar runtimes. Nesse padrão, o Lambda executa a função de banco de dados sempre que um arquivo é carregado no Amazon S3.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html): o AWS Secrets Manager é um serviço para armazenamento e recuperação de credenciais. O Secrets Manager permite a substituição de credenciais codificadas no seu código, incluindo senhas, por uma chamada de API para o Secrets Manager para recuperar o segredo de forma programática.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): o Amazon Simple Storage Service (Amazon S3) fornece uma camada de armazenamento para receber e armazenar arquivos para consumo e transmissão de e para o cluster do Aurora compatível com PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3): a extensão `aws_s3` integra o Amazon S3 e o Aurora compatível com PostgreSQL.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html): o Amazon Simple Notiﬁcation Service (Amazon SNS) coordena e gerencia a entrega ou envio de mensagens entre publicadores e clientes. Nesse padrão, o Amazon SNS é usado para enviar notificações.

**Código **

Sempre que um arquivo é colocado no bucket do S3, uma função de banco de dados deve ser criada e chamada a partir do aplicativo de processamento ou da função do Lambda. Para obter detalhes, consulte o código (em anexo).

## Épicos
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-epics"></a>

### Criar um arquivo externo
<a name="create-an-external-file"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Adicione um arquivo externo ao banco de dados de origem. | Crie um arquivo externo e mova-o para o diretório `oracle`. | DBA | 

### Configurar o destino (Aurora compatível com PostgreSQL)
<a name="configure-the-target-aurora-postgresql-compatible"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um banco de dados Aurora PostgreSQL. | Crie uma instância de banco de dados em seu cluster Amazon Aurora compatível com PostgreSQL. | DBA | 
| Crie um esquema, uma extensão aws\$1s3 e tabelas. | Use o código em `ext_tbl_scripts` na seção *Informações adicionais*. As tabelas incluem tabelas reais, tabelas intermediárias, tabelas de erros e logs e uma metatabela. | DBA, Desenvolvedor | 
| Criar a função de banco de dados. | Para criar a função de banco de dados (DB), use o código na função `load_external_table_latest` da seção *Informações adicionais*. | DBA, Desenvolvedor | 

### Criar e configurar a função do Lambda
<a name="create-and-configure-the-lambda-function"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma função. | Crie uma função com permissões para acessar o Amazon S3 e Amazon Relational Database Service (Amazon RDS). Essa função será atribuída ao Lambda para executar o padrão. | DBA | 
| Criar a função do Lambda. | Crie uma função do Lambda que leia o nome do arquivo do Amazon S3 (por exemplo `file_key = info.get('object', {}).get('key')`,) e chame a função de banco de dados (por exemplo, `curs.callproc("load_external_tables", [file_key])`) com o nome do arquivo como parâmetro de entrada.Dependendo do resultado da chamada de função, uma notificação do SNS será iniciada (por exemplo, `client.publish(TopicArn='arn:',Message='fileloadsuccess',Subject='fileloadsuccess')`).Com base nas necessidades da sua empresa, você pode criar uma função do Lambda com código extra, se necessário. Para obter mais informações, consulte a [documentação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html). | DBA | 
| Configurar um gatilho do evento do bucket do S3. | Configure um mecanismo para chamar a função do Lambda para todos os eventos de criação de objetos no bucket do S3. | DBA | 
| Criar um segredo. | Crie um nome secreto para as credenciais do banco de dados usando o Secrets Manager. Passe o segredo na função do Lambda. | DBA | 
| Faça upload dos arquivos de suporte do Lambda. | Faça upload de um arquivo .zip que contenha os pacotes de suporte do Lambda e o script Python anexado para conexão com o Aurora compatível com PostgreSQL. O código Python chama a função que você criou no banco de dados. | DBA | 
| Criar um tópico do SNS. | Crie um tópico do SNS para enviar e-mails sobre o sucesso ou a falha do carregamento de dados. | DBA | 

### Adicionar integração com o Amazon S3
<a name="add-integration-with-amazon-s3"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um bucket do S3. | No console do Amazon S3, você criará um bucket do S3 com um nome exclusivo que não contenha barras iniciais. Um nome de bucket do S3 é globalmente exclusivo, e o namespace é compartilhado por todas as contas da AWS. | DBA | 
| Criar políticas do IAM. | Para criar políticas do AWS Identity and Access Management (IAM), use o código em `s3bucketpolicy_for_import` na seção *Informações adicionais*. | DBA | 
| Criar funções. | Crie duas funções para o Aurora compatível com PostgreSQL, uma função para Importar e outra para Exportar. Atribua as políticas correspondentes às funções. | DBA | 
| Anexe as funções ao cluster Aurora compatível com o PostgreSQL. | Em **Gerenciar funções**, anexe as funções de importação e exportação ao cluster do Aurora PostgreSQL. | DBA | 
| Crie objetos de suporte para o Aurora compatível com PostgreSQL. | Para os scripts de tabela, use o código em `ext_tbl_scripts` na seção *Informações adicionais*.Para a função personalizada, use o código em `load_external_Table_latest` na seção *Informações adicionais*. | DBA | 

### Processar um arquivo de teste
<a name="process-a-test-file"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça upload de um arquivo no bucket do S3. | Para fazer upload de um arquivo de teste no bucket do S3, use o console ou o comando a seguir na AWS CLI. <pre>aws s3 cp /Users/Desktop/ukpost/exttbl/"testing files"/aps s3://s3importtest/inputext/aps</pre>Assim que o arquivo é carregado, um evento de bucket inicia a função do Lambda, que executa função do Aurora compatível com PostgreSQL. | DBA | 
| Verifique os dados e os arquivos de log e erro. | A função compatível com o Aurora PostgreSQL carrega os arquivos na tabela principal e cria arquivos `.log` e `.bad` no bucket do S3. | DBA | 
| Monitore a solução. | No CloudWatch console da Amazon, monitore a função Lambda. | DBA | 

## Recursos relacionados
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-resources"></a>
+ [Integração do Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Trabalhar com o Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/)
+ [Configurar notificações do Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)

## Mais informações
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-additional"></a>

**ext\$1table\$1scripts**

```
CREATE EXTENSION aws_s3 CASCADE;
CREATE TABLE IF NOT EXISTS meta_EXTERNAL_TABLE
(
    table_name_stg character varying(100) ,
    table_name character varying(100)  ,
    col_list character varying(1000)  ,
    data_type character varying(100)  ,
    col_order numeric,
    start_pos numeric,
    end_pos numeric,
    no_position character varying(100)  ,
    date_mask character varying(100)  ,
    delimeter character(1)  ,
    directory character varying(100)  ,
    file_name character varying(100)  ,
    header_exist character varying(5)
);
CREATE TABLE IF NOT EXISTS ext_tbl_stg
(
    col1 text
);
CREATE TABLE IF NOT EXISTS error_table
(
    error_details text,
    file_name character varying(100),
    processed_time timestamp without time zone
);
CREATE TABLE IF NOT EXISTS log_table
(
    file_name character varying(50) COLLATE pg_catalog."default",
    processed_date timestamp without time zone,
    tot_rec_count numeric,
    proc_rec_count numeric,
    error_rec_count numeric
);
sample insert scripts of meta data:
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'source_filename', 'character varying', 2, 8, 27, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'record_type_identifier', 'character varying', 3, 28, 30, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'fad_code', 'numeric', 4, 31, 36, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'session_sequence_number', 'numeric', 5, 37, 42, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'transaction_sequence_number', 'numeric', 6, 43, 48, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
```

**s3bucketpolicy\$1for import**

```
---Import role policy
--Create an IAM policy to allow, Get,  and list actions on S3 bucket
 {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3import",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest",
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
--Export Role policy
--Create an IAM policy to allow, put,  and list actions on S3 bucket
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3export",
            "Action": [
                "S3:PutObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
```

**Exemplo de função de banco de dados load\$1external\$1tables\$1latest**

```
CREATE OR REPLACE FUNCTION public.load_external_tables(pi_filename text)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
/* Loading data from S3 bucket into a APG table */
DECLARE
 v_final_sql TEXT;
 pi_ext_table TEXT;
 r refCURSOR;
 v_sqlerrm text;
 v_chunk numeric;
 i integer;
 v_col_list TEXT;
 v_postion_list CHARACTER VARYING(1000);
 v_len  integer;
 v_delim varchar;
 v_file_name CHARACTER VARYING(1000);
 v_directory CHARACTER VARYING(1000);
 v_table_name_stg CHARACTER VARYING(1000);
 v_sql_col TEXT;
 v_sql TEXT;
 v_sql1 TEXT;
 v_sql2 TEXT;
 v_sql3 TEXT;
 v_cnt integer;
 v_sql_dynamic TEXT;
 v_sql_ins TEXT;
 proc_rec_COUNT integer;
 error_rec_COUNT integer;
 tot_rec_COUNT integer;
 v_rec_val integer;
 rec record;
 v_col_cnt integer;
 kv record;
 v_val text;
 v_header text;
 j integer;
 ERCODE VARCHAR(5);
 v_region text;
 cr CURSOR FOR
 SELECT distinct DELIMETER,
   FILE_NAME,
   DIRECTORY
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
   AND DELIMETER IS NOT NULL;


 cr1 CURSOR FOR
   SELECT   col_list,
   data_type,
   start_pos,
   END_pos,
   concat_ws('',' ',TABLE_NAME_STG) as TABLE_NAME_STG,
   no_position,date_mask
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
 order by col_order asc;
cr2 cursor FOR
SELECT  distinct table_name,table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);


BEGIN
 -- PERFORM utl_file_utility.init();
   v_region := 'us-east-1';
   /* find tab details from file name */


   --DELETE FROM  ERROR_TABLE WHERE file_name= pi_filename;
  -- DELETE FROM  log_table WHERE file_name= pi_filename;


 BEGIN


   SELECT distinct table_name,table_name_stg INTO strict pi_ext_table,v_table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);
 EXCEPTION
   WHEN NO_DATA_FOUND THEN
    raise notice 'error 1,%',sqlerrm;
    pi_ext_table := null;
    v_table_name_stg := null;
      RAISE USING errcode = 'NTFIP' ;
    when others then
        raise notice 'error others,%',sqlerrm;
 END;
 j :=1 ;
  
for rec in  cr2
 LOOP




  pi_ext_table     := rec.table_name;
  v_table_name_stg := rec.table_name_stg;
  v_col_list := null;


 IF pi_ext_table IS NOT NULL
  THEN
    --EXECUTE concat_ws('','truncate table  ' ,pi_ext_table) ;
   EXECUTE concat_ws('','truncate table  ' ,v_table_name_stg) ;




       SELECT distinct DELIMETER INTO STRICT v_delim
       FROM  meta_EXTERNAL_TABLE
       WHERE table_name = pi_ext_table;


       IF v_delim IS NOT NULL THEN
     SELECT distinct DELIMETER,
       FILE_NAME,
       DIRECTORY ,
       concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
     INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table
       AND DELIMETER IS NOT NULL;


     IF    upper(v_delim) = 'CSV'
     THEN
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3 ( ''',
       v_table_name_stg,''','''',
       ''DELIMITER '''','''' CSV HEADER QUOTE ''''"'''''', aws_commons.create_s3_uri ( ''',
       v_directory,''',''',v_file_name,''', ''',v_region,'''))');
       ELSE
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
           v_table_name_stg, ''','''', ''DELIMITER AS ''''^''''',''',','
          aws_commons.create_s3_uri
           ( ''',v_directory, ''',''',
           v_file_name, ''',',
            '''',v_region,''')
          )');
          raise notice 'v_sql , %',v_sql;
       begin
        EXECUTE  v_sql;
       EXCEPTION
         WHEN OTHERS THEN
           raise notice 'error 1';
         RAISE USING errcode = 'S3IMP' ;
       END;


       select count(col_list) INTO v_col_cnt
       from  meta_EXTERNAL_TABLE where table_name = pi_ext_table;






        -- raise notice 'v_sql 2, %',concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');


       execute concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');




       i :=1;
       FOR rec in cr1
       loop
       v_sql1 := concat_ws('',v_sql1,'split_part(col1,''',v_delim,''',', i,')',' as ',rec.col_list,',');
       v_sql2 := concat_ws('',v_sql2,rec.col_list,',');
   --    v_sql3 := concat_ws('',v_sql3,'rec.',rec.col_list,'::',rec.data_type,',');


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 coalesce((trim(split_part(col1,''',v_delim,''',', i,')))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask =  'MM/DD/YYYY hh24:mi:ss'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''01/01/9999 0024:00:00''),''MM/DD/YYYY hh24:mi:ss'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                  coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


       i :=i+1;
       end loop;


         -- raise notice 'v_sql 3, %',v_sql3;


       SELECT trim(trailing ' ' FROM v_sql1) INTO v_sql1;
       SELECT trim(trailing ',' FROM v_sql1) INTO v_sql1;


       SELECT trim(trailing ' ' FROM v_sql2) INTO v_sql2;
       SELECT trim(trailing ',' FROM v_sql2) INTO v_sql2;


       SELECT trim(trailing ' ' FROM v_sql3) INTO v_sql3;
       SELECT trim(trailing ',' FROM v_sql3) INTO v_sql3;


       END IF;
      raise notice 'v_delim , %',v_delim;


     EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)  INTO v_cnt;


    raise notice 'stg cnt , %',v_cnt;


    /* if upper(v_delim) = 'CSV' then
       v_sql_ins := concat_ws('', ' SELECT * from ' ,v_table_name_stg );
     else
      -- v_sql_ins := concat_ws('',' SELECT ',v_sql1,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       END IF;*/


v_chunk := v_cnt/100;




for i in 1..101
loop
     BEGIN
    -- raise notice 'v_sql , %',v_sql;
       -- raise notice 'Chunk number , %',i;
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ' offset ',v_chunk*(i-1), ' limit ',v_chunk,') sub ');


     v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
     -- raise notice 'select statement , %',v_sql_ins;
          -- v_sql := null;
     -- EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins, 'offset ',v_chunk*(i-1), ' limit ',v_chunk );
     --v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins );


     -- raise notice 'insert statement , %',v_sql;


    raise NOTICE 'CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'CHUNK END %',v_chunk;


     EXECUTE v_sql;


  EXCEPTION
       WHEN OTHERS THEN
       -- v_sql_ins := concat_ws('',' SELECT ',v_sql1, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');
         -- raise notice 'Chunk number for cursor , %',i;


    raise NOTICE 'Cursor - CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'Cursor -  CHUNK END %',v_chunk;
         v_sql_ins := concat_ws('',' SELECT ',v_sql3, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');


         v_final_sql := REPLACE (v_sql_ins, ''''::text, ''''''::text);
        -- raise notice 'v_final_sql %',v_final_sql;
         v_sql :=concat_ws('','do $a$ declare  r refcursor;v_sql text; i numeric;v_conname text;  v_typ  ',pi_ext_table,'[]; v_rec  ','record',';
           begin






           open r for execute ''select col1 from ',v_table_name_stg ,'  offset ',v_chunk*(i-1), ' limit ',v_chunk,''';
           loop
           begin
           fetch r into v_rec;
           EXIT WHEN NOT FOUND;




           v_sql := concat_ws('''',''insert into  ',pi_ext_table,' SELECT ',REPLACE (v_sql3, ''''::text, ''''''::text) , '  from ( select '''''',v_rec.col1,'''''' as col1) v'');
            execute v_sql;


           exception
            when others then
          v_sql := ''INSERT INTO  ERROR_TABLE VALUES (concat_ws('''''''',''''Error Name: '''',$$''||SQLERRM||''$$,''''Error State: '''',''''''||SQLSTATE||'''''',''''record : '''',$$''||v_rec.col1||''$$),'''''||pi_filename||''''',now())'';


               execute v_sql;
             continue;
           end ;
           end loop;
           close r;
           exception
           when others then
         raise;
           end ; $a$');
      -- raise notice ' inside excp v_sql %',v_sql;
          execute v_sql;
      --  raise notice 'v_sql %',v_sql;
       END;
  END LOOP;
     ELSE


     SELECT distinct DELIMETER,FILE_NAME,DIRECTORY ,concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
       INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table                  ;
     v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
       v_table_name_stg, ''','''', ''DELIMITER AS ''''#'''' ',v_header,' '',','
      aws_commons.create_s3_uri
       ( ''',v_directory, ''',''',
       v_file_name, ''',',
        '''',v_region,''')
      )');
         EXECUTE  v_sql;


     FOR rec in cr1
     LOOP


      IF rec.start_pos IS NULL AND rec.END_pos IS NULL AND rec.no_position = 'recnum'
      THEN
        v_rec_val := 1;
      ELSE


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1)))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDDHH24MISS'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''9999010100240000''),''YYYYMMDDHH24MISS'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                  coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


      END IF;
      v_col_list := concat_ws('',v_col_list ,v_sql1);
     END LOOP;




           SELECT trim(trailing ' ' FROM v_col_list) INTO v_col_list;
           SELECT trim(trailing ',' FROM v_col_list) INTO v_col_list;


           v_sql_col   :=  concat_ws('',trim(trailing ',' FROM v_col_list) , ' FROM  ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 ');




           v_sql_dynamic := v_sql_col;


           EXECUTE  concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg) INTO v_cnt;




         IF v_rec_val = 1 THEN
             v_sql_ins := concat_ws('',' select row_number() over(order by ctid) as line_number ,' ,v_sql_dynamic) ;


         ELSE
               v_sql_ins := concat_ws('',' SELECT' ,v_sql_dynamic) ;
           END IF;


     BEGIN
       EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
           EXCEPTION
              WHEN OTHERS THEN
          IF v_rec_val = 1 THEN
                  v_final_sql := ' select row_number() over(order by ctid) as line_number ,col1 from ';
                ELSE
                 v_final_sql := ' SELECT col1 from';
               END IF;
       v_sql :=concat_ws('','do $a$ declare  r refcursor;v_rec_val numeric := ',coalesce(v_rec_val,0),';line_number numeric; col1 text; v_typ  ',pi_ext_table,'[]; v_rec  ',pi_ext_table,';
             begin
             open r for execute ''',v_final_sql, ' ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 '' ;
             loop
             begin
             if   v_rec_val = 1 then
             fetch r into line_number,col1;
             else
             fetch r into col1;
             end if;


             EXIT WHEN NOT FOUND;
              if v_rec_val = 1 then
              select line_number,',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              else
                select ',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              end if;


             insert into  ',pi_ext_table,' select v_rec.*;
              exception
              when others then
               INSERT INTO  ERROR_TABLE VALUES (concat_ws('''',''Error Name: '',SQLERRM,''Error State: '',SQLSTATE,''record : '',v_rec),''',pi_filename,''',now());
               continue;
              end ;
               end loop;
             close r;
              exception
              when others then
              raise;
              end ; $a$');
         execute v_sql;


     END;


         END IF;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  ' ,pi_ext_table)   INTO proc_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  error_table WHERE file_name =''',pi_filename,''' and processed_time::date = clock_timestamp()::date')  INTO error_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)   INTO tot_rec_COUNT;


   INSERT INTO  log_table values(pi_filename,now(),tot_rec_COUNT,proc_rec_COUNT, error_rec_COUNT);


   raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT replace(trim(substring(error_details,position(''('' in error_details)+1),'')''),'','','';''),file_name,processed_time FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );


raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  log_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.log', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );




   END IF;
 j := j+1;
 END LOOP;


       RETURN 'OK';
EXCEPTION
    WHEN  OTHERS THEN
  raise notice 'error %',sqlerrm;
   ERCODE=SQLSTATE;
   IF ERCODE = 'NTFIP' THEN
     v_sqlerrm := concat_Ws('',sqlerrm,'No data for the filename');
   ELSIF ERCODE = 'S3IMP' THEN
    v_sqlerrm := concat_Ws('',sqlerrm,'Error While exporting the file from S3');
   ELSE
      v_sqlerrm := sqlerrm;
   END IF;


 select distinct directory into v_directory from  meta_EXTERNAL_TABLE;




 raise notice 'exc v_directory, %',v_directory;


   raise notice 'exc pi_filename, %',pi_filename;


   raise notice 'exc v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );
    RETURN null;
END;
$function$
```

# Migre índices baseados em funções do Oracle para o PostgreSQL
<a name="migrate-function-based-indexes-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi e Navakanth Talluri, Amazon Web Services*

## Resumo
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-summary"></a>

Os índices são uma forma comum de aprimorar o desempenho do banco de dados. Um índice permite que o servidor do banco de dados encontre e recupere linhas específicas com muito mais rapidez do que poderia sem um índice. Mas os índices também adicionam sobrecarga ao sistema de banco de dados como um todo, portanto, devem ser usados com sensatez. Índices baseados em funções, baseados em uma função ou expressão, podem envolver várias colunas e expressões matemáticas. Um índice baseado em funções melhora o desempenho das consultas que usam a expressão de índice. 

Nativamente, o PostgreSQL não suporta a criação de índices baseados em funções usando funções que têm volatilidade definida como estável. No entanto, você pode criar funções semelhantes com volatilidade `IMMUTABLE` e usá-las na criação de índices.

Uma função `IMMUTABLE` não pode modificar o banco de dados e é garantido que retornará os mesmos resultados com os mesmos argumentos para sempre. Essa categoria permite que o otimizador pré-avalie a função quando uma consulta a chama com argumentos constantes. 

Esse padrão ajuda na migração dos índices baseados em funções do Oracle quando usados com funções como `to_char`, `to_date` e `to_number` para o equivalente do PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta ativa da Amazon Web Services (AWS)
+ Uma instância de banco de dados do Oracle de origem com o serviço de receptor configurado e em execução
+ Familiaridade com bancos de dados PostgreSQL

**Limitações**
+ O limite de tamanho do banco de dados é 64 TB.
+ As funções usadas na criação do índice devem ser IMUTÁVEIS.

**Versões do produto**
+ Todas as edições do banco de dados do Oracle para versões 11g (versões 11.2.0.3.v1 e posteriores) e até 12.2 e 18c
+ PostgreSQL, versões 9.6 e superiores

## Arquitetura
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Oracle no local ou em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou uma instância de banco de dados Amazon RDS for Oracle

**Pilha de tecnologias de destino**
+ Qualquer mecanismo do PostgreSQL

## Ferramentas
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-tools"></a>
+ O **pgAdmin 4** é uma ferramenta de gerenciamento de código aberto para o Postgres. A ferramenta pgAdmin 4 fornece uma interface gráfica para criar, manter e usar objetos de banco de dados.
+ O **Oracle SQL Developer** é um ambiente de desenvolvimento integrado (IDE) para desenvolver e gerenciar o Oracle Database em implantações tradicionais e na nuvem.

## Épicos
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-epics"></a>

### Crie um índice baseado em funções usando uma função padrão
<a name="create-a-function-based-index-using-a-default-function"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um índice baseado em função em uma coluna usando a função to\$1char. | Use o código a seguir para criar o índice baseado em função.<pre>postgres=# create table funcindex( col1 timestamp without time zone);<br />CREATE TABLE<br />postgres=# insert into funcindex values (now());<br />INSERT 0 1<br />postgres=# select * from funcindex;<br />            col1<br />----------------------------<br /> 2022-08-09 16:00:57.77414<br />(1 rows)<br /> <br />postgres=# create index funcindex_idx on funcindex(to_char(col1,'DD-MM-YYYY HH24:MI:SS'));<br />ERROR:  functions in index expression must be marked IMMUTABLE</pre> O PostgreSQL não permite a criação de um índice baseado em função sem a cláusula `IMMUTABLE`. | DBA, desenvolvedor de aplicativos | 
| Verifique a volatilidade da função. | Para verificar a volatilidade da função, use o código na seção *Informações adicionais*.   | DBA | 

### Crie índices baseados em funções usando uma função de encapsulamento
<a name="create-function-based-indexes-using-a-wrapper-function"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma função de encapsulamento. | Para criar uma função de encapsulamento, use o código na seção *Informações adicionais*. | Desenvolvedor do PostgreSQL | 
| Crie um índice usando a função de encapsulamento. | Use o código na seção *Informações adicionais* para criar uma função definida pelo usuário com a palavra-chave `IMMUTABLE` no mesmo esquema do aplicativo e faça referência a ela no script de criação de índice.Se uma função definida pelo usuário for criada em um esquema comum (do exemplo anterior), atualize o `search_path` conforme mostrado.<pre>ALTER ROLE <ROLENAME> set search_path=$user, COMMON;</pre> | DBA, desenvolvedor do PostgreSQL | 

### Validar a criação de um índice
<a name="validate-index-creation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a criação de um índice. | Valide se o índice precisa ser criado, com base nos padrões de acesso à consulta. | DBA | 
| Valide se o índice pode ser usado. | Para verificar se o índice baseado em função é captado pelo PostgreSQL Optimizer, execute uma instrução SQL usando explain (explicar) ou explain analyze (explicar e analizar). Use o código na seção *Informações adicionais*. Se possível, reúna também as estatísticas da tabela.Se você analisar o plano de explicabilidade, o otimizador do PostgreSQL selecionou um índice baseado em função em razão da condição do predicado. | DBA | 

## Recursos relacionados
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-resources"></a>
+ [Índices baseados em funções](https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_indexes.htm#ADFNS00505) (documentação da Oracle)
+ [Índices em expressões](https://www.postgresql.org/docs/9.4/indexes-expressional.html) (documentação do PostgreSQL)
+ [Volatilidade do PostgreSQL](https://www.postgresql.org/docs/current/xfunc-volatility.html) (documentação do PostgreSQL)
+ [PostgreSQL search\$1path](https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATH) (documentação do PostgreSQL)
+ [Manual de migração do Oracle Database 19c para o PostgreSQL do Amazon Aurora](https://docs.aws.amazon.com/dms/latest/oracle-to-aurora-postgresql-migration-playbook/chap-oracle-aurora-pg.html) 

## Mais informações
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-additional"></a>

**Crie uma função de encapsulamento**

```
CREATE OR REPLACE FUNCTION myschema.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
```

**Crie um índice usando a função encapsulamento**

```
postgres=# create function common.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
CREATE FUNCTION
postgres=# create index funcindex_idx on funcindex(common.to_char(col1,'DD-MM-YYYY HH24:MI:SS'));
CREATE INDEX
```

**Verifique a volatilidade da função**

```
SELECT DISTINCT p.proname as "Name",p.provolatile as "volatility" FROM pg_catalog.pg_proc p
 LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
 LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
 WHERE n.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.default AND p.proname='to_char'GROUP BY p.proname,p.provolatile
ORDER BY 1;
```

**Valide se o índice pode ser usado**

```
explain analyze <SQL>
 
 
postgres=# explain select col1 from funcindex where common.to_char(col1,'DD-MM-YYYY HH24:MI:SS') = '09-08-2022 16:00:57';
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Index Scan using funcindex_idx on funcindex  (cost=0.42..8.44 rows=1 width=8)
   Index Cond: ((common.to_char(col1, 'DD-MM-YYYY HH24:MI:SS'::character varying))::text = '09-08-2022 16:00:57'::text)
(2 rows)
```

# Migre funções nativas do Oracle para o PostgreSQL usando extensões
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-summary"></a>

Esse padrão de migração fornece step-by-step orientação para migrar uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) para Oracle para um banco de dados Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL compatível com o Amazon Aurora PostgreSQL, modificando as extensões e o código incorporado nativo do PostgreSQL (). `aws_oracle_ext` `orafce` `psql` Isso economizará tempo de processamento.

O padrão descreve uma estratégia de migração manual offline sem qualquer tempo de inatividade para um banco de dados de origem Oracle de vários terabytes com um grande número de transações.

O processo de migração usa o AWS Schema Conversion Tool (AWS SCT) com as extensões `aws_oracle_ext` e `orafce` para converter um esquema de banco de dados do Amazon RDS para Oracle em um esquema de banco de dados do Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL. Em seguida, o código é alterado manualmente para código nativo incorporado `psql` compatível com PostgreSQL. Isso ocorre porque as chamadas de extensão afetam o processamento do código no servidor de banco de dados PostgreSQL, e nem todo o código da extensão é totalmente compatível ou compatível com o código PostgreSQL.

Esse padrão se concentra principalmente na migração manual de códigos SQL usando a AWS SCT e as extensões `aws_oracle_ext` e `orafce`. Você converte as extensões já usadas em incorporações nativas do PostgreSQL (`psql`). Em seguida, você remove todas as referências às extensões e converte os códigos de acordo.

## Pré-requisitos e limitações
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Sistema operacional (Windows ou Mac) ou EC2 instância da Amazon (em funcionamento) 
+ Orafce

**Limitações**

Nem todas as funções que usam extensões `aws_oracle_ext` ou `orafce` do Oracle podem ser convertidas em funções nativas do PostgreSQL. Pode ser necessário retrabalho manual para compilá-lo com as bibliotecas do PostgreSQL.

Uma desvantagem de usar extensões da AWS SCT é seu baixo desempenho na execução e na obtenção dos resultados. O custo pode ser compreendido a partir de um [plano EXPLAIN simples](https://www.postgresql.org/docs/current/sql-explain.html) do PostgreSQL, que consiste em um plano de execução de uma instrução, na migração da função `SYSDATE` da Oracle para a função `NOW()` do PostgreSQL entre todos os três códigos (`aws_oracle_ext`, `orafce` e `psql` padrão), conforme explicado na seção *Verificação de comparação de performance* do documento anexo.

**Versões do produto**
+ **Origem: ** banco de dados Amazon RDS para Oracle 10.2 e posterior (para 10.x), 11g (11.2.0.3.v1 e posterior) e até 12.2, 18c e 19c (e posterior) para Enterprise Edition, Standard Edition, Standard Edition 1 e Standard Edition 2
+ **Destino **: Amazon RDS para PostgreSQL ou banco de dados Aurora compatível com PostgreSQL 9.4 e posterior (para 9.x), 10.x, 11.x, 12.x, 13.x e 14.x (e versões posteriores)
+ **AWS SCT**: versão mais recente (esse padrão foi testado com 1.0.632)
+ **Oracle**: versão mais recente (esse padrão foi testado com 3.9.0)

## Arquitetura
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-architecture"></a>

**Pilha de tecnologia de origem**
+ Uma instância do banco de dados Amazon RDS para Oracle com a versão 12.1.0.2.v18

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados do Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL com a versão 11.5

**Arquitetura de migração de banco de dados**

O diagrama a seguir representa a arquitetura de migração de banco de dados entre os bancos de dados Oracle de origem e PostgreSQL de destino. A arquitetura envolve a Nuvem AWS, uma nuvem privada virtual (VPC), zonas de disponibilidade, uma sub-rede privada, um banco de dados Amazon RDS para Oracle, AWS SCT, um banco de dados Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL, extensões para Oracle (`aws_oracle_ext` e `orafce`) e arquivos de linguagem de consulta estruturada (SQL).

![\[O processo é explicado na lista a seguir.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/158847bb-27ef-4915-a9ca-7d87073792c1/images/234b824a-bfe5-4ef0-9fa7-8401370b92a5.png)


1. Inicie a instância de banco de dados Amazon RDS para Oracle (banco de dados de origem).

1. Use a AWS SCT com os pacotes de extensão `aws_oracle_ext` e `orafce` para converter o código-fonte do Oracle para o PostresQL.

1. A conversão produz arquivos .sql migrados compatíveis com o PostgreSQL.

1. Converta manualmente os códigos de extensão Oracle não convertidos em códigos PostgreSQL (`psql`).

1. A conversão manual produz arquivos .sql convertidos compatíveis com o PostgreSQL.

1. Execute esses arquivos .sql na instância do banco de dados Amazon RDS para PostgreSQL (banco de dados de destino).

## Ferramentas
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-tools"></a>

**Ferramentas**

*Serviços da AWS*
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): a AWS Schema Conversion Tool (AWS SCT) converte seu esquema de banco de dados existente de um mecanismo de banco de dados para outro. Você pode converter o esquema Online Transactional Processing (OLTP) relacional ou o esquema de data warehouse. Seu esquema convertido é adequado para uma instância de banco de dados Amazon RDS para MySQL, um cluster de banco de dados Amazon Aurora, uma instância de banco de dados Amazon RDS para PostgreSQL ou um cluster do Amazon Redshift. O esquema convertido também pode ser usado com um banco de dados em uma EC2 instância da Amazon ou armazenado como dados em um bucket do Amazon S3.

  A AWS SCT oferece uma interface de usuário baseada em projeto que permite converter automaticamente o esquema do banco de dados de origem em um formato que seja compatível com a instância do Amazon RDS de destino. 

  Você pode usar a AWS SCT para fazer a migração de um banco de dados de origem Oracle para qualquer um dos destinos listados anteriormente. Usando a AWS SCT, você pode exportar as definições de objetos do banco de dados de origem, como esquema, visualizações, procedimentos armazenados e funções. 

  Você pode usar a AWS SCT para convertes dados do Oracle para Amazon RDS para PostgreSQL ou Amazon Aurora Edição Compatível com PostgreSQL. 

  Nesse padrão, você usa a AWS SCT para converter e migrar o código Oracle para o PostgreSQL usando as extensões `aws_oracle_ext` e `orafce` migrando manualmente os códigos de extensão para o código `psql` padrão ou nativo incorporado.
+ O pacote de extensões da [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html) é um módulo complementar que emula funções presentes no banco de dados de origem e necessárias ao converter objetos para o banco de dados de destino. Antes de poder instalar o pacote de extensões da AWS SCT, você precisa converter seu esquema de banco de dados.

  Quando você converte seu banco de dados ou esquema de data warehouse, a AWS SCT adiciona mais um esquema ao seu banco de dados de destino. Esse esquema implementa as funções de sistema SQL do banco de dados de origem necessárias para gravar o esquema convertido no banco de dados de destino. Esse esquema adicional é chamado de esquema do pacote de extensões.

  O esquema do pacote de extensões para bancos de dados OLTP é nomeado de acordo com o banco de dados de origem. Para bancos de dados Oracle, o esquema do pacote de extensão é `AWS_ORACLE_EXT`.

*Outras ferramentas*
+ [Orafce](https://github.com/orafce/orafce): o Orafce é um módulo que implementa funções, tipos de dados e pacotes compatíveis com Oracle. É uma ferramenta de código aberto com uma licença Berkeley Source Distribution (BSD) para que qualquer pessoa possa usá-la. O módulo `orafce` é útil para migrar do Oracle para o PostgreSQL porque tem muitas funções Oracle implementadas no PostgreSQL.

 

**Código **

Para obter uma lista de todos os códigos comumente usados e migrados do Oracle para o PostgreSQL para evitar o uso do código de extensão da AWS SCT, consulte o documento em anexo.

## Épicos
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-epics"></a>

### Configurar o banco de dados de origem do Amazon RDS para Oracle
<a name="configure-the-amazon-rds-for-oracle-source-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a instância do banco de dados Oracle. | Crie uma instância de banco de dados do Amazon RDS para Oracle ou Aurora compatível com PostgreSQL a partir do console do Amazon RDS. | AWS geral, DBA | 
| Configurar os grupos de segurança.  | Configurar grupos de segurança de entrada e saída. | AWS geral | 
| Criar o banco de dados. | Crie o banco de dados Oracle com os usuários e esquemas necessários. | AWS geral, DBA | 
| Criar os objetos. | Crie objetos e insira dados no esquema. | DBA | 

### Configurar o banco de dados de destino do Amazon RDS para PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a instância do banco de dados para PostgreSQL. | Crie uma instância do banco de dados Amazon RDS para PostgreSQL ou Amazon Aurora PostgreSQL a partir do console do Amazon RDS. | AWS geral, DBA | 
| Configurar os grupos de segurança.  | Configurar grupos de segurança de entrada e saída. | AWS geral | 
| Criar o banco de dados. | Crie o banco de dados PostgreSQL com os usuários e esquemas necessários. | AWS geral, DBA | 
| Validar as extensões. | Verifique se `aws_oracle_ext` e `orafce` estão instalados e configurados corretamente no banco de dados PostgreSQL. | DBA | 
| Verifique se o banco de dados PostgreSQL está disponível. | Certifique-se de que o banco de dados PostgreSQL esteja ativo e funcionando. | DBA | 

### Migre o esquema Oracle para o PostgreSQL usando a AWS SCT e as extensões
<a name="migrate-the-oracle-schema-into-postgresql-using-aws-sct-and-the-extensions"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale a AWS SCT. | Instalar a versão mais recente da AWS SCT. | DBA | 
| Configure a AWS SCT. | Configure o AWS SCT com drivers Java Database Connectivity (JDBC) para Oracle (`ojdbc8.jar`) e PostgreSQL (`postgresql-42.2.5.jar`). | DBA | 
| Habilite o pacote de extensão ou modelo da AWS SCT. | Em **Configurações do projeto** da AWS SCT, habilite a implementação de funções incorporadas com as extensões `aws_oracle_ext` e `orafce` para o esquema do banco de dados Oracle. | DBA | 
| Converta o esquema.  | Na AWS SCT, escolha **Converter esquema** para converter o esquema do Oracle para o PostgreSQL e gerar os arquivos .sql. | DBA | 

### Converta o código de extensão da AWS SCT em código psql
<a name="convert-aws-sct-extension-code-to-psql-code"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Converta manualmente o código. | Converta manualmente cada linha de código compatível com a extensão em código incorporado padrão `psql`, conforme detalhado no documento anexo. Por exemplo, altere `AWS_ORACLE_EXT.SYSDATE()` ou `ORACLE.SYSDATE()` para `NOW()`. | DBA | 
| Valide o código | (Opcional) Valide cada linha de código executando-o temporariamente no banco de dados PostgreSQL. | DBA | 
| Crie objetos no banco de dados PostgreSQL. | Para criar objetos no banco de dados PostgreSQL, execute os arquivos .sql que foram gerados pela AWS SCT e modificados nas duas etapas anteriores. | DBA | 

## Recursos relacionados
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-resources"></a>
+ Banco de dados
  + [Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)
  + [PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
  + [Trabalho com Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
  + [Plano PostgreSQL EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html)
+ AWS SCT
  + [Visão geral do AWS Schema Conversion Tool](https://aws.amazon.com/dms/schema-conversion-tool/)
  + [Guia do usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
  + [Usar a interface de usuário da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
  + [Usar um banco de dados Oracle como origem para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ Extensões para AWS SCT
  + [Usar o pacote de extensões da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html)
  + [Funcionalidade Oracle (en)](https://postgres.cz/wiki/Oracle_functionality_(en))
  + [orafce do PGXN](https://pgxn.org/dist/orafce/)
  + [GitHub orafce](https://github.com/orafce/orafce)

## Mais informações
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-additional"></a>

Para obter mais informações, siga os comandos detalhados, com sintaxe e exemplos, para converter manualmente o código no documento anexo.

## Anexos
<a name="attachments-158847bb-27ef-4915-a9ca-7d87073792c1"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/158847bb-27ef-4915-a9ca-7d87073792c1/attachments/attachment.zip)

# Migre um banco de dados Db2 da Amazon para o EC2 Aurora MySQL compatível usando o AWS DMS
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-summary"></a>

Depois de migrar seu banco de dados [IBM Db2 for LUW para](https://www.ibm.com/docs/en/db2/11.5?topic=federation) o Amazon [Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/), considere rearquitetar o banco de dados migrando para um banco de dados nativo em nuvem da Amazon Web Services (AWS). Esse padrão abrange a migração de um banco de dados IBM [Db2](https://www.ibm.com/docs/en/db2/11.5) for LUW executado em uma EC2 instância da Amazon para um banco de dados [Amazon](https://docs.aws.amazon.com/ec2/) Aurora MySQL compatível com o [Amazon Aurora MySQL Edition na AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html).  

O padrão descreve uma estratégia de migração on-line com tempo de inatividade mínimo para um banco de dados de origem Db2 de vários terabytes com um grande número de transações. 

Esse padrão usa o [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) para converter o esquema do banco de dados Db2 em um esquema do Aurora MySQL-Compatible. Em seguida, o padrão usa o [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) para migrar dados do banco de dados Db2 para o banco de dados Aurora MySQL-Compatible. Serão necessárias conversões manuais para o código que não foi convertido pelo AWS SCT.

## Pré-requisitos e limitações
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa com uma nuvem privada virtual (VPC)
+ AWS SCT
+ AWS DMS

**Versões do produto**
+ Versão mais recente do AWS SCT
+ Db2 para Linux versão 11.1.4.4 e posterior

## Arquitetura
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ DB2/Linux x86-64 bits montado em uma instância EC2  

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados do Amazon Aurora Edição Compatível com MySQL

**Arquitetura de origem e destino**

O diagrama a seguir mostra a arquitetura de migração de dados entre os bancos de dados Db2 de origem e Aurora MySQL-Compatible de destino. A arquitetura na Nuvem AWS inclui uma nuvem privada virtual (VPC), uma zona de disponibilidade, uma sub-rede pública para a instância do Db2 e a instância de replicação do AWS DMS, além de uma sub-rede privada para o banco de dados Aurora MySQL-Compatible.

![\[Arquitetura da migração de dados entre o Db2 de origem e os bancos de dados do Aurora compatíveis com MySQL de destino.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5abfccc4-148c-4794-8d80-e3c122679125/images/f30664f8-2d6a-4448-8d5c-cff3988a52c7.png)


## Ferramentas
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) é um mecanismo de banco de dados relacional totalmente gerenciado criado para a nuvem e compatível com o MySQL e o PostgreSQL.
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [AWS Schema Conversion Tool (AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino. O AWS SCT é compatível como uma origem IBM Db2 para Linux versões 9.1, 9.5, 9.7, 10.1, 10.5, 11,1 e 11.5.

## Práticas recomendadas
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-best-practices"></a>

Para obter informações, consulte [Melhores práticas do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Épicos
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-epics"></a>

### Configurar o banco de dados IBM Db2 de origem
<a name="configure-the-source-ibm-db2-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o banco de dados IBM Db2 na Amazon EC2. | Você pode criar um banco de dados IBM Db2 em uma EC2 instância usando uma Amazon Machine Image (AMI) do AWS Marketplace ou instalando o software Db2 em uma EC2 instância.Inicie uma EC2 instância selecionando uma AMI para IBM Db2 (por exemplo, [IBM Db2 v11.5.7 RHEL 7.9](https://aws.amazon.com/marketplace/pp/prodview-aclrjj4hq2ols?sr=0-1&ref_=beagle&applicationId=AWS-EC2-Console)), que é semelhante a um banco de dados local. | AWS, DBA geral | 
| Configurar grupos de segurança. | Configure as regras de entrada do grupo de segurança da VPC para SSH (Secure Shell) e TCP com as portas 22 e 50000, respectivamente. | AWS geral | 
| Criar uma instância de banco de dados. | Crie uma nova instância (usuário) e banco de dados (esquema) ou use a instância `db2inst1` padrão e o banco de dados de amostra.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Verifique se a instância de banco de dados Db2 está disponível. | Para confirmar se a instância do banco de dados Db2 está em execução, use o comando `Db2pd -`. | DBA | 

### Configurar o banco de dados Aurora MySQL-Compatible de destino
<a name="configure-the-target-aurora-mysql-compatible-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o banco de dados Aurora MySQL-Compatible. | Crie um banco de dados Amazon Aurora com compatibilidade com MySQL a partir do serviço AWS RDS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS, DBA geral | 
| Configurar grupos de segurança. | Configure as regras de entrada do grupo de segurança da VPC para conexões SSH e TCP. | AWS geral | 
| Confirme se o banco de dados Aurora está disponível. | Para garantir que o banco de dados Aurora MySQL-Compatible esteja em execução, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 

### Configurar e executar o AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale a AWS SCT. | Baixe e instale a versão mais recente do [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) (a versão mais recente atual 1.0.628). | AWS geral | 
| Configure a AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS geral | 
| Crie um projeto AWS SCT. | Crie um projeto e um relatório do AWS SCT que use o Db2 para LUW como o mecanismo de banco de dados de origem e o Aurora MySQL-Compatible para o mecanismo de banco de dados de destino.Para identificar os privilégios necessários para se conectar a um banco de dados Db2 para LUW, consulte [Uso do Db2 para LUW como origem para o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html). | AWS geral | 
| Valide os objetos. | Escolha **Carregar esquema** e valide os objetos. Atualize qualquer objeto incorreto no banco de dados de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS, DBA geral | 

### Configurar e executar o AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criação de uma instância de replicação. | Faça login no Console de Gerenciamento da AWS, navegue até o serviço do AWS DMS e crie uma instância de replicação com configurações válidas para o grupo de segurança da VPC que você configurou para os bancos de dados de origem e destino. | AWS geral | 
| Criar endpoints. | Crie o endpoint de origem para o banco de dados Db2 e crie o endpoint de destino para o banco de dados Aurora MySQL-Compatible:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS geral | 
| Criar tarefas de migração. | Crie uma única tarefa de migração ou várias tarefas de migração para carga total e CDC ou validação de dados:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS geral | 
| Planeje a execução da produção. | Confirme o tempo de inatividade com as partes interessadas, como proprietários de aplicativos, para executar o AWS DMS em sistemas de produção. | Líder de migração | 
| Execute as tarefas de migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS geral | 
| Valide os dados. | Analise os resultados e os dados da tarefa de migração nos bancos de dados Db2 de origem e MySQL de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Pare as tarefas de migração. | Depois de concluir com êxito a validação dos dados, interrompa as tarefas de validação de migração. | AWS geral | 

## Solução de problemas
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| As conexões de teste de origem e de destino do AWS SCT estão falhando. | Configure as versões do driver JDBC e as regras de entrada do grupo de segurança da VPC para aceitar o tráfego de entrada. | 
| A execução do teste do endpoint de origem Db2 falha. | Defina a configuração de conexão extra `CurrentLSN=<scan>;`. | 
| A AWSDMS tarefa falha ao se conectar à origem do Db2 e o erro a seguir é retornado.`database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON` | Para evitar o erro, execute os comandos a seguir:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 

## Recursos relacionados
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-resources"></a>

**Amazon EC2**
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Guias EC2 do usuário da Amazon](https://docs.aws.amazon.com/ec2/)

**Bancos de dados**
+ [Banco de dados IBM Db2](https://www.ibm.com/products/db2-database)
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/)
+ [Como trabalhar com o Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)

**AWS SCT**
+ [AWS DMS Schema Conversion](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guia do usuário do AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Usar a interface de usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Usar o IBM Db2 LUW como origem para o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guia do usuário do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Origens para a migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Destinos para a migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [O AWS Database Migration Service e o AWS Schema Conversion Tool agora oferecem suporte ao IBM Db2 LUW como origem](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-aws-schema-conversion-tool-now-support-ibm-db2-as-a-source/) (publicação do blog)
+ [Migração de aplicativos que executam bancos de dados relacionais para a AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

# Migre um banco de dados Microsoft SQL Server da Amazon EC2 para o Amazon DocumentDB usando o AWS DMS
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms"></a>

*Umamaheswara Nooka, Amazon Web Services*

## Resumo
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-summary"></a>

Esse padrão descreve como usar o AWS Database Migration Service (AWS DMS) para migrar um banco de dados Microsoft SQL Server hospedado em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para um banco de dados Amazon DocumentDB (com compatibilidade com o MongoDB).

A tarefa de replicação do AWS DMS lê a estrutura da tabela do banco de dados SQL Server, cria a coleção correspondente no Amazon DocumentDB e executa uma migração de carga completa.

Você também pode usar esse padrão para migrar uma instância de banco de dados SQL Server on-premises ou Amazon Relational Database Service (Amazon RDS) para SQL Server para o Amazon DocumentDB. Para obter mais informações, consulte o guia [Migração de bancos de dados do Microsoft SQL Server para a nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/welcome.html) no site Recomendações da AWS.

## Pré-requisitos e limitações
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados SQL Server existente em uma EC2 instância.
+ Função fixa do banco de dados (**db\$1owner**) atribuída ao AWS DMS no banco de dados do SQL Server. Para obter mais informações, consulte [Funções em nível de banco de dados](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver15) na documentação do SQL Server. 
+ Familiaridade com o uso dos utilitários `mongodump`, `mongorestore`, `mongoexport` e `mongoimport` para [mover dados para dentro e para fora de um cluster do Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html).
+ [Microsoft SQL Server Management Studio](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15), instalado e configurado.

**Limitações**
+ O limite de tamanho do cluster no Amazon DocumentDB é 64 TB. Para obter mais informações, consulte [Limites de cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/limits.html#limits-cluster) na documentação do Amazon DocumentDB. 
+ O AWS DMS não oferece suporte à mesclagem de várias tabelas de origem em uma única coleção do Amazon DocumentDB.
+ Se o AWS DMS processar qualquer alteração de uma tabela de origem sem uma chave primária, ele ignorará as colunas de objetos grandes (LOB) na tabela de origem.

## Arquitetura
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Amazon EC2

**Pilha de tecnologias de destino**
+ Amazon DocumentDB

**Arquitetura de destino**

![\[Nuvem AWS architecture showing VPC with private DB subnet and components for SQL Server and DocumentDB.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f186220b-5a94-48b2-840d-f04aedf51651/images/00962b85-8b71-49df-b84a-3adcbc9ad3a3.png)


## Ferramentas
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html): o AWS Database Migration Service (AWS DMS) ajuda você a migrar bancos de dados com facilidade e segurança.
+ [Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html): o Amazon DocumentDB (compatível com MongoDB) é um serviço de banco de dados rápido, confiável e totalmente gerenciado.
+ [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) — A Amazon Elastic Compute Cloud (Amazon EC2) fornece capacidade de computação escalável na Nuvem AWS.
+ [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15): o SQL Server é um sistema de gerenciamento de banco de dados relacional.
+ [SQL Server Management Studio (SSMS)](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver15): o SSMS é uma ferramenta para gerenciar o SQL Server, incluindo acesso, configuração e administração de componentes do SQL Server.

## Épicos
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-epics"></a>

### Criar e configurar uma VPC
<a name="create-and-configure-a-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC. | Faça login no Console de Gerenciamento da AWS e abra o console do Amazon VPC. Crie uma nuvem privada virtual (VPC) com um intervalo de blocos IPv4 CIDR. | Administrador de sistema | 
| Crie grupos de segurança e rede ACLs. | No console da Amazon VPC, crie grupos de segurança e listas de controle de acesso à rede (rede ACLs) para sua VPC, de acordo com seus requisitos. Você também pode usar as configurações padrão para essas configurações. Para obter mais informações sobre esta e outras histórias, consulte a seção “Recursos relacionados”. | Administrador de sistema | 

### Criar e configurar o cluster do Amazon DocumentDB
<a name="create-and-configure-the-amazon-documentdb-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Crie um cluster do Amazon DocumentDB. | Abra o console do Amazon DocumentDB e selecione “Clusters”. Escolha “Criar” e crie um cluster do Amazon DocumentDB com uma instância. Importante: certifique-se de configurar esse cluster com os grupos de segurança da sua VPC. | Administrador de sistema  | 
|  Instale o shell do mongo. | O shell do Mongo é um utilitário de linha de comando que você usa para se conectar e consultar seu cluster do Amazon DocumentDB. Para instalá-lo, execute o comando “/etc/yum.repos.d/mongodb-org-3.6.repo” para criar o arquivo do repositório. Execute o comando “sudo yum install -y mongodb-org-shell” para instalar o shell mongo. Para criptografar dados em trânsito, faça download da chave pública do Amazon DocumentDB e conecte-se à sua instância do Amazon DocumentDB. Para obter mais informações sobre estas etapas, consulte a seção “Recursos relacionados”. | Administrador de sistema  | 
| Crie um banco de dados no cluster do Amazon DocumentDB.  | Execute o comando “use” com o nome do seu banco de dados para criar um banco de dados em seu cluster Amazon DocumentDB. | Administrador de sistema  | 

### Criar e configurar a instância de replicação do AWS DMS
<a name="create-and-configure-the-aws-dms-replication-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de replicação do AWS DMS. | Abra o console do AWS DMS e selecione “Criar instância de replicação”. Insira um nome e uma descrição para sua tarefa de replicação. Escolha a classe da instância, a versão do mecanismo, o armazenamento, a VPC, o Multi-AZ e torne-a acessível ao público. Selecione a guia “Avançado” para definir as configurações de rede e de criptografia. Especifique as configurações de manutenção e, em seguida, selecione “Criar instância de replicação”. | Administrador de sistema  | 
| Configurar o banco de dados do SQL Server.  | Faça login no Microsoft SQL Server e adicione uma regra de entrada para comunicação entre o endpoint de origem e a instância de replicação do AWS DMS. Use o endereço IP privado da instância de replicação como origem. Importante: a instância de replicação e o endpoint de destino devem estar na mesma VPC. Use uma fonte alternativa no grupo de segurança se elas VPCs forem diferentes para as instâncias de origem e replicação. | Administrador de sistema  | 

### Crie e teste os endpoints de origem e destino no AWS DMS
<a name="create-and-test-the-source-and-target-endpoints-in-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie endpoints para os bancos de dados de origem e destino. | Abra o console do AWS DMS e selecione “Conectar os endpoints do banco de dados de origem e de destino”. Especifique as informações de conexão para os bancos de dados de origem e de destino. Se necessário, escolha a guia “Avançado” para configurar os valores de “Atributos de conexão adicionais”. Baixe e use o pacote de certificados na configuração do seu endpoint. | Administrador de sistema  | 
| Teste as conexões do endpoint.  | Selecione “Executar teste” para realizar o teste da conexão. Solucione qualquer mensagem de erro verificando as configurações do grupo de segurança e as conexões com a instância de replicação do AWS DMS das instâncias de banco de dados de origem e de destino. | Administrador de sistema  | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a tarefa de migração do AWS DMS.  | No console do AWS DMS, selecione “Tarefas” e, depois, “Criar tarefa”. Especifique as opções de tarefas, incluindo os nomes dos endpoints de origem e destino e os nomes das instâncias de replicação. Em “Tipo de migração”, escolha “Migrar dados existentes” e “Replicar somente alterações de dados”. Escolha “Iniciar tarefa”. | Administrador de sistema  | 
| Execute a tarefa de migração do AWS DMS. | Em “Configurações de tarefas”, especifique as configurações para o modo de preparação da tabela, como “Não executar nenhuma ação”, “Abandonar tabelas no destino”, “Truncar” e “Incluir colunas LOB na replicação”. Configure o tamanho máximo de LOB permitido pelo AWS DMS e selecione “Habilitar registro em log”. Mantenha as “Configurações avançadas” nos valores padrão e escolha “Criar tarefa”. | Administrador de sistema  | 
| Monitorar a migração. | No console do AWS DMS, escolha “Tarefas” e selecione a tarefa de migração. Escolha “Monitoramento de tarefas” para monitorar a execução da sua tarefa. A tarefa para por conta própria quando a migração de carga total é concluída e as alterações em cache são aplicadas. | Administrador de sistema  | 

### Testar e verificar a migração
<a name="test-and-verify-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Conecte-se ao cluster Amazon DocumentDB usando o shell do mongo. | Abra o console do Amazon DocumentDB e selecione o seu cluster em “Clusters”. Na guia “Conectividade e segurança”, selecione “Conectar-se a este cluster com o shell do Mongo”. | Administrador de sistema  | 
| Verifique os resultados da sua migração. | Execute o comando “use” com o nome do seu banco de dados e, em seguida, execute o comando “show collections”. Execute o comando “db. .count();” com o nome do seu banco de dados. Se os resultados corresponderem ao seu banco de dados de origem, sua migração foi bem-sucedida. | Administrador de sistema  | 

## Recursos relacionados
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-resources"></a>

**Criar e configurar uma VPC **
+ [Crie um grupo de segurança para a VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)
+ [Criar uma ACL de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)

** **

**Criar e configurar o cluster do Amazon DocumentDB**
+ [Criar um cluster do Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-cluster)
+ [Instale o shell do mongo para o Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-mongoshell)
+ [Conectar ao cluster do Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-connectcluster)

** **

**Criar e configurar a instância de replicação do AWS DMS **
+ [Use instâncias de replicação públicas e privadas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.PublicPrivate)

** **

**Crie e teste os endpoints de origem e destino no AWS DMS**
+ [Use o Amazon DocumentDB como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/target.docdb.html)
+ [Use um banco de dados SQL Server como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Use endpoints do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html)

** **

**Migrar dados **
+ [Migre para o Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-migration.html)

** **

**Outros recursos**
+ [Limitações de uso do SQL Server como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Limitations) 
+ [Como usar o Amazon DocumentDB para criar e gerenciar aplicativos em grande escala](https://aws.amazon.com/blogs/database/how-to-use-amazon-documentdb-with-mongodb-compatibility-to-build-and-manage-applications-at-scale/)

# Migre um banco de dados ThoughtSpot Falcon local para o Amazon Redshift
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift"></a>

*Battulga Purevragchaa e Antony Prasad Thevaraj, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-summary"></a>

Os data warehouses on-premises exigem tempo e recursos administrativos significativos, especialmente para grandes conjuntos de dados. O custo financeiro de construir, manter e cultivar esses armazéns também é muito alto. Para ajudar a gerenciar custos, manter baixa a complexidade de extração, transformação e carregamento (ETL) e oferecer desempenho à medida que seus dados crescem, você deve escolher constantemente quais dados carregar e quais arquivar.

Ao migrar seus [bancos de dados ThoughtSpot Falcon](https://docs.thoughtspot.com/software/latest/data-caching) locais para a nuvem da Amazon Web Services (AWS), você pode acessar data lakes e data warehouses baseados na nuvem que aumentam a agilidade, a segurança e a confiabilidade dos aplicativos de sua empresa, além de reduzir os custos gerais de infraestrutura. O Amazon Redshift ajuda a reduzir significativamente o custo e a sobrecarga operacional de um data warehouse. Você também pode usar o Amazon Redshift Spectrum para analisar grandes quantidades de dados em seu formato nativo sem carregar dados.

Esse padrão descreve as etapas e o processo para migrar um banco de dados ThoughtSpot Falcon de um datacenter local para um banco de dados do Amazon Redshift na nuvem da AWS.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados ThoughtSpot Falcon hospedado em um data center local

**Versões do produto**
+ ThoughtSpot versão 7.0.1 

## Arquitetura
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-architecture"></a>

![\[Migração de um banco de dados ThoughtSpot Falcon de um datacenter local para o Amazon Redshift.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b0ca29f4-b269-4b57-b386-738693a6b334/images/2b483990-1f30-439c-ba13-dc0cb0650360.png)


 

O diagrama mostra o seguinte fluxo de trabalho:

1. Os dados são hospedados em um banco de dados relacional on-premises.

1. O AWS Schema Conversion Tool (AWS SCT) converte a linguagem de definição de dados (DDL) compatível com o Amazon Redshift.

1. Depois de criar as tabelas, você pode migrar dados usando o AWS Database Migration Service (AWS DMS).

1. Os dados são carregados no Amazon Redshift.

1. Os dados são armazenados no Amazon Simple Storage Service (Amazon S3) se você usa Redshift Spectrum ou já hospeda dados no Amazon S3.

## Ferramentas
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html): o AWS Data Migration Service (AWS DMS) ajuda você a migrar bancos de dados para a AWS de forma rápida e segura.
+ O [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html): o Amazon Redshift é um serviço de data warehouse rápido, totalmente gerenciado e em escala de petabytes que torna simples e econômica a análise eficiente de todos os seus dados usando as ferramentas de business intelligence existentes.
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): o AWS Schema Conversion Tool (AWS SCT) converte seu esquema de banco de dados existente de um mecanismo de banco de dados para outro.

## Épicos
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique a configuração apropriada do Amazon Redshift. | Identifique a configuração apropriada do cluster do Amazon Redshift com base em seus requisitos e volume de dados. Para obter mais informações, consulte [Clusters do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) na documentação do Amazon Redshift. | DBA | 
| Pesquisar o Amazon Redshift para avaliar se ele atende aos seus requisitos. | Use o [Amazon Redshift FAQs](https://aws.amazon.com/redshift/faqs/) para entender e avaliar se o Amazon Redshift atende aos seus requisitos. | DBA | 

### Preparar o cluster de destino do Amazon Redshift
<a name="prepare-the-target-amazon-redshift-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um cluster do Amazon Redshift. | Faça login no Console de gerenciamento da AWS, abra o console do Amazon Redshift e crie um cluster do Amazon Redshift em uma nuvem privada virtual (VPC). Para obter mais informações, consulte [Criar um cluster em uma VPC](https://docs.aws.amazon.com/redshift/latest/mgmt/getting-started-cluster-in-vpc.html) na documentação do Amazon Redshift. | DBA | 
| Conduzir uma PoC para o design do seu banco de dados do Amazon Redshift. | Siga as práticas recomendadas do Amazon Redshift conduzindo uma prova de conceito (PoC) para o design do seu banco de dados. Para obter mais informações, consulte [Condução de uma prova de conceito do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/proof-of-concept-playbook.html) na documentação do Amazon Redshift. | DBA | 
| Criar usuários do banco de dados. | Crie os usuários em seu banco de dados do Amazon Redshift e conceda os perfis apropriados para acesso ao esquema e às tabelas.  Para obter mais informações, consulte [Conceção de privilégios de acesso para um usuário ou grupo de usuários](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) na documentação do Amazon Redshift. | DBA | 
| Aplicar as configurações ao banco de dados de destino. | Aplique configurações ao banco de dados do Amazon Redshift de acordo com seus requisitos. Para obter mais informações sobre como habilitar parâmetros em nível de banco de dados, sessão e servidor, consulte a [Referência de configuração](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) na documentação do Amazon Redshift. | DBA | 

### Criar objetos no cluster do Amazon Redshift
<a name="create-objects-in-the-amazon-redshift-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie tabelas manualmente com DDL no Amazon Redshift. | (Opcional) Se você usa o AWS SCT, as tabelas são criadas automaticamente. No entanto, se houver falhas na replicação DDLs, você precisará criar manualmente as tabelas | DBA | 
| Crie tabelas externas para Redshift Spectrum. | Crie uma tabela externa com um esquema externo para o Amazon Redshift Spectrum. Para criar tabelas externas, você deve ser o proprietário do esquema externo ou um [superusuário do banco de dados](https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html). Para obter mais informações, consulte [Criar tabelas externas para o Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html) na documentação do Amazon Redshift. | DBA | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use o AWS DMS para migrar os dados. | Depois de criar o DDL das tabelas no banco de dados do Amazon Redshift, migre seus dados para o Amazon Redshift usando o AWS DMS.Para obter etapas e instruções detalhadas, consulte [Uso de um banco de dados do Amazon Redshift como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) na documentação do AWS DMS. | DBA | 
| Usar um comando COPY para carregar dados. | Use o comando `COPY` do Amazon Redshift para carregar dados do Amazon S3 para o Amazon Redshift.Para obter mais informações, consulte [Uso do comando COPY para carregar do Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html) na documentação do Amazon Redshift. | DBA | 

### Validar o cluster do Amazon Redshift
<a name="validate-the-amazon-redshift-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide os registros de origem e de destino.  | Valide a contagem de tabelas para os registros de origem e destino que foram carregados do seu sistema de origem. | DBA | 
| Implementar as práticas recomendadas do Amazon Redshift para ajuste de desempenho. | Práticas recomendadas do Amazon Redshift para projetar tabelas. Para obter mais informações, consulte a publicação [As 10 melhores técnicas de ajuste de desempenho do Amazon Redshift](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/) no blog. | DBA | 
| Otimize o desempenho da consulta. | O Amazon Redshift usa consultas baseadas em SQL para interagir com dados e objetos no sistema. A linguagem de manipulação de dados (DML) é um subconjunto da SQL que pode ser usado para ver, adicionar, alterar e excluir dados. DDL é um subconjunto de SQL usado para adicionar, alterar excluir objetos do banco de dados, como tabelas e visualizações.Para obter mais informações, consulte [Ajuste do desempenho da consulta](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html) na documentação do Amazon Redshift. | DBA | 
| Implementar o WLM.  | Você pode usar o gerenciamento de workload (WLM) para definir diversas filas de consultas e rotear consultas para filas apropriadas no runtime.Para obter mais informações, consulte [Implementação do gerenciamento do workload](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html) na documentação do Amazon Redshift. | DBA | 
| Trabalhe com escalonamento de simultaneidade. | Ao usar o atributo de escalabilidade de simultaneidade, você pode oferecer suporte a usuários simultâneos e consultas simultâneas praticamente ilimitadas, com desempenho de consulta consistentemente rápido.Para obter mais informações, consulte [Trabalho com escalabilidade simultânea](https://docs.aws.amazon.com/redshift/latest/dg/concurrency-scaling.html) na documentação do Amazon Redshift. | DBA | 
| Use as práticas recomendadas do Amazon Redshift para design de tabelas. | Ao planejar seu banco de dados, certas decisões importantes de design de tabela podem influenciar fortemente o desempenho geral da consulta.Para obter mais informações sobre como escolher a opções de design de tabelas mais adequada, consulte [Práticas recomendadas do Amazon Redshift para projetar tabelas](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) na documentação do Amazon Redshift. | DBA | 
| Crie visões materializadas no Amazon Redshift. | Uma visão materializada contém um conjunto de resultados pré-computados, com base em uma consulta SQL a uma ou mais tabelas base. É possível emitir instruções `SELECT` para consultar uma visão materializada, da mesma maneira como você pode consultar outras tabelas ou visualizações no banco de dados.Para obter mais informações, consulte [Criar visões materializadas no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) na documentação do Amazon Redshift. | DBA | 
| Definir as junções entre as tabelas. | Para pesquisar mais de uma tabela ao mesmo tempo ThoughtSpot, você deve definir junções entre as tabelas especificando colunas que contêm dados correspondentes em duas tabelas. Essas colunas representam a extremidade `primary key` da junção `foreign key`.Você pode defini-las usando o `ALTER TABLE` comando no Amazon Redshift ou. ThoughtSpot Para obter mais informações, consulte [ALTER TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE.html) na documentação do Amazon Redshift. | DBA | 

### Configurar a ThoughtSpot conexão com o Amazon Redshift
<a name="set-up-thoughtspot-connection-to-amazon-redshift"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Adicione uma conexão do Amazon Redshift. | Adicione uma conexão do Amazon Redshift ao seu banco de dados Falcon local ThoughtSpot .Para obter mais informações, consulte [Adicionar uma conexão com o Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-add-connection.html) na ThoughtSpot documentação. | DBA | 
| Editar a conexão do Amazon Redshift. | Você pode editar a conexão do Amazon Redshift para adicionar tabelas e colunas.Para obter mais informações, consulte [Editar uma conexão do Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-edit-connection.html) na ThoughtSpot documentação. | DBA | 
| Remapear a conexão do Amazon Redshift. | Modifique os parâmetros de conexão editando o arquivo .yaml de mapeamento de origem que foi criado quando você adicionou a conexão do Amazon Redshift. Por exemplo, você pode remapear a tabela ou coluna existente para uma tabela ou coluna diferente em uma conexão de banco de dados existente. ThoughtSpot recomenda que você verifique as dependências antes e depois de remapear uma tabela ou coluna em uma conexão para garantir que elas sejam exibidas conforme necessário.Para obter mais informações, consulte [Remapear uma conexão do Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-remap-connection.html) na ThoughtSpot documentação. | DBA | 
| Excluir uma tabela da conexão do Amazon Redshift.  | (Opcional) Se você tentar remover uma tabela em uma conexão do Amazon Redshift, ThoughtSpot verifica as dependências e mostra uma lista de objetos dependentes. Você pode escolher os objetos listados para excluí-los ou remover a dependência. Em seguida, você pode remover a tabela.Para obter mais informações, consulte [Excluir uma tabela de uma conexão do Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table.html) na ThoughtSpot documentação. | DBA | 
|  Exclua uma tabela com objetos dependentes de uma conexão do Amazon Redshift. | (Opcional) Se você tentar excluir uma tabela com objetos dependentes, a operação será bloqueada. Uma janela `Cannot delete` é exibida, com uma lista de links para objetos dependentes. Quando todas as dependências forem removidas, você poderá excluir a tabelaPara obter mais informações, consulte [Excluir uma tabela com objetos dependentes de uma conexão do Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table-dependencies.html) na ThoughtSpot documentação. | DBA | 
| Excluir uma conexão do Amazon Redshift. | (Opcional) Como uma conexão pode ser usada em várias fontes de dados ou visualizações, você deve excluir todas as fontes e tarefas que usam essa conexão antes de excluir a conexão do Amazon Redshift.Para obter mais informações, consulte [Excluir uma conexão do Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-connection.html) na ThoughtSpot documentação. | DBA | 
|  Verificar a referência de conexão do Amazon Redshift. | Certifique-se de fornecer as informações necessárias para sua conexão com o Amazon Redshift usando a [referência de conexão](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-connection-reference.html) na ThoughtSpot documentação. | DBA | 

## Mais informações
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-additional"></a>
+ [Análise orientada por IA em qualquer escala com o Amazon ThoughtSpot Redshift](https://aws.amazon.com/blogs/apn/ai-driven-analytics-at-any-scale-with-thoughtspot-and-amazon-redshift/)
+ [Preços do Amazon Redshift](https://aws.amazon.com/redshift/pricing/)
+ [Conceitos básicos do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html) 
+ [Conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Uso de agentes de extração de dados](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Chick-fil-A melhora a velocidade de obtenção de insights com ThoughtSpot a AWS](https://www.thoughtspot.com/sites/default/files/pdf/ThoughtSpot-Chick-fil-A-AWS-Case-Study.pdf) 

# Migre do banco de dados Oracle para o Amazon RDS for PostgreSQL usando o Oracle GoldenGate
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate"></a>

*Dhairya Jindani, Sindhusha Paturu e Rajeshkumar Sabankar, Amazon Web Services*

## Resumo
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-summary"></a>

Esse padrão mostra como migrar um banco de dados Oracle para o Amazon Relational Database Service (Amazon RDS) para PostgreSQL usando o Oracle Cloud Infrastructure (OCI). GoldenGate

Usando o Oracle GoldenGate, você pode replicar dados entre seu banco de dados de origem e um ou mais bancos de dados de destino com o mínimo de tempo de inatividade.

**nota**  
O banco de dados Oracle de origem pode estar no local ou em uma instância do Amazon Elastic Compute Cloud EC2 (Amazon). Você pode usar um procedimento semelhante ao usar ferramentas de replicação on-premises.

## Pré-requisitos e limitações
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma GoldenGate licença Oracle
+ Java Database Connectivity driver JDBC para conectar ao banco de dados PostgreSQL
+ Esquema e tabelas criados com a [AWS Schema Conversion Tool (AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/)) no banco de dados Amazon RDS para PostgreSQL de destino

**Limitações**
+ O Oracle GoldenGate só pode replicar dados de tabelas existentes (carga inicial) e alterações em andamento (captura de dados de alteração)

**Versões do produto**
+ Oracle Database Enterprise Edition 10g, ou versões mais recentes 
+ Oracle GoldenGate 12.2.0.1.1 para Oracle ou versões mais recentes
+ Oracle GoldenGate 12.2.0.1.1 para PostgreSQL ou versões mais recentes

## Arquitetura
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-architecture"></a>

O diagrama a seguir mostra um exemplo de fluxo de trabalho para migrar um banco de dados Oracle para o Amazon RDS for PostgreSQL usando o Oracle: GoldenGate

![\[Fluxo de trabalho de migração do banco de dados da Oracle on-premises para o Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/384f0eaf-8582-474a-a7f4-ec1048a4feb3/images/de541887-0d5f-4a9a-b136-ce2599355cb8.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. O [processo Oracle GoldenGate Extract](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-6419F3A9-71EC-4D14-9C41-3BAA1E3CA19C) é executado no banco de dados de origem para extrair dados.

1. O [processo Oracle GoldenGate Replicat](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-5EF0326C-9058-4C40-8925-98A223388C95) entrega os dados extraídos ao banco de dados Amazon RDS for PostgreSQL de destino.

## Ferramentas
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-tools"></a>
+  GoldenGateA [Oracle](https://www.oracle.com/integration/goldengate/#:~:text=OCI%20GoldenGate%20is%20a%20real,in%20the%20Oracle%20Cloud%20Infrastructure.) ajuda você a projetar, executar, orquestrar e monitorar suas soluções de replicação de dados e streaming de processamento de dados na Oracle Cloud Infrastructure.
+ O [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ajuda você a configurar, operar e escalar um banco de dados relacional PostgreSQL na Nuvem AWS.

## Épicos
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-epics"></a>

### Baixe e instale o Oracle GoldenGate
<a name="download-and-install-oracle-goldengate"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o Oracle GoldenGate. | Faça o download das seguintes versões do Oracle GoldenGate:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html)Para baixar o software, consulte [Oracle GoldenGate Downloads](https://www.oracle.com/middleware/technologies/goldengate-downloads.html) no site da Oracle. | DBA | 
| Instale o Oracle GoldenGate for Oracle no servidor de banco de dados Oracle de origem. | Para obter instruções, consulte a [ GoldenGate documentação da Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | DBA | 
| Instale o banco de dados Oracle GoldenGate para PostgreSQL na instância da Amazon. EC2  | Para obter instruções, consulte a [ GoldenGate documentação da Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | DBA | 

### Configurar o Oracle GoldenGate nos bancos de dados de origem e destino
<a name="configure-oracle-goldengate-on-the-source-and-target-databases"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o Oracle GoldenGate for Oracle Database no banco de dados de origem. | Para obter instruções, consulte a [ GoldenGate documentação da Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm).Certifique-se de configurar o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 
| Configure o Oracle GoldenGate para PostgreSQL no banco de dados de destino. | Para obter instruções, consulte a [Parte VI Usando o Oracle GoldenGate para PostgreSQL](https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/using-oracle-goldengate-postgresql.html) no site da Oracle.Certifique-se de configurar o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 

### Configure a captura de dados
<a name="configure-the-data-capture"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o processo de Extração no banco de dados de origem. | No banco de dados Oracle de origem, crie um arquivo de extração para extrair dados.Para obter instruções, consulte [ADICIONAR EXTRACT](https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/ggsci_commands006.htm#GWURF122) na documentação da Oracle.O arquivo de extração inclui a criação do arquivo de parâmetros de extração e do diretório de arquivos de trilha. | DBA | 
| Configure uma bomba de dados para transferir o arquivo de trilha do banco de dados de origem para o de destino. | Crie um arquivo de parâmetros EXTRACT e um diretório de arquivos de trilha seguindo as instruções em [PARFILE](https://docs.oracle.com/database/121/SUTIL/GUID-7A045C82-5993-44EB-AFAD-B7D39C34BCCD.htm#SUTIL859) em *Utilitários de banco de dados* no site da Oracle.Para obter mais informações, consulte [O que é uma trilha?](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-88674F53-1E07-4C00-9868-598F82D7113C) no *Fusion Middleware Understanding Oracle GoldenGate* no site da Oracle. | DBA | 
| Configure a replicação na EC2 instância da Amazon. | Crie um arquivo de parâmetros de replicação e um diretório de arquivos de trilha.Para obter mais informações sobre como criar arquivos de parâmetros de replicação, consulte a seção [3.5 Validando um arquivo de parâmetros](https://docs.oracle.com/en/middleware/goldengate/core/21.3/admin/using-oracle-goldengate-parameter-files.html#GUID-1E32A9AD-25DB-4243-93CD-E643E7116215) na documentação do Oracle Database.Para obter mais informações sobre a criação de um diretório de arquivos de trilha, consulte [Criar uma trilha](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/creating-trail.html) na documentação do Oracle Cloud.Certifique-se de adicionar uma entrada de tabela como ponto de verificação no arquivo GLOBALS no destino.Para obter mais informações, consulte [O que é uma réplica](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GGCON-GUID-5EF0326C-9058-4C40-8925-98A223388C95)? no *Fusion Middleware Understanding Oracle GoldenGate* no site da Oracle. | DBA | 

### Configure a replicação de dados
<a name="configure-the-data-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| No banco de dados de origem, crie um arquivo de parâmetros para extrair dados para o carregamento inicial. | Siga as instruções em [Como criar um arquivo de parâmetros no GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) na documentação do Oracle Cloud.Certifique-se de que o Manager esteja em execução no destino. | DBA | 
| No banco de dados de destino, crie um arquivo de parâmetros para replicar dados para o carregamento inicial. | Siga as instruções em [Como criar um arquivo de parâmetros no GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) na documentação do Oracle Cloud.Certifique-se de adicionar e iniciar o processo Replicat. | DBA | 

### Vá para o banco de dados do Amazon RDS para PostgreSQL
<a name="cut-over-to-the-amazon-rds-for-postgresql-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Pare o processo de Replicação e certifique-se que os bancos de dados de origem e de destino estejam sincronizados. | Compare as contagens de linhas entre os bancos de dados de origem e de destino para garantir que a replicação dos dados tenha sido bem-sucedida. | DBA | 
| Configure o suporte DDL (Linguagem de definição de dados). | Execute o script DDL para criar acionadores, sequência, sinônimos e chaves referenciais no PostgreSQL.É possível usar qualquer aplicação cliente em SQL padrão para estabelecer conexão com um banco de dados no cluster de banco de dados. Por exemplo, você pode usar o [pgAgmin](https://www.pgadmin.org/) para se conectar à sua instância de banco de dados. | DBA | 

## Recursos relacionados
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-resources"></a>
+ [Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) (*Guia do usuário do Amazon RDS*)
+ [ EC2 Documentação da Amazon](https://docs.aws.amazon.com/ec2/)
+ [Métodos de processamento e bancos de dados GoldenGate suportados](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD112) pela Oracle (documentação da Oracle)

# Migre uma tabela particionada do Oracle para o PostgreSQL usando o AWS DMS
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms"></a>

*Saurav Mishra e Eduardo Valentim, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-summary"></a>

Esse padrão descreve como acelerar o carregamento de uma tabela particionada do Oracle para o PostgreSQL usando o AWS Database Migration Service (AWS DMS), que não oferece suporte ao particionamento nativo. O banco de dados PostgreSQL de destino pode ser instalado no Amazon Elastic Compute Cloud (Amazon) ou pode ser uma instância de banco de dados EC2 Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou Amazon Aurora PostgreSQL Compatible Edition. 

O upload de uma tabela particionada inclui as seguintes etapas:

1. Crie uma tabela principal semelhante à tabela de partições do Oracle, mas não inclua nenhuma partição.

1. Crie tabelas secundárias que herdarão da tabela principal que você criou na etapa 1.

1. Crie uma função de procedimento e um gatilho para lidar com as inserções na tabela principal.

No entanto, como o gatilho é acionado para cada inserção, a carga inicial usando o AWS DMS pode ser muito lenta.

Para acelerar os carregamentos iniciais do Oracle para o PostgreSQL 9.0, esse padrão cria uma tarefa separada do AWS DMS para cada partição e carrega as tabelas secundárias correspondentes. Em seguida, você cria um gatilho durante a substituição. 

O PostgreSQL versão 10 suporta particionamento nativo. No entanto, você pode decidir usar o particionamento herdado em alguns casos. Para obter mais informações, consulte a seção [Informações adicionais](#migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional).

## Pré-requisitos e limitações
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados do Oracle de origem com uma tabela particionada
+ Um banco de dados do PostgreSQL na AWS

**Versões do produto**
+ PostgreSQL 9.0

## Arquitetura
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Uma tabela particionada no Oracle

**Pilha de tecnologias de destino**
+ Uma tabela particionada no PostgreSQL (na EC2 Amazon, Amazon RDS for PostgreSQL ou Aurora PostgreSQL)

**Arquitetura de destino**

![\[Dados de tabelas particionadas na Oracle sendo migrados para uma tarefa do AWS DMS para cada partição e, em seguida, para o PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7fa2898e-3308-436a-aec8-ab6f680d7bac/images/1b9742ea-a13d-434c-83a7-56686cf76ea0.png)


## Ferramentas
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.

## Épicos
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-epics"></a>

### Configurar o AWS DMS
<a name="set-up-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie as tabelas no PostgreSQL. | Crie as tabelas principal e secundária correspondentes no PostgreSQL com as condições de verificação necessárias para partições. | DBA | 
| Crie a tarefa do AWS DMS para cada partição. | Inclua a condição do filtro da partição na tarefa do AWS DMS. Mapeie as partições para as tabelas secundárias correspondentes do PostgreSQL. | DBA | 
| Execute as tarefas do AWS DMS usando carga total e captura de dados alterados (CDC). | Verifique se o parâmetro `StopTaskCachedChangesApplied` está definido como `true` e se o parâmetro `StopTaskCachedChangesNotApplied` está definido como `false`. | DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Interrompe as tarefas de replicação. | Antes de interromper as tarefas, confirme se a origem e o destino estão sincronizados. | DBA | 
| Crie um gatilho na tabela principal. | Como a tabela principal receberá todos os comandos de inserção e atualização, crie um gatilho que roteará esses comandos para as respectivas tabelas secundárias com base na condição de particionamento. | DBA | 

## Recursos relacionados
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Particionamento de tabelas (documentação do PostgreSQL)](https://www.postgresql.org/docs/10/ddl-partitioning.html)

## Mais informações
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional"></a>

Embora a versão 10 do PostgreSQL ofereça suporte ao particionamento nativo, você pode decidir usar o particionamento herdado para os seguintes casos de uso:
+ O particionamento impõe uma regra de que todas as partições devem ter o mesmo conjunto de colunas que a principal, mas a herança de tabelas permite que os filhos tenham colunas extras.
+ A herança de tabelas oferece suporte a várias heranças.
+ O particionamento declarativo oferece suporte somente ao particionamento de listas e intervalos. Com a herança de tabelas, você pode dividir os dados como quiser. No entanto, se a exclusão da restrição não puder remover partições de forma eficaz, o desempenho da consulta será prejudicado.
+ Algumas operações precisam de um bloqueio mais forte ao usar o particionamento declarativo do que ao usar a herança de tabelas. Por exemplo, adicionar ou remover uma partição de ou para uma tabela particionada exige um bloqueio `ACCESS EXCLUSIVE` na tabela principal, enquanto um bloqueio `SHARE UPDATE EXCLUSIVE` é suficiente para a herança regular.

Ao usar partições de trabalho separadas, você também pode recarregar partições se houver algum problema de validação do AWS DMS. Para melhorar o desempenho e o controle da replicação, execute tarefas em instâncias de replicação separadas.

# Migre do Amazon RDS para Oracle para o Amazon RDS para MySQL
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql"></a>

*Jitender Kumar, Srini Ramaswamy e Neha Sharma, Amazon Web Services*

## Resumo
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-summary"></a>

Este padrão fornece orientações para a migração de uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para Oracle para uma instância do Amazon RDS para MySQL na Amazon Web Services (AWS). O padrão usa o AWS Database Migration Service (AWS DMS) e o AWS Schema Conversion Tool (AWS SCT). 

O padrão apresenta as práticas recomendadas para conduzir a migração de procedimentos armazenados. Além disso, ele aborda as alterações de código necessárias para fornecer suporte à camada de aplicação. 

## Pré-requisitos e limitações
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Banco de dados de origem do Amazon RDS para Oracle.
+ Banco de dados de destino do Amazon RDS para MySQL. Os bancos de dados de origem e de destino devem estar na mesma nuvem privada virtual (VPC). Se você estiver usando vários VPCs, ou precisar ter as permissões de acesso necessárias.
+ Grupos de segurança que permitem a conectividade entre os bancos de dados de origem e de destino, o AWS SCT, o servidor de aplicativos e o AWS DMS.
+ Uma conta de usuário com o privilégio necessário para executar o AWS SCT no banco de dados de origem.
+ Registro em log suplementar habilitado para a execução do AWS DMS no banco de dados de origem.

**Limitações**
+ O limite de tamanho do banco de dados Amazon RDS de origem e destino é 64 TB. Para obter informações sobre o tamanho do Amazon RDS, consulte a [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
+ O Oracle não diferencia maiúsculas de minúsculas para objetos de banco de dados, mas o MySQL não. O AWS SCT pode lidar com esse problema durante a criação de um objeto. No entanto, algumas intervenções manuais são exigidas para que haja completa insensibilidade a maiúsculas e minúsculas.
+ Essa migração não usa extensões do MySQL para habilitar funções nativas da Oracle. O AWS SCT processa a maior parte da conversão, mas é necessário algum trabalho para alterar o código manualmente.
+ Alterações do driver Java Database Connectivity (driver JDBC) são necessárias no aplicativo.

**Versões do produto**
+ Amazon RDS para Oracle 12.2.0.1 e versões posteriores. Para obter informações sobre as versões do RDS para Oracle com suporte atualmente, consulte a [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html).
+ Amazon RDS para MySQL 8.0.15 e versões posteriores. Para obter informações sobre as versões do RDS para MySQL com suporte atualmente, consulte a [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html).
+ AWS DMS, versão 3.3.0 e versões posteriores. Consulte a documentação da AWS para obter mais informações sobre os [endpoints de origem](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html) e os [endpoints de destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) compatíveis com o AWS DMS.
+ AWS SCT, versão 1.0.628 e versões posteriores.  Consulte a [matriz de compatibilidade para endpoints de origem e de destino do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) na documentação da AWS.

## Arquitetura
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-architecture"></a>

**Pilha de tecnologia de origem**
+ Amazon RDS para Oracle. Para obter mais informações, consulte [Using an Oracle database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 

**Pilha de tecnologias de destino**
+ Amazon RDS para MySQL. Para obter mais informações, consulte [Uso de um banco de dados compatível com MySQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html).

**Arquitetura de migração**

No diagrama apresentado a seguir, o AWS SCT copia e converte os objetos de esquema do banco de dados de origem do Amazon RDS para Oracle e envia esses objetos para o banco de dados de destino do Amazon RDS para MySQL. O AWS DMS replica os dados do banco de dados de origem e os envia para a instância do Amazon RDS para MySQL.

![\[AWS SCT, AWS DMS e Amazon RDS implantados em uma sub-rede privada.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)


## Ferramentas
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-tools"></a>
+ O [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) facilita a migração de armazenamentos de dados para a Nuvem AWS ou entre configurações híbridas de nuvem e ambientes on-premises.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS. Esse padrão usa o [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) e o [Amazon RDS para MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html).
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.

## Épicos
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-epics"></a>

### Preparo para a migração
<a name="prepare-for-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar versões e mecanismos do banco de dados de origem e de destino. |  | DBA | 
|  Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, SysAdmin | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Escolha o tipo de instância adequado (capacidade, atributos de armazenamento e atributos de rede). |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin  | 
| Escolha uma estratégia de migração de aplicativos. | Considere se você quer tempo de inatividade total ou parcial para atividades de substituição. | DBA SysAdmin, proprietário do aplicativo | 

### Configurar a infraestrutura
<a name="configure-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma VPC e sub-redes. |  | SysAdmin | 
| Crie grupos de segurança e listas de controle de acesso à rede (ACLs). |  | SysAdmin | 
| Configure e inicie a instância do Amazon RDS para Oracle. |  | DBA, SysAdmin | 
| Configure e inicie a instância do Amazon RDS para MySQL.  |  | DBA, SysAdmin | 
| Prepare um caso de teste para validação da conversão de código. | Isso ajudará no teste de unidade do código convertido. | DBA, Desenvolvedor | 
| Configure a instância do AWS DMS. |  |  | 
| Configure endpoints de origem e destino no AWS DMS. |  |  | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere o script do banco de dados de destino usando o AWS SCT. | Verifique a precisão do código que foi convertido pelo AWS SCT. Será necessário algum trabalho manual. | DBA, Desenvolvedor | 
| No AWS SCT, escolha a configuração “Sem distinção entre maiúsculas e minúsculas”. | No AWS SCT, escolha Configurações do projeto, Diferenciação entre maiúsculas e minúsculas e maiúsculas e minúsculas. | DBA, Desenvolvedor | 
| No AWS SCT, escolha não usar a função nativa da Oracle. | Em Configurações do projeto, verifique as funções TO\$1 CHAR/TO\$1NUMBER/TO \$1DATE. | DBA, Desenvolvedor | 
| Faça alterações no código “sql%notfound”. | Talvez seja necessário converter o código manualmente. |  | 
| Consulte tabelas e objetos em procedimentos armazenados (use consultas em minúsculas). |  | DBA, Desenvolvedor | 
| Crie o script primário depois que todas as alterações forem feitas e, em seguida, implante o script primário no banco de dados de destino. |  | DBA, Desenvolvedor | 
| Teste de unidade os procedimentos armazenados e as chamadas de aplicativos usando dados de amostra.  |  |  | 
| Limpe os dados que foram criados durante o teste de unidade. |  | DBA, Desenvolvedor | 
| Elimine restrições de chave no banco de dados de destino. | Essa etapa é necessária para carregar dados iniciais. Se você não quiser eliminar as restrições de chave estrangeira, deverá criar uma tarefa de migração para dados específicos das tabelas primária e secundária. | DBA, Desenvolvedor | 
| Coloque chaves primárias e chaves exclusivas no banco de dados de destino. | Essa etapa resulta em melhor desempenho para a carga inicial. | DBA, Desenvolvedor | 
| Habilite o log suplementar no banco de dados de origem.  |  | DBA | 
| Crie uma tarefa de migração para a carga inicial no AWS DMS e, em seguida, execute-a. | Selecionar a opção Migrar dados existentes. | DBA | 
| Adicione as chaves primárias e estrangeiras ao banco de dados de destino. | Restrições precisam ser adicionadas após a carga inicial. | DBA, Desenvolvedor | 
| Crie uma tarefa de migração para a replicação contínua. | A replicação contínua mantém o banco de dados de destino sincronizado com o banco de dados de origem. | DBA | 

### Migrar aplicativos
<a name="migrate-applications"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Substitua as funções nativas do Oracle pelas funções nativas do MySQL. |  | Proprietário do App | 
| Certifique-se de que somente nomes em minúsculas sejam usados para objetos de banco de dados em consultas SQL. |  | DBA SysAdmin, proprietário do aplicativo | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre o servidor do aplicativo. |  | Proprietário do App | 
| Valide se os bancos de dados de origem e de destino estão em sincronia. |  | DBA, proprietário do aplicativo | 
| Encerre a instância de banco de dados do Amazon RDS para Oracle. |  | DBA | 
| Pare a tarefa de migração. | Isso será interrompido automaticamente depois que você concluir a etapa anterior. | DBA | 
| Altere a conexão JDBC do Oracle para o MySQL. |  | Proprietário do aplicativo, DBA | 
| Inicie o aplicativo. |  | DBA SysAdmin, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Revise e valide os documentos do projeto. |  | DBA, SysAdmin | 
| Reúna métricas sobre o tempo de migração, porcentagem de tarefas manuais versus tarefas de ferramentas, economia de custos, etc. |  | DBA, SysAdmin | 
| Pare e exclua instâncias do AWS DMS. |  | DBA | 
| Remova os endpoints de origem e de destino. |  | DBA | 
| Remova as tarefas de migração. |  | DBA | 
| Faça uma instância de banco de dados do Amazon RDS para Oracle. |  | DBA | 
| Exclua a instância de banco de dados do Amazon RDS para Oracle. |  | DBA | 
| Encerre e exclua quaisquer outros recursos temporários da AWS que você usou. |  | DBA, SysAdmin | 
| Feche o projeto e forneça feedback, se houver. |  | DBA | 

## Recursos relacionados
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migre do IBM Db2 na Amazon para o EC2 Aurora compatível com PostgreSQL usando o AWS DMS e o AWS SCT
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct"></a>

*Sirsendu Halder e Abhimanyu Chhabra, Amazon Web Services*

## Resumo
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão fornece orientação para migrar um banco de dados IBM Db2 em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para uma instância de banco de dados Amazon Aurora PostgreSQL compatível com o PostgreSQL. Este padrão usa o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool (AWS SCT) para migração de dados e conversão de esquemas.

O padrão visa uma estratégia de migração on-line com pouco ou nenhum tempo de inatividade para um banco de dados IBM Db2 de vários terabytes que tem um grande número de transações. Recomendamos que você converta as colunas em chaves primárias (PKs) e chaves estrangeiras (FKs) com o tipo de dados `NUMERIC` para `INT` ou `BIGINT` no PostgreSQL para melhorar o desempenho. 

## Pré-requisitos e limitações
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Um banco de dados IBM Db2 de origem em uma instância EC2 

**Versões do produto**
+ DB2/LINUXX8664 versão 11.1.4.4 e posterior

## Arquitetura
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-architecture"></a>

** ****Pilha de tecnologia de origem**
+ Um banco de dados Db2 em uma instância EC2  

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados compatível com o Aurora compatível com PostgreSQL versão 10.18 ou superior

**Arquitetura de migração de banco de dados******

![\[Usando o AWS DMS para migrar do IMB Db2 na Amazon EC2 para o Aurora compatível com PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5e737fab-3e04-4887-9fb0-d1c88503b57d/images/789fabcc-8052-40d5-a746-986d799576e9.png)


## Ferramentas
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar banco de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises. O banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem do banco de dados. Você pode usar o AWS DMS para migrar seus dados de e para os bancos de dados comerciais e de código aberto mais usados no mercado. O AWS DMS é compatível com migrações heterogêneas entre diferentes plataformas de banco de dados, como IBM Db2 para Aurora compatível com PostgreSQL, versão 10.18 ou superior. Para obter detalhes, consulte [Origens para migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) e [Destinos para migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) na documentação do AWS DMS.
+ A[ AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) facilita as migrações heterogêneas de banco de dados convertendo automaticamente o esquema do banco de dados de origem e a maioria dos objetos de código do banco de dados, incluindo exibições, procedimentos armazenados e funções, em um formato compatível com o banco de dados de destino. Todos os objetos que não são convertidos automaticamente são claramente marcados para que possam ser convertidos manualmente para concluir a migração. O AWS SCT também pode digitalizar o código-fonte do aplicativo em busca de instruções SQL incorporadas e convertê-las. 

## Épicos
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-epics"></a>

### Configurar o ambiente
<a name="set-up-the-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de banco de dados do Aurora compatível com o PostgreSQL. | Para criar a instância do banco de dados, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). Para Tipo de mecanismo, escolha **Amazon Aurora**. Em Edição, escolha **Amazon Aurora Edição compatível com PostgreSQL**.A instância de banco de dados do Aurora compatível com o PostgreSQL versão 10.18 ou superior deve estar na mesma nuvem privada virtual (VPC) que o banco de dados IBM Db2 de origem. | Amazon RDS | 

### Converta o esquema do banco de dados
<a name="convert-your-database-schema"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale e verifique o AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Administrador da AWS, DBA, engenheiro de migração | 
| Inicie o AWS SCT e crie um projeto. | Para iniciar a ferramenta AWS SCT e criar um novo projeto para executar um relatório de avaliação da migração do banco de dados, siga as instruções na [documentação do AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Launching) | Engenheiro de migração | 
| Adicione servidores de banco de dados e crie uma regra de mapeamento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Engenheiro de migração | 
| Crie um relatório de avaliação de migração do banco de dados.  | Crie o relatório de avaliação da migração do banco de dados seguindo as etapas na [documentação do AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) | Engenheiro de migração | 
| Visualizar o relatório de avaliação. | Use a guia **Resumo** do relatório de avaliação da migração do banco de dados para visualizar o relatório e analisar os dados. Essa análise ajudará você a determinar a complexidade da migração. Para obter mais informações, consulte a [documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html). | Engenheiro de migração | 
| Converta o esquema.  | Para converter seus esquemas de banco de dados de origem:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Para obter mais informações, consulte a [documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Converting). | Engenheiro de migração | 
| Para aplicar o esquema de banco de dados convertido à instância de banco de dados de destino | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Para obter mais informações, consulte a [documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.ApplyingConversion). | Engenheiro de migração | 

### Migre seus dados
<a name="migrate-your-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure grupos de parâmetros de VPC e banco de dados.  | Configure grupos de parâmetros de VPC e banco de dados e configure as regras e os parâmetros de entrada necessários para a migração. Para obter instruções, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html).Para o grupo de segurança da VPC, selecione a instância do Db2 e a EC2 instância de banco de dados compatível com o Aurora PostgreSQL. Essa instância de replicação deve estar na mesma VPC das instâncias de banco de dados de origem e de destino. | Engenheiro de migração | 
| Prepare instâncias de banco de dados de origem e destino. | Prepare as instâncias de banco de dados de origem e destino para a migração. Em um ambiente de produção, o banco de dados de origem já existirá.Para o banco de dados de origem, o nome do servidor deve ser o Sistema de Nomes de Domínio (DNS) público da EC2 instância em que o Db2 está sendo executado. Para nome de usuário, você pode usar `db2inst1` seguido pela porta, que será 5000 para IBM Db2.  | Engenheiro de migração | 
| Crie um EC2 cliente e endpoints da Amazon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Engenheiro de migração | 
| Crie uma instância de replicação. | Crie uma instância de replicação usando o console do AWS DMS e especifique os endpoints de origem e destino. A instância de replicação realiza a migração de dados entre os endpoints. Para obter mais informações, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html).  | Engenheiro de migração | 
| Crie uma tarefa do AWS DMS para migrar os dados. | Crie uma tarefa para carregar as tabelas de origem do IBM Db2 na instância de banco de dados PostgreSQL de destino seguindo as etapas na [documentação do AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Engenheiro de migração | 

## Recursos relacionados
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-resources"></a>

**Referências**
+ [Documentação do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
+ [Documentação do FDW (wrapper de dados estrangeiros) do PostgreSQL](https://www.postgresql.org/docs/10/postgres-fdw.html) 
+ [Documentação IMPORTAR ESQUEMA ESTRANGEIROS do PostgreSQL](https://www.postgresql.org/docs/10/sql-importforeignschema.html) 
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/index.html)  
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

**Tutoriais e vídeos**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/) (passo a passo)
+ [Introdução à Amazon EC2 — Elastic Cloud Server e hospedagem com AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vídeo)

# Migre do Oracle 8i ou 9i para o Amazon RDS for PostgreSQL usando o AWS DMS SharePlex
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms"></a>

*Kumar Babu P G, Amazon Web Services*

## Resumo
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-summary"></a>

Esse padrão descreve como migrar um banco de dados Oracle 8i ou 9i on-premises para o Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou Amazon Aurora PostgreSQL. O AWS Database Migration Service (AWS DMS) não oferece suporte ao Oracle 8i ou 9i como fonte, então a Quest SharePlex replica dados de um banco de dados 8i ou 9i local para um banco de dados Oracle intermediário (Oracle 10g ou 11g), que é compatível com o AWS DMS.

Da instância intermediária da Oracle, o esquema e os dados são migrados para o banco de dados PostgreSQL na AWS usando o AWS Schema Conversion Tool (AWS SCT) e o AWS DMS. Esse método ajuda a obter streaming contínuo de dados do banco de dados Oracle de origem para a instância de banco de dados PostgreSQL de destino, com atraso mínimo de replicação. Nessa implementação, o tempo de inatividade é limitado ao tempo necessário para criar ou validar todas as chaves estrangeiras, acionadores e sequências no banco de dados PostgreSQL de destino.

A migração usa uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com o Oracle 10g ou 11g instalado para hospedar as alterações do banco de dados Oracle de origem. O AWS DMS usa essa instância Oracle intermediária como origem para transmitir os dados para o Amazon RDS para PostgreSQL ou Aurora PostgreSQL. A replicação de dados pode ser pausada e retomada do banco de dados Oracle on-premises para a instância intermediária da Oracle. Também pode ser pausada e retomada da instância intermediária do Oracle para o banco de dados PostgreSQL de destino para que você possa validar os dados usando a validação de dados do AWS DMS ou uma ferramenta de validação de dados personalizada.

## Pré-requisitos e limitações
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle 8i ou 9i de origem em um datacenter on-premises 
+ AWS Direct Connect configurado entre o datacenter on-premises e a AWS 
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT instalados em uma máquina local ou na instância em que o AWS SCT EC2 está instalado
+ Familiaridade com [o uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [o uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ Familiaridade com a replicação de SharePlex dados da Quest

 

**Limitações**
+ O limite de tamanho do banco de dados é 64 TB.
+ O banco de dados Oracle on-premises deve ser Enterprise Edition

 

**Versões do produto**
+ Oracle 8i ou 9i para o banco de dados de origem
+ Oracle 10g ou 11g para o banco de dados intermediário 
+ PostgreSQL 9.6 ou mais recente

## Arquitetura
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados do Oracle 8i ou 9i 
+ Missão SharePlex 

 

**Pilha de tecnologias de destino**
+ Amazon RDS para PostgreSQL ou Amazon PostgreSQL 

** **

**Arquitetura de origem e destino**

![\[Architecture diagram showing migration from on-premises Oracle database to AWS cloud using various services.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b6c30668-fc2e-4293-a59a-e01fd151f4bb/images/25082670-0bf3-4b20-8c80-99c6633b046f.png)


## Ferramentas
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-tools"></a>
+ **AWS DMS**: o [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (AWS DMS) ajuda você a migrar bancos de dados com rapidez e segurança. O banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem do banco de dados. O AWS DMS pode migrar seus dados dos/para os bancos de dados comerciais e de código aberto mais usados no mercado. 
+ **AWS SCT**: o [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) torna as migrações heterogêneas de banco de dados previsíveis ao converter automaticamente o esquema do banco de dados de origem e a maioria do código personalizado, incluindo exibições, procedimentos armazenados e funções, para um formato compatível com o banco de dados de destino. Os objetos que não são convertidos automaticamente são claramente marcados para que possam ser convertidos manualmente para concluir a migração. O AWS SCT também pode examinar o código-fonte do seu aplicativo em busca de instruções SQL incorporadas e convertê-las como parte de um projeto de conversão de esquema de banco de dados. Durante esse processo, o AWS SCT executa a otimização de código nativo de nuvem convertendo funções legadas do Oracle e do SQL Server em seus equivalentes da AWS, para ajudar você a modernizar seus aplicativos enquanto migra seus bancos de dados. Quando a conversão do esquema estiver concluída, o AWS SCT pode ajudar a migrar dados de uma variedade de data warehouses para o Amazon Redshift usando agentes de migração de dados integrados.
+ **Quest SharePlex** — SharePlex A [Quest](https://www.quest.com/register/120420/?gclid=Cj0KCQiA6IHwBRCJARIsALNjViVSt9fHqAsf9XbWkoCwKKyQqollR_5kSxNhBagh9s3spQT4IQCaVy0aAmCnEALw_wcB) é uma ferramenta de replicação de Oracle-to-Oracle dados para mover dados com o mínimo de tempo de inatividade e sem perda de dados.

## Épicos
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-epics"></a>

### Crie a EC2 instância e instale o Oracle
<a name="create-the-ec2-instance-and-install-oracle"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a rede para a Amazon EC2. | Crie a nuvem privada virtual (VPC), sub-redes, gateway da Internet, tabelas de rotas e grupos de segurança. | AWS SysAdmin | 
| Crie a nova EC2 instância. | Selecione a Amazon Machine Image (AMI) para a EC2 instância. Escolha o tamanho da instância e configure os detalhes da instância: o número de instâncias (1), a VPC e a sub-rede da etapa anterior, atribuição automática de IP público e outras opções. Adicione armazenamento, configure grupos de segurança e execute a instância. Quando solicitado, crie e salve um par de chaves para a próxima etapa. | AWS SysAdmin | 
| Instale o Oracle na EC2 instância. | Adquira as licenças e os binários Oracle necessários e instale o Oracle 10g ou 11g na instância. EC2  | DBA | 

### Configurar SharePlex em uma EC2 instância e configurar a replicação de dados
<a name="set-up-shareplex-on-an-ec2-instance-and-configure-data-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar SharePlex. | Crie uma EC2 instância da Amazon e instale os SharePlex binários compatíveis com o Oracle 8i ou 9i. | AWS SysAdmin, DBA | 
| Configure a replicação de dados. | Siga as SharePlex melhores práticas para configurar a replicação de dados de um banco de dados Oracle 8i/9i local para uma instância Oracle 10g/11g. | DBA | 

### Converta o esquema do banco de dados Oracle em PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS SCT. | Crie um novo relatório e, em seguida, conecte-se ao Oracle como origem e ao PostgreSQL como destino. Nas configurações do projeto, abra a guia SQL Scripting e altere o script SQL de destino para Vários arquivos. | DBA | 
| Converta o esquema do banco de dados Oracle. | Na guia Ação, escolha Gerar relatório, Converter esquema e, depois, Salvar como SQL. | DBA | 
| Modifique os scripts SQL gerados pelo AWS SCT. |  | DBA | 

### Crie e configure a instância de banco de dados do Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar a instância de banco de dados do Amazon RDS | No console do Amazon RDS, crie uma nova instância de banco de dados PostgreSQL. | AWS SysAdmin, DBA | 
| Configure a instância de banco de dados. | Especifique a versão do mecanismo de banco de dados, a classe da instância de banco de dados, a implantação Multi-AZ, o tipo de armazenamento e o armazenamento alocado. Insira o identificador da instância de banco de dados, um nome de usuário principal e uma senha mestra. | AWS SysAdmin, DBA | 
| Configure rede e segurança. | Especifique a VPC, o grupo de sub-redes, a acessibilidade pública, a preferência da zona de disponibilidade e os grupos de segurança. | AWS SysAdmin, DBA | 
| Configure as opções do banco de dados. | Especifique o nome do banco de dados, a porta, o grupo de parâmetros, a criptografia e a chave mestra. | AWS SysAdmin, DBA | 
| Configure os backups. | Especifique o período de retenção do backup, a janela do backup, a hora de início, a duração e se as tags devem ser copiadas para instantâneos. | AWS SysAdmin, DBA | 
| Configure opções de monitoramento. | Habilite ou desabilite insights de monitoramento e desempenho avançados. | AWS SysAdmin, DBA | 
| Configure opções de manutenção. | Especifique a atualização automática da versão secundária, a janela de manutenção e o dia, a hora e a duração de início. | AWS SysAdmin, DBA | 
| Execute os scripts de pré-migração do AWS SCT. | Na instância do Amazon RDS, execute esses scripts: create\$1database.sql, create\$1sequence.sql, create\$1table.sql, create\$1view.sql, and create\$1function.sql. | AWS SysAdmin, DBA | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de replicação no AWS DMS. | Preencha os campos para nome, classe da instância, VPC (igual à EC2 instância), Multi-AZ e acessibilidade pública. Na seção de configuração avançada, especifique o armazenamento alocado, o grupo de sub-rede, a zona de disponibilidade, os grupos de segurança da VPC e a chave raiz do AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crie o endpoint do banco de dados de origem. | Especifique o nome do endpoint, tipo, mecanismo de origem (Oracle), nome do servidor (nome DNS EC2 privado da Amazon), porta, modo SSL, nome de usuário, senha, SID, VPC (especifique a VPC que tem a instância de replicação) e instância de replicação. Para testar a conexão, escolha Executar teste e, em seguida, crie o endpoint. Você também pode definir as seguintes configurações avançadas: maxFileSize e numberDataType Escala. | AWS SysAdmin, DBA | 
| Crie a tarefa de replicação do AWS DMS. | Especifique o nome da tarefa, a instância de replicação, os endpoints de origem e destino e a instância de replicação. Para tipo de migração escolha “Migrar dados existentes e replicar alterações contínuas”. Desmarque a caixa de seleção “Iniciar tarefa ao criar”. | AWS SysAdmin, DBA | 
| Defina as configurações da tarefa de replicação do AWS DMS. | Para o modo de preparação da tabela de destino, escolha “Não fazer nada”. Pare a tarefa após a conclusão da carga completa para criar chaves primárias. Especifique o modo LOB limitado ou completo e ative as tabelas de controle. Opcionalmente, você pode definir a configuração CommitRate avançada. | DBA | 
| Configure os mapeamentos da tabela. | Na seção mapeamentos de tabela, crie uma regra de inclusão para todas as tabelas em todos os esquemas incluídos na migração e, em seguida, crie uma regra de exclusão. Adicione três regras de transformação para converter os nomes do esquema, da tabela e da coluna para letra minúscula e adicione quaisquer outras regras necessárias para essa migração específica. | DBA | 
| Iniciar a tarefa. | Iniciar a tarefa de replicação. Verifique se a carga total está em execução. Execute ALTER SYSTEM SWITCH LOGFILE no banco de dados Oracle primário para iniciar a tarefa. | DBA | 
| Execute os scripts de meio da migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute esses scripts: create\$1index.sql e create\$1constraint.sql. | DBA | 
| Reinicie a tarefa para continuar a captura de dados de alteração (CDC). | Na instância de banco de dados Amazon RDS para PostgreSQL, execute VACUUM e reinicie a tarefa do AWS DMS para aplicar as alterações do CDC em cache. | DBA | 

### Substitua para o banco de dados PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique os registros de log e as tabelas de metadados do AWS DMS. | Valide todos os erros e corrija, se necessário. | DBA | 
| Interrompa todas as dependências do Oracle. | Desligue os receptores no banco de dados Oracle e execute ALTER SYSTEM SWITCH LOGFILE. Interrompa a tarefa do AWS DMS quando ele não mostrar nenhuma atividade. | DBA | 
| Execute os scripts de pós-migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute esses scripts: create\$1foreign\$1key\$1constraint.sql e create\$1triggers.sql. | DBA | 
| Conclua qualquer etapa adicional do Amazon RDS para PostgreSQL. | Incremente as sequências para corresponder ao Oracle, se necessário; execute VACUUM e ANALYZE e tire um instantâneo para fins de conformidade. | DBA | 
| Escolha conectar ao Amazon RDS para PostgreSQL. | Remova os grupos de segurança do AWS DMS do Amazon RDS para PostgreSQL, adicione grupos de segurança de produção e direcione seus aplicativos para o novo banco de dados. | DBA | 
| Limpe os recursos AWS DMS. | Remova os endpoints, as tarefas de replicação, as instâncias de replicação e a instância. EC2  | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-resources"></a>
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Definição de preço para o Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de um banco de dados PostgreSQL como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [ SharePlex Documentação da Quest](https://support.quest.com/shareplex/9.0.2/technical-documents)

# Migre do Oracle 8i ou 9i para o Amazon RDS para PostgreSQL usando visões materializadas e o AWS DMS
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms"></a>

*Kumar Babu P G e Pragnesh Patel, Amazon Web Services*

## Resumo
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-summary"></a>

Esse padrão descreve como migrar um banco de dados Oracle legado 8i ou 9i on-premises para o Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou Amazon Aurora Edição Compatível com PostgreSQL. 

O AWS Database Migration Service (AWS DMS) não é compatível com o Oracle 8i ou 9i como fonte, então esse padrão usa uma instância intermediária de banco de dados Oracle compatível com o AWS DMS, como Oracle 10g ou 11g. Ele também usa o atributo de visões materializadas para migrar dados da instância Oracle 8i/9i de origem para a instância intermediária do Oracle 10g/11g.

O AWS Schema Conversion Tool (AWS SCT) converte o esquema do banco de dados e o AWS DMS migra os dados para o banco de dados PostgreSQL de destino. 

Esse padrão ajuda os usuários que desejam migrar de um bancos de dados Oracle legados com o mínimo de tempo de inatividade do banco de dados. Nessa implementação, o tempo de inatividade seria limitado ao tempo necessário para criar ou validar todas as chaves estrangeiras, acionadores e sequências no banco de dados de destino. 

O padrão usa instâncias do Amazon Elastic Compute Cloud (Amazon EC2) com um banco de dados Oracle 10g/11g instalado para ajudar o AWS DMS a transmitir os dados. Você pode pausar temporariamente a replicação de streaming do banco de dados Oracle on-premises para a instância intermediária da Oracle para permitir que o AWS DMS atualize a validação de dados ou use outra ferramenta de validação de dados. A instância de banco de dados PostgreSQL e o banco de dados Oracle intermediário terão os mesmos dados quando o AWS DMS terminar de migrar as alterações atuais.

## Pré-requisitos e limitações
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle 8i ou 9i de origem em um datacenter on-premises 
+ AWS Direct Connect configurado entre o datacenter on-premises e a AWS
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT instalados em uma máquina local ou na instância em que o AWS SCT EC2 está instalado
+ Familiaridade com [o uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [o uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitações**
+ O limite de tamanho do banco de dados é 64 TB.

**Versões do produto**
+ Oracle 8i ou 9i para o banco de dados de origem
+ Oracle 10g ou 11g para o banco de dados intermediário
+ PostgreSQL 10.17 ou superior

## Arquitetura
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados do Oracle 8i ou 9i 

**Pilha de tecnologias de destino**
+  Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL

**Arquitetura de destino**

![\[Arquitetura para migração de um banco de dados Oracle legado para o Amazon RDS ou Aurora\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8add9b21-1b62-46a2-bb8e-0350f36a924a/images/f34f9b0f-f1da-4c27-a385-71b12d16c375.png)


## Ferramentas
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-tools"></a>
+ O [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) ajuda a migrar bancos de dados com rapidez e de forma segura. O banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem do banco de dados. O AWS DMS pode migrar seus dados dos/para os bancos de dados comerciais e de código aberto mais usados no mercado. 
+ O [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) converte automaticamente o esquema e uma maioria dos objetos do código do banco de dados, incluindo visualizações, procedimentos armazenados e funções para um formato compatível com o banco de dados de destino. Os objetos que não são convertidos automaticamente são claramente marcados para que possam ser convertidos manualmente para concluir a migração. O AWS SCT também pode examinar o código-fonte do seu aplicativo em busca de instruções SQL incorporadas e convertê-las como parte de um projeto de conversão de esquema de banco de dados. Durante esse processo, o AWS SCT executa a otimização de código nativo de nuvem convertendo funções legadas do Oracle e do SQL Server em seus equivalentes da AWS, para ajudar você a modernizar seus aplicativos enquanto migra seus bancos de dados. Quando a conversão do esquema estiver concluída, o AWS SCT pode ajudar a migrar dados de uma variedade de data warehouses para o Amazon Redshift usando agentes de migração de dados integrados.  

## Práticas recomendadas
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-best-practices"></a>

Para obter as práticas recomendadas para atualizar visões materializadas, consulte a seguinte documentação da Oracle:
+ [Atualizar visões materializadas](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG-GUID-64068234-BDB0-4C12-AE70-75571046A586)
+ [Atualização rápida para visões materializadas](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8361)

## Épicos
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-epics"></a>

### Instale o Oracle em uma EC2 instância e crie visualizações materializadas
<a name="install-oracle-on-an-ec2-instance-and-create-materialized-views"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a rede para a EC2 instância. | Crie a nuvem privada virtual (VPC), sub-redes, gateway da Internet, tabelas de rotas e grupos de segurança. | AWS SysAdmin | 
| Crie a EC2 instância. | Selecione a Amazon Machine Image (AMI) para a EC2 instância. Escolha o tamanho da instância e configure os detalhes da instância: o número de instâncias (1), a VPC e a sub-rede da etapa anterior, atribuição automática de IP público e outras opções. Adicione armazenamento, configure grupos de segurança e execute a instância. Quando solicitado, crie e salve um par de chaves para a próxima etapa. | AWS SysAdmin | 
| Instale o Oracle na EC2 instância. | Adquira as licenças e os binários Oracle necessários e instale o Oracle 10g ou 11g na instância. EC2  | DBA | 
| Configure a rede Oracle. | Modifique ou adicione entradas em `listener.ora` para se conectar ao banco de dados Oracle 8i/9i de origem on-premises e, em seguida, crie os links do banco de dados. | DBA | 
| Criar visão materializada | Identifique os objetos do banco de dados a serem replicados no banco de dados Oracle 8i/9i de origem e, em seguida, crie visões materializadas para todos os objetos usando o link do banco de dados. | DBA | 
| Implante scripts para atualizar as visões materializadas nos intervalos necessários. | Desenvolva e implante scripts para atualizar visualizações materializadas nos intervalos necessários na instância Amazon EC2 Oracle 10g/11g. Use a opção de atualização incremental para atualizar visões materializadas. | DBA | 

### Converta o esquema do banco de dados Oracle em PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS SCT. | Crie um novo relatório e, em seguida, conecte-se ao Oracle como origem e ao PostgreSQL como destino. Nas configurações do projeto, abrir a guia **SQL Scripting**. Altere o script SQL de destino para **Vários arquivos**. (O AWS SCT não é compatível com bancos de dados Oracle 8i/9i, então você precisa restaurar o despejo somente do esquema na instância intermediária do Oracle 10g/11g e usá-lo como fonte para o AWS SCT.) | DBA | 
| Converta o esquema do banco de dados Oracle. | Na guia **Ação**, escolha **Gerar relatório**, **Converter esquema** e depois, **Salvar como SQL**. | DBA | 
| Modifique os scripts SQL. | Faça modificações com base nas práticas recomendadas. Por exemplo, mude para tipos de dados adequados e desenvolva equivalentes do PostgreSQL para funções específicas do Oracle. | DBA, DevDBA | 

### Crie e configure a instância de banco de dados do Amazon RDS para hospedar o banco de dados convertido
<a name="create-and-configure-the-amazon-rds-db-instance-to-host-the-converted-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar a instância de banco de dados do Amazon RDS | No console do Amazon RDS, crie uma nova instância de banco de dados PostgreSQL. | AWS SysAdmin, DBA | 
| Configure a instância de banco de dados. | Especifique a versão do mecanismo de banco de dados, a classe da instância de banco de dados, a implantação Multi-AZ, o tipo de armazenamento e o armazenamento alocado. Insira o identificador da instância de banco de dados, um nome de usuário principal e uma senha mestra. | AWS SysAdmin, DBA | 
| Configure rede e segurança. | Especifique a VPC, o grupo de sub-redes, a acessibilidade pública, a preferência da zona de disponibilidade e os grupos de segurança. | DBA, SysAdmin | 
| Configure as opções do banco de dados. | Especifique o nome do banco de dados, a porta, o grupo de parâmetros, a criptografia e a chave mestra. | DBA, AWS SysAdmin | 
| Configure os backups. | Especifique o período de retenção do backup, a janela do backup, a hora de início, a duração e se as tags devem ser copiadas para instantâneos. | AWS SysAdmin, DBA | 
| Configure opções de monitoramento. | Habilite ou desabilite insights de monitoramento e desempenho avançados. | AWS SysAdmin, DBA | 
| Configure opções de manutenção. | Especifique a atualização automática da versão secundária, a janela de manutenção e o dia, a hora e a duração de início. | AWS SysAdmin, DBA | 
| Execute os scripts de pré-migração do AWS SCT. | Na instância de destino do Amazon RDS para PostgreSQL, crie o esquema do banco de dados usando os scripts SQL do AWS SCT com outras modificações. Isso pode incluir a execução de vários scripts e a criação de usuários, criação de banco de dados, criação de esquemas, tabelas, visualizações, perfis e outros objetos de código. | AWS SysAdmin, DBA | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de replicação no AWS DMS. | Preencha os campos para nome, classe da instância, VPC (igual à EC2 instância), Multi-AZ e acessibilidade pública. Na seção de configuração avançada, especificar o armazenamento alocado, o grupo de sub-rede, a Zona de disponibilidade, os Grupos de segurança da VPC e a chave do AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crie o endpoint do banco de dados de origem. | Especifique o nome do endpoint, o tipo, o mecanismo de origem (Oracle), o nome do servidor (o nome DNS privado da EC2 instância), a porta, o modo SSL, o nome de usuário, a senha, o SID, a VPC (especifique a VPC que tem a instância de replicação) e a instância de replicação. Para testar a conexão, escolha **Executar teste** e, em seguida, crie o endpoint. Você também pode definir as seguintes configurações avançadas: **maxFileSize**e **numberDataTypeEscala**. | AWS SysAdmin, DBA | 
| Conecte o AWS DMS ao Amazon RDS para PostgreSQL. | Crie um grupo de segurança de migração para conexões entre VPCs, se seu banco de dados PostgreSQL estiver em outra VPC. | AWS SysAdmin, DBA | 
| Crie o endpoint do banco de dados de destino. | Especifique o nome do endpoint, o tipo, o mecanismo de origem (PostgreSQL), o nome do servidor (endpoint do Amazon RDS), a porta, o modo SSL, o nome do usuário, a senha, o nome do banco de dados, a VPC (especificar a VPC que tem a instância de replicação) e a instância de replicação. Para testar a conexão, escolha **Executar teste** e, em seguida, crie o endpoint. Você também pode definir as seguintes configurações avançadas: **maxFileSize**e **numberDataTypeEscala**. | AWS SysAdmin, DBA | 
| Crie a tarefa de replicação do AWS DMS. | Especifique o nome da tarefa, a instância de replicação, os endpoints de origem e destino e a instância de replicação. Para tipo de migração, escolha **Migrar dados existentes e replicar alterações contínuas**. Desmarque a caixa de seleção **Iniciar tarefa ao criar**. | AWS SysAdmin, DBA | 
| Defina as configurações da tarefa de replicação do AWS DMS. | Para o modo de preparação da tabela de destino, escolha **Não fazer nada**. Interrompa a tarefa após a conclusão do carregamento total (para criar chaves primárias). Especifique o modo LOB limitado ou completo e ative as tabelas de controle. Opcionalmente, você pode definir a configuração **CommitRate**avançada. | DBA | 
| Configure os mapeamentos da tabela. | Na seção **Mapeamentos de tabela**, crie uma regra de inclusão para todas as tabelas em todos os esquemas incluídos na migração e, em seguida, crie uma regra de exclusão. Adicione três regras de transformação para converter os nomes do esquema, da tabela e da coluna para letra minúscula e adicione quaisquer outras regras que você precise para essa migração específica. | DBA | 
| Iniciar a tarefa. | Iniciar a tarefa de replicação. Verifique se a carga total está em execução. Execute `ALTER SYSTEM SWITCH LOGFILE` no banco de dados Oracle primário para iniciar a tarefa. | DBA | 
| Execute os scripts de meio da migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute os seguintes scripts: `create_index.sql` e `create_constraint.sql` (se o esquema completo não tiver sido criado inicialmente). | DBA | 
| Reinicie a tarefa para continuar a captura de dados de alteração (CDC). | Execute `VACUUM` na instância de banco de dados Amazon RDS para PostgreSQL e reinicie a tarefa do AWS DMS para aplicar as alterações do CDC em cache. | DBA | 

### Substitua para o banco de dados PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique os logs e as tabelas de validação do AWS DMS. | Verifique e corrija quaisquer erros de replicação ou validação. | DBA | 
| Pare de usar o banco de dados Oracle no on-premises e suas dependências. | Interrompa todas as dependências do Oracle, desligue os receptores no banco de dados Oracle e execute `ALTER SYSTEM SWITCH LOGFILE`. Interrompa a tarefa do AWS DMS quando ele não mostrar nenhuma atividade. | DBA | 
| Execute os scripts de pós-migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute esses scripts: `create_foreign_key_constraint.sql and create_triggers.sql`. Certifique-se de que as sequências estejam atualizadas. | DBA | 
| Conclua etapas adicionais do Amazon RDS para PostgreSQL. | Incremente as sequências para corresponder ao Oracle, se necessário; execute `VACUUM` e `ANALYZE` e tire um snapshot para fins de conformidade. | DBA | 
| Escolha conectar ao Amazon RDS para PostgreSQL. | Remova os grupos de segurança do AWS DMS do Amazon RDS para PostgreSQL, adicione grupos de segurança de produção e direcione seus aplicativos para o novo banco de dados. | DBA | 
| Limpe os objetos do AWS DMS. | Remova os endpoints, as tarefas de replicação, as instâncias de replicação e a instância. EC2  | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-resources"></a>
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Definição de preço para o Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de um banco de dados PostgreSQL como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

# Migre da Oracle no Amazon EC2 para o Amazon RDS para MySQL usando o AWS DMS e o AWS SCT
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Anil Kunapareddy, Amazon Web Services*

*Harshad Gohil, sem afiliação*

## Resumo
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

O gerenciamento de bancos de dados do Oracle em instâncias do Amazon Elastic Compute Cloud (Amazon EC2) requer recursos e pode ser caro. Mover esses bancos de dados para uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para MySQL facilitará seu trabalho ao otimizar o orçamento geral de TI. O Amazon RDS para MySQL também fornece atributos como Multi-AZ, escalabilidade e backups automáticos. 

Esse padrão orienta você na migração de um banco de dados do Oracle de origem no Amazon EC2 para uma instância de banco de dados do Amazon RDS para MySQL de destino. Ele usa o AWS Database Migration Service (AWS DMS) para migrar os dados e o AWS Schema Conversion Tool (AWS SCT) para converter o esquema e os objetos do banco de dados de origem em um formato compatível com o Amazon RDS para MySQL. 

## Pré-requisitos e limitações
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem com serviços de instância e receptor em execução, no modo ARCHIVELOG
+ Um banco de dados do Amazon RDS para MySQL de destino, com armazenamento suficiente para migração de dados

**Limitações**
+ O AWS DMS não cria um esquema no banco de dados de destino; você precisa fazer isso. O nome do esquema já deve existir para o destino. As tabelas do esquema de origem são importadas para o usuário/esquema, que o AWS DMS usa para se conectar à instância de destino. Você deverá criar várias tarefas de replicação se tiver que migrar vários schemas. 

**Versões do produto**
+ Todas as edições do banco de dados do Oracle para versões 10.2 e posteriores, 11g e até 12.2 e 18c. Para obter a lista mais recente de versões compatíveis, consulte [Uso de um banco de dados do Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Uso de um banco de dados compatível com MySQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. Para obter informações sobre as versões do banco de dados do Oracle suportadas pelo AWS SCT, consulte a [documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html).
+ O AWS DMS oferece suporte às versões 5.5, 5.6 e 5.7 do MySQL. 

## Arquitetura
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados do Oracle em uma instância do EC2  

**Pilha de tecnologias de destino**
+ Instância do banco de dados do Amazon RDS para MySQL

**Arquitetura de migração de dados**

![\[Como usar o AWS DMS para migrar um banco da Oracle hospedado no Amazon EC2 para o Amazon RDS para MySQL\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/c00f908c-f348-41dd-a31c-3931b990777a.png)


**Arquitetura de origem e destino**

![\[Como usar o AWS DMS e o AWS SCT para migrar um banco da Oracle hospedado no Amazon EC2 para o Amazon RDS para MySQL\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/e7ba7ac0-3094-4142-b355-fb192e242432.png)


## Ferramentas
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: o [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) é um serviço web que você pode usar para migrar dados do seu banco de dados on-premises, em uma instância de banco de dados do Amazon RDS ou em um banco de dados em uma instância do EC2, para um banco de dados em um serviço da AWS, como o Amazon RDS para MySQL ou um Instância do EC2. Você também pode migrar um banco de dados de um serviço da AWS para um banco de dados on-premises. Você pode migrar dados entre mecanismos de banco de dados heterogêneos ou homogêneos.
+ **AWS SCT**: o [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) torna as migrações heterogêneas de banco de dados previsíveis ao converter automaticamente o esquema do banco de dados de origem e a maioria do código personalizado, incluindo exibições, procedimentos armazenados e funções, para um formato compatível com o banco de dados de destino. Depois de converter seu esquema de banco de dados e objetos de código usando o AWS SCT, você pode usar o AWS DMS para migrar dados do banco de dados de origem para o banco de dados de destino para concluir seus projetos de migração.

## Épicos
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identificar as versões e mecanismos dos bancos de dados de origem e de destino. |  | DBA/Desenvolvedor | 
| Identificar a instância de replicação do DMS. |  | DBA/Desenvolvedor | 
| Identifique os requisitos de armazenamento, como tipo e capacidade de armazenamento. |  | DBA/Desenvolvedor | 
| Identifique os requisitos de rede, como latência e largura de banda. |  |  DBA/Desenvolvedor | 
| Identifique os requisitos de hardware para as instâncias do servidor de origem e de destino (com base na lista de compatibilidade e nos requisitos de capacidade da Oracle). |  | DBA/Desenvolvedor | 
| Identifique os requisitos de segurança de acesso à rede para bancos de dados de origem e de destino. |  | DBA/Desenvolvedor | 
| Instale os drivers AWS SCT e Oracle. |  | DBA/Desenvolvedor | 
| Determine uma estratégia de backup. |  | DBA/Desenvolvedor | 
| Determine os requisitos de disponibilidade. |  | DBA/Desenvolvedor | 
| Identifique a migração de aplicativos e a estratégia de transição. |  | DBA/Desenvolvedor | 
| Selecione o tipo de instância de banco de dados adequado com base nos atributos de capacidade, armazenamento e rede. |  | DBA/Desenvolvedor | 

### Configure o ambiente.
<a name="configure-the-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). A origem, o destino e a instância de replicação devem estar na mesma VPC. Também é bom tê-los em uma mesma zona de disponibilidade. |  | Desenvolvedor | 
| Crie os grupos de segurança necessários para acesso ao banco de dados. |  |  Desenvolvedor | 
| Gere e configure um par de chaves. |  | Desenvolvedor | 
| Configure sub-redes, zonas de disponibilidade e blocos CIDR. |  | Desenvolvedor | 

### Configure a fonte: banco de dados do Oracle na instância do EC2
<a name="configure-the-source-oracle-database-on-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o Oracle Database no Amazon EC2 com os usuários e perfis necessários. |  | DBA | 
|  Execute as três etapas na próxima coluna para acessar o Oracle de fora da instância do EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.html) | DBA | 
| Quando o Amazon EC2 é reiniciado, o DNS público muda. Certifique-se de atualizar o DNS público do Amazon EC2 em ‘tnsnames’ e ‘receptor’ ou use um endereço IP elástico. |  | DBA/Desenvolvedor | 
| Configure o grupo de segurança da instância do EC2 para que a instância de replicação e os clientes necessários possam acessar o banco de dados de origem. |  | DBA/Desenvolvedor | 

### Configurar o destino: Amazon RDS para MySQL
<a name="configure-the-target-amazon-rds-for-mysql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure e inicie a instância de banco de dados do Amazon RDS para MySQL. |  | Desenvolvedor | 
| Crie o espaço de tabela necessário na instância de banco de dados do Amazon RDS para MySQL. |  | DBA | 
| Configure o grupo de segurança para que a instância de replicação e os clientes necessários possam acessar o banco de dados de destino. |  | Desenvolvedor | 

### Configure o AWS SCT e crie um esquema no banco de dados de destino
<a name="configure-aws-sct-and-create-a-schema-in-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale os drivers AWS SCT e Oracle. |  | Desenvolvedor | 
| Insira os parâmetros apropriados e conecte-se à origem e ao destino. |  | Desenvolvedor | 
| Gere um relatório de conversão de esquema. |  | Desenvolvedor | 
| Corrija o código e o esquema conforme necessário, especialmente espaços de tabela e aspas, e execute no banco de dados de destino. |  |  Desenvolvedor | 
| Valide o esquema na origem x no destino antes de migrar os dados. |  | Desenvolvedor | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Para carga total e captura de dados alterados (CDC) ou apenas CDC, deve-se configurar um atributo de conexão extra. |  | Desenvolvedor | 
| O usuário especificado nas definições do banco de dados do Oracle do AWS DMS de origem deve receber todos os privilégios necessários. Para obter uma lista completa, consulte https://docs.aws.amazon.com/dms/ latest/userguide/CHAP \$1source.oracle.html \$1CHAP\$1Source .Oracle.Self-Managed. |  | DBA/Desenvolvedor | 
| Habilite o log suplementar no banco de dados de origem. |  | DBA/Desenvolvedor | 
| Para carga total e captura de dados de alteração (CDC) ou apenas CDC, ative o modo ARCHIVELOG no banco de dados de origem. |  | DBA | 
| Crie endpoints de origem e destino e teste as conexões. |  | Desenvolvedor | 
| Quando os endpoints forem conectados com êxito, crie uma tarefa de replicação. |  | Desenvolvedor | 
| Selecione somente CDC (ou) carga total mais CDC na tarefa para capturar alterações somente para replicação contínua (ou) carga total mais alterações em andamento, respectivamente. |  | Desenvolvedor | 
| Execute a tarefa de replicação e monitore CloudWatch os logs da Amazon. |  |  Desenvolvedor | 
| Valide os dados nos bancos de dados de origem e de destino. |  | Desenvolvedor | 

### Migre seu aplicativo e substitua
<a name="migrate-your-application-and-cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga as etapas da sua estratégia de migração de aplicativos. |  | DBA, desenvolvedor, proprietário do aplicativo | 
| Siga as etapas da sua estratégia de substituição/troca de aplicativos. |  | DBA, desenvolvedor, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide o esquema e os dados nos bancos de dados de origem x de destino. |  | DBA/Desenvolvedor | 
| Reúna métricas sobre o tempo de migração, porcentagem de manual x ferramenta, economia de custos etc. |  |  DBA/Developer/AppOwner | 
| Revise os documentos e artefatos do projeto. |  | DBA/Developer/AppOwner | 
| Encerre os recursos temporários da AWS. |  | DBA/Desenvolvedor | 
| Feche o projeto e forneça feedback. |  | DBA/Developer/AppOwner | 

## Recursos relacionados
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-resources"></a>
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 
+ [Site do AWS DMS](https://aws.amazon.com/dms/)
+ [Publicações no blog do AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/) 
+ [Estratégias para migrar o Oracle Database para a AWS](https://d1.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf) 
+ [Amazon RDS para Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/) 
+ [Perguntas frequentes sobre a Oracle](https://aws.amazon.com/oracle/faq/) 
+ [Amazon EC2](https://aws.amazon.com/ec2/) 
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Licenciamento do software Oracle no ambiente de computação em nuvem](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

# Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for MariaDB usando o AWS DMS e o AWS SCT
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct"></a>

*Veeranjaneyulu Grandhi e Vinod Kumar, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão orienta você pelas etapas de migração de um banco de dados Oracle em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) para MariaDB. O padrão usa o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool (AWS SCT) para conversão de esquemas. 

Gerenciar bancos de dados Oracle em EC2 instâncias requer mais recursos e é mais caro do que usar um banco de dados no Amazon RDS. O Amazon RDS facilita a configuração, a operação e a escalabilidade de um banco de dados relacional na nuvem. O Amazon RDS fornece capacidade econômica e redimensionável enquanto automatiza tarefas administrativas, como provisionamento de hardware, configuração de banco de dados, aplicação de patches e backups.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle de origem com serviços de instância e de receptor em execução. Esse banco de dados deve estar no modo ARCHIVELOG.
+ Familiaridade com [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [Uso de Oracle como origem para o AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB 

**Versões do produto**
+ Todas as edições do banco de dados do Oracle para versões 10.2 e posteriores, 11g e até 12.2 e 18c. Para obter a lista mais recente de versões compatíveis, consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e a [tabela de versão AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) na documentação da AWS.
+ O Amazon RDS é compatível com o MariaDB Server Community Server versões 10.3, 10.4, 10.5 e 10.6. Para obter a lista mais recente de versões compatíveis, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html).

## Arquitetura
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Oracle em uma EC2 instância

**Pilha de tecnologias de destino**
+ Amazon RDS para MariaDB

**Arquitetura de migração de dados**

![\[Uso do AWS DMS para a migração.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/ed191145-e5c2-4d61-8827-31f081450c03.png)


**Arquitetura de destino**

![\[Uso do AWS SCT para a migração.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/0171f548-37dd-4110-851c-7e74dfff3732.png)


## Ferramentas
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-tools"></a>
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) torna as migrações heterogêneas de banco de dados previsíveis ao converter automaticamente o esquema do banco de dados de origem e a maioria do código personalizado, incluindo exibições, procedimentos armazenados e perfis, para um formato compatível com o banco de dados de destino. Depois de converter seu esquema de banco de dados e objetos de código usando o AWS SCT, você pode usar o AWS DMS para migrar dados do banco de dados de origem para o banco de dados de destino para concluir seus projetos de migração. Para obter mais informações, consulte [Uso do Redis como destino para o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) na documentação do AWS SCT.
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda a migrar bancos de dados para a AWS de forma rápida e segura. O banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem do banco de dados. O AWS DMS pode migrar seus dados dos/para os bancos de dados comerciais e de código aberto mais usados no mercado. O AWS DMS oferece suporte a migrações homogêneas, como de Oracle para Oracle, além de migrações heterogêneas entre diferentes plataformas de banco de dados, como de Oracle ou Microsoft SQL Server para Amazon Aurora. Para obter mais informações sobre como migrar bancos de dados Oracle, consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) na documentação da AWS DMS.

## Épicos
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-epics"></a>

### Planeje para a migração
<a name="plan-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identificar versões e mecanismos de banco de dados. | Identificar as versões e mecanismos dos bancos de dados de origem e de destino. | DBA, Desenvolvedor | 
| Identificar a instância de replicação. | Identificar a instância de replicação AWS DMS. | DBA, Desenvolvedor | 
| Identificar os requisitos de armazenamento. | Identificar o tipo e a capacidade de armazenamento. | DBA, Desenvolvedor | 
| Identificar os requisitos de rede. | Identificar a latência e a largura de banda da rede. | DBA, Desenvolvedor | 
| Identificar os requisitos de hardware. | Identificar os requisitos de hardware para as instâncias do servidor de origem e de destino (com base na lista de compatibilidade e nos requisitos de capacidade da Oracle). | DBA, Desenvolvedor | 
| Identificar os requisitos de segurança. | Identificar os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. | DBA, Desenvolvedor | 
| Instalar drivers. | Instale os drivers AWS SCT e Oracle mais recentes. | DBA, Desenvolvedor | 
| Determine uma estratégia de backup. |  | DBA, Desenvolvedor | 
| Determine os requisitos de disponibilidade. |  | DBA, Desenvolvedor | 
| Escolha uma migration/switchover estratégia de aplicação. |  | DBA, Desenvolvedor | 
| Selecione o tipo de instância do . | Selecione o tipo de instância adequado com base nos atributos de capacidade, armazenamento e rede. | DBA, Desenvolvedor | 

### Configure o ambiente.
<a name="configure-the-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC).  | As instâncias de origem, destino e replicação devem estar na mesma VPC e na mesma Zona de disponibilidade (recomendado). | Desenvolvedor | 
| Criar grupos de segurança. | Crie os grupos de segurança necessários para acesso ao banco de dados. | Desenvolvedor | 
| Gere um par de chaves. | Gere e configure um par de chaves. | Desenvolvedor | 
| Configure outros recursos. | Configure sub-redes, zonas de disponibilidade e blocos CIDR. | Desenvolvedor | 

### Configure a origem
<a name="configure-the-source"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie a EC2 instância. | Para obter instruções, consulte a [ EC2 documentação da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | Desenvolvedor | 
| Instale o banco de dados Oracle. | Instale o banco de dados Oracle na EC2 instância, com os usuários e funções necessários. | DBA | 
| Siga as etapas na descrição da tarefa para acessar o Oracle de fora da EC2 instância. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.html) | DBA | 
| Atualize o DNS EC2 público da Amazon. | Depois que a EC2 instância é reiniciada, o DNS público muda. Certifique-se de atualizar o DNS EC2 público da Amazon em `tnsnames` e `listener` ou usar um endereço IP elástico. | DBA, Desenvolvedor | 
| Configure o grupo de segurança da EC2 instância. | Configure o grupo de segurança da EC2 instância para que a instância de replicação e os clientes necessários possam acessar o banco de dados de origem. | DBA, Desenvolvedor | 

### Configure o ambiente do Amazon RDS para MariaDB
<a name="configure-the-target-amazon-rds-for-mariadb-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie a instância de banco de dados RDS. | Configure e inicie a instância de banco de dados do Amazon RDS para MariaDB. | Desenvolvedor | 
| Criar tablespaces. | Crie todos os tablespaces necessários no banco de dados MariaDB do Amazon RDS. | DBA | 
| Configurar um grupo de segurança | Configure um grupo de segurança para que a instância de replicação e os clientes necessários possam acessar o banco de dados de destino. | Desenvolvedor | 

### Configure o AWS SCT
<a name="configure-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instalar drivers. | Instale os drivers AWS SCT e Oracle mais recentes. | Desenvolvedor | 
| Conecte-se. | Insira os parâmetros apropriados e conecte-se à origem e ao destino. | Desenvolvedor | 
| Gere um relatório de conversão de esquema. | Gere um relatório de conversão de esquema AWS SCT. | Desenvolvedor | 
| Corrija o código e o esquema conforme necessário. | Faça as correções necessárias no código e no esquema (especialmente nos espaços de tabela e aspas). | DBA, Desenvolvedor | 
| Valide o esquema. | Valide o esquema na origem versus no destino antes de carregar os dados. | Desenvolvedor | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Defina um atributo de conexão. | Para carga total e captura de dados alterados (CDC) ou apenas CDC, configure um atributo de conexão extra. Para obter mais informações, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html). | Desenvolvedor | 
| Habilite o registro em log complementar. | Habilite o log suplementar no banco de dados de origem. | DBA, Desenvolvedor | 
| Ativar o modo log de arquivo. | Para carga total e CDC (ou apenas CDC), habilite o modo log de arquivo no banco de dados de origem. | DBA | 
| Crie e teste endpoints. | Crie endpoints de origem e destino e teste as conexões. Para obter mais informações, consulte a [documentação do Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Desenvolvedor | 
| Criar uma tarefa de replicação. | Quando os endpoints forem conectados com êxito, crie uma tarefa de replicação. Para obter mais informações, consulte a [documentação do Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). | Desenvolvedor | 
| Escolha o tipo de replicação. | Escolha **somente CDC** ou **Carga total mais CDC** na tarefa para capturar alterações somente para replicação contínua ou para carga total mais alterações em andamento, respectivamente. | Desenvolvedor | 
| Inicie e monitore a tarefa. | Inicie a tarefa de replicação e monitore CloudWatch os registros da Amazon. Para obter mais informações, consulte a [documentação do Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Desenvolvedor | 
| Valide os dados. | Valide os dados nos bancos de dados de origem e de destino. | Desenvolvedor | 

### Migre aplicativos e substitua para o banco de dados de destino
<a name="migrate-applications-and-cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos escolhida. |  | DBA, proprietário do aplicativo, desenvolvedor | 
| Siga a cutover/switchover estratégia de aplicação escolhida. |  | DBA, proprietário do aplicativo, desenvolvedor | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide o esquema e os dados. | Certifique-se de que o esquema e os dados sejam validados com sucesso na origem em comparação ao destino antes do encerramento do projeto. | DBA, Desenvolvedor | 
| Colete métricas. | Reúna métricas de tempo de migração, porcentagem de uso manual em comparação com as tarefas da ferramenta, economia de custos e dados similares. | DBA, proprietário do aplicativo, desenvolvedor | 
| Revise a documentação. | Revise os documentos e artefatos do projeto. | DBA, proprietário do aplicativo, desenvolvedor | 
| Desligar recursos. | Encerre os recursos temporários da AWS. | DBA, Desenvolvedor | 
| Fechar o projeto. | Feche o projeto de migração e forneça qualquer feedback. | DBA, proprietário do aplicativo, desenvolvedor | 

## Recursos relacionados
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-resources"></a>
+ [Visão geral do MariaDB do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html)
+ [Detalhes de produto do Amazon RDS para MariaDB](https://aws.amazon.com/rds/mariadb/features)
+ [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Estratégias para migrar bancos de dados Oracle para a AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html)
+ [Licenciamento do software Oracle no ambiente de computação em nuvem](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)
+ [Amazon RDS para Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/)
+ [Visão geral do AWS DMS](https://aws.amazon.com/dms/)
+ [Publicações no blog do AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/)
+ [ EC2 Visão geral da Amazon](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)

# Migre um banco de dados Oracle on-premises para o Amazon RDS para MySQL, usando o AWS DMS e o AWS SCT.
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Sergey Dmitriev e Naresh Damera, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão orienta você na migração de um banco de dados Oracle on-premises para uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) para MySQL. Ele usa o AWS Database Migration Service (AWS DMS) para migrar os dados e o AWS Schema Conversion Tool (AWS SCT) para converter o esquema e os objetos do banco de dados de origem em um formato compatível com o Amazon RDS para MySQL. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle de origem em um datacenter on-premises 

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ Todas as edições do banco de dados Oracle para as versões 11g (versões 11.2.0.3.v1 e mais recente) e até 12.2 e 18c. Para obter a lista mais recente de versões compatíveis, consulte [Usar um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. Para obter informações sobre as versões do banco de dados Oracle suportadas pelo AWS SCT, consulte a documentação do [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ O AWS DMS é compatível com as versões 5.5, 5.6 e 5.7 do MySQL. Para obter a lista mais recente de versões compatíveis, consulte [Usar um banco de dados compatível com MySQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) na documentação da AWS. 

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados on-premises da Oracle

**Pilha de tecnologias de destino**
+ Instância do banco de dados do Amazon RDS para MySQL

**Arquitetura de migração de dados**

![\[Nuvem AWS architecture showing data migration from on-premises to RDS via VPC, Internet Gateway, and AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/0385e5ad-a1ca-4c29-945b-592321d95f9d/images/c872e033-b13a-4436-b503-0632b5d437ae.png)


 

## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: o [AWS Database Migration Services](https://docs.aws.amazon.com/dms/latest/userguide/) (AWS DMS) ajuda a migrar bancos de dados relacionais, data warehouses, bancos de dados NoSQL e outros tipos de armazenamentos de dados. É possível usar o AWS DMS para migrar seus dados para a Nuvem AWS, entre instâncias on-premises (por meio de uma configuração da Nuvem AWS) ou entre combinações de nuvem e configurações locais.
+ **AWS SCT**: a [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) é usada para converter seu esquema de banco de dados de um mecanismo de banco de dados para outro. O código personalizado que a ferramenta converte inclui visualizações, procedimentos armazenados e funções. Qualquer código que não possa ser convertido automaticamente pela ferramenta será marcado em destaque para que você mesmo possa convertê-lo.

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a versão e o mecanismo dos bancos de dados de origem e de destino. |  | DBA | 
|  Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, SysAdmin | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Escolher o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin  | 
| Identifique a estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC) e sub-redes. |  | SysAdmin | 
| Crie os grupos de segurança e as listas de controle de acesso à rede (ACLs). |  | SysAdmin | 
| Configure e inicie uma instância de banco de dados do Amazon RDS. |  | DBA, SysAdmin | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre o esquema do banco de dados usando o AWS SCT. |  | DBA | 
| Migrar dados usando o AWS DMS. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use o AWS SCT para analisar e converter o código SQL dentro do código do aplicativo. | Para obter mais informações, consulte https://docs.aws.amazon.com/SchemaConversionTool/ latest/userguide/CHAP \$1Converting.app.html. | Proprietário do App | 
| Siga a estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA SysAdmin, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, SysAdmin | 
| Revise e valide os documentos do projeto. |  | DBA, SysAdmin | 
| Reúna métricas sobre o tempo de migração, % de manual x ferramenta, economia de custos etc. |  | DBA, SysAdmin | 
| Feche o projeto e forneça feedback. |  |  | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-related-resources"></a>

**Referências**
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriais e vídeos**
+ [Conceitos básicos da AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (vídeo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vídeo)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migrar um banco de dados Oracle on-premises para o Amazon RDS para PostgreSQL usando um Oracle bystander e o AWS DMS
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms"></a>

*Cady Motyka, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-summary"></a>

Este padrão descreve como você pode migrar um banco de dados Oracle on-premises para qualquer um dos seguintes serviços de banco de dados da AWS compatíveis com PostgreSQL com o mínimo de tempo de inatividade:
+ Amazon Relational Database Service (Amazon RDS) para PostgreSQL
+ Amazon Aurora Edição Compatível com PostgreSQL

A solução usa o AWS Database Migration Service (AWS DMS) para migrar os dados, o AWS Schema Conversion Tool (AWS SCT) para converter o esquema do banco de dados e um banco de dados da Oracle bystander para ajudar a gerenciar a migração. Nessa implementação, o tempo de inatividade é restrito ao tempo necessário para criar ou validar todas as chaves estrangeiras no banco de dados. 

A solução também usa instâncias do Amazon Elastic Compute Cloud (Amazon EC2) com um banco de dados de espectadores Oracle para ajudar a controlar o fluxo de dados por meio do AWS DMS. Você pode pausar temporariamente a replicação de transmissão do banco de dados on-premises da Oracle para a Oracle bystander para ativar o AWS DMS para acompanhar a validação de dados ou usar outra ferramenta de validação de dados. A instância de banco de dados Amazon RDS para PostgreSQL ou a instância de banco de dados compatível com o Aurora PostgreSQL e o banco de dados de bystander terão os mesmos dados quando o AWS DMS terminar de migrar as alterações atuais. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem Oracle em um datacenter on-premises com um banco de dados Active Data Guard configurado em espera
+ AWS Direct Connect configurado entre o datacenter on-premises e o AWS Secrets Manager para armazenar os segredos do banco de dados
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT, instalados em uma máquina local ou na instância em que o AWS SCT EC2 está instalado
+ Familiaridade com [o uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [o uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ O AWS DMS oferece suporte a todas as edições do banco de dados Oracle para as versões 10.2 e versões posteriores (para versões 10.x), 11g e até 12.2, 18c e 19c. Para obter a lista mais recente de versões compatíveis, consulte [Usar um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. Para obter informações sobre as versões do banco de dados Oracle suportadas pelo AWS SCT, consulte a [documentação do AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ O AWS DMS é compatível com o PostgreSQL versão 9.4 e posterior (para versões 9.x), 10.x, 11.x, 12.x e 13x. Para obter as informações mais recentes, consulte [Uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) na documentação da AWS.

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Oracle on-premises
+ Uma EC2 instância que contém um espectador do banco de dados Oracle

**Pilha de tecnologias de destino**
+ Instância do Amazon RDS para PostgreSQL ou Aurora PostgreSQL, PostgreSQL 9.3 e versões posteriores

**Arquitetura de destino**

O diagrama a seguir mostra um exemplo de fluxo de trabalho para migrar um banco de dados Oracle para um banco de dados AWS compatível com PostgreSQL usando o AWS DMS e um bystander Oracle:

![\[Migração de um banco de dados Oracle local para o PostgreSQL na AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6f5d5500-8b09-4bd1-8ef9-e670d58d07f8/images/1de98abd-c143-481a-b55f-e8d00eb96a38.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ A [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS.

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-epics"></a>

### Converta o esquema do banco de dados Oracle em PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS SCT. | Crie um novo relatório e conecte-se ao Oracle como origem e ao PostgreSQL como destino. Em **Configurações do projeto**, vá até a guia **SQL Scripting**. Altere o **script SQL de destino** para **vários arquivos**. Esses arquivos serão usados posteriormente e nomeados da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Converta o esquema do banco de dados Oracle. | Na guia **Ação**, escolha **Gerar relatório**. Em seguida, escolha **Converter esquema** e escolha **Salvar como SQL**. | DBA | 
| Modifique os scripts. | Por exemplo, talvez você queira modificar o script se um número no esquema de origem tiver sido convertido para o formato numérico no PostgreSQL, mas você precise usar o **BIGINT** em vez disso para melhorar o desempenho. | DBA | 

### Crie e configure a instância de banco de dados do Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar a instância de banco de dados do Amazon RDS | Na região da AWS correta, crie uma nova instância de banco de dados PostgreSQL. Para obter mais informações, consulte [Criar uma instância de banco de dados PostgreSQL e conectar a um banco de dados em uma instância de banco de dados PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) na documentação do Amazon RDS. | AWS SysAdmin, DBA | 
| Configure as especificações da instância de banco de dados. | Especifique a versão do mecanismo de banco de dados, a classe da instância de banco de dados, a implantação Multi-AZ, o tipo de armazenamento e o armazenamento alocado. Insira o identificador da instância de banco de dados, um nome de usuário primária e uma senha primária. | AWS SysAdmin, DBA | 
| Configure rede e segurança. | Especifique a nuvem privada virtual (VPC), o grupo de sub-rede, a acessibilidade pública, a preferência da zona de disponibilidade e os grupos de segurança. | DBA, SysAdmin | 
| Configure as opções do banco de dados. | Especifique o nome do banco de dados, a porta, o grupo de parâmetros, a criptografia e a chave KMS. | AWS SysAdmin, DBA | 
| Configure os backups. | Especifique o período de retenção do backup, a janela do backup, a hora de início, a duração e se as tags devem ser copiadas para instantâneos. | AWS SysAdmin, DBA | 
| Configure opções de monitoramento. | Ative ou desative insights aprimorados de monitoramento e desempenho. | AWS SysAdmin, DBA | 
| Configure opções de manutenção. | Especifique a atualização automática da versão secundária, a janela de manutenção e o dia, a hora e a duração de início. | AWS SysAdmin, DBA | 
| Execute os scripts de pré-migração do AWS SCT. | Na instância do Amazon RDS, execute os seguintes scripts gerados pelo AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | AWS SysAdmin, DBA | 

### Configurar o Oracle bystander na Amazon EC2
<a name="configure-the-oracle-bystander-in-amazon-ec2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a rede para a Amazon EC2. | Crie a nova VPC, sub-redes, gateway da Internet, tabelas de rotas e grupos de segurança. | AWS SysAdmin | 
| Crie a EC2 instância. | Na região apropriada da AWS, crie uma nova EC2 instância. Selecione a imagem de máquina da Amazon (AMI), escolha o tamanho da instância e configure os detalhes da instância: número de instâncias (1), a VPC e a sub-rede que você criou na tarefa anterior, atribuição automática de IP público e outras opções. Adicione armazenamento, configure grupos de segurança e inicie. Quando solicitado, crie e salve um par de chaves para a próxima etapa. | AWS SysAdmin | 
| Conecte o banco de dados de origem Oracle à EC2 instância. | Copie o endereço IP IPv4 público e o DNS em um arquivo de texto e conecte-se usando SSH da seguinte forma: **ssh -i “your\$1file.pem” EC2-user@<your-IP** - -DNS>. address-or-public | AWS SysAdmin | 
| Configure o host inicial para um espectador na Amazon. EC2 | Configure chaves SSH, perfil bash, ORATAB e links simbólicos. Crie diretórios Oracle. | AWS SysAdmin, administrador de Linux | 
| Configure a cópia do banco de dados para um espectador na Amazon EC2 | Use o RMAN para criar uma cópia do banco de dados, ativar o registro suplementar e criar o arquivo de controle em espera. Depois que a cópia estiver concluída, coloque o banco de dados no modo de recuperação. | AWS SysAdmin, DBA | 
| Configure o Oracle Data Guard. | Modifique seu arquivo **listener.ora** e inicie o receptor. Configure um novo destino de arquivamento. Coloque o espectador no modo de recuperação, substitua os arquivos temporários para evitar corrupção futura, instale um crontab, se necessário, para evitar que o diretório de arquivamento fique sem espaço e edite o **manage-trclog-files-oraclearquivo.cfg** para a origem e o modo de espera. | AWS SysAdmin, DBA | 
| Prepare o banco de dados Oracle para sincronizar o envio. | Adicione os arquivos de log em espera e altere o modo de recuperação. Altere o envio do log para **SYNC AFFIRM** na fonte primária e na fonte em espera. Ative os registros primários, confirme por meio do registro de alerta do EC2 espectador da Amazon que você está usando os arquivos de log em espera e confirme se o fluxo de redo está fluindo no SYNC. | AWS SysAdmin, DBA | 

### Migre dados com o AWS DMS
<a name="migrate-data-with-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de replicação no AWS DMS. | Preencha os campos para nome, classe da instância, VPC (igual à EC2 instância da Amazon), Multi-AZ e acessibilidade pública. Em **Avançado**, especifique o armazenamento alocado, o grupo de sub-rede, a zona de disponibilidade, os grupos de segurança da VPC e a chave do AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Crie o endpoint do banco de dados de origem. | Especifique o nome do endpoint, tipo, mecanismo de origem (Oracle), nome do servidor (nome DNS EC2 privado da Amazon), porta, modo SSL, nome de usuário, senha, SID, VPC (especifique a VPC que tem a instância de replicação) e instância de replicação. Para testar a conexão, escolha **Executar teste** e, em seguida, crie o endpoint. Você também pode definir as seguintes configurações avançadas: **maxFileSize**e **numberDataTypeEscala**. | AWS SysAdmin, DBA | 
| Conecte o AWS DMS ao Amazon RDS para PostgreSQL. | Crie um grupo de segurança de migração para conexões entre VPCs. | AWS SysAdmin, DBA | 
| Crie o endpoint do banco de dados de destino. | Especifique o nome do endpoint, o tipo, o mecanismo de origem (PostgreSQL), o nome do servidor (endpoint do Amazon RDS), a porta, o modo SSL, o nome do usuário, a senha, o nome do banco de dados, a VPC (especificar a VPC que tem a instância de replicação) e a instância de replicação. Para testar a conexão, escolha **Executar teste** e, em seguida, crie o endpoint. Você também pode definir as seguintes configurações avançadas: **maxFileSize **e **numberDataTypeEscala**. | AWS SysAdmin, DBA | 
| Crie a tarefa de replicação do AWS DMS. | Especifique o nome da tarefa, a instância de replicação, os endpoints de origem e destino e a instância de replicação. Para tipo de migração, escolha **Migrar dados existentes e replicar alterações contínuas**. Desmarque a caixa de seleção **Iniciar tarefa ao criar**. | AWS SysAdmin, DBA | 
| Defina as configurações da tarefa de replicação do AWS DMS. | Para o modo de preparação da tabela de destino, escolha **Não fazer nada**. Interrompa a tarefa após a conclusão do carregamento total (para criar chaves primárias). Especifique o modo LOB limitado ou completo e ative as tabelas de controle. Opcionalmente, você pode definir a configuração **CommitRate**avançada. | DBA | 
| Configure mapeamentos de tabelas. | Na seção **Mapeamentos de tabela**, crie uma regra de **inclusão** para todas as tabelas em todos os esquemas incluídos na migração e, em seguida, crie uma regra de **exclusão**. Adicione três regras de transformação para converter os nomes do esquema, da tabela e da coluna para letra minúscula e adicione quaisquer outras regras necessárias para essa migração específica. | DBA | 
| Iniciar a tarefa. | Iniciar a tarefa de replicação. Verifique se a carga total está em execução. Execute **ALTER SYSTEM SWITCH LOGFILE** no banco de dados Oracle primário para iniciar a tarefa. | DBA | 
| Execute os scripts de meio da migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute os seguintes scripts gerados pelo AWS SCT: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Reinicie a tarefa para continuar a captura de dados de alteração (CDC). | Execute **VACUUM** na instância de banco de dados Amazon RDS para PostgreSQL e reinicie a tarefa do AWS DMS para aplicar as alterações do CDC em cache. | DBA | 

### Substitua para o banco de dados PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique se há erros nos registros e nas tabelas de validação do AWS DMS. | Verifique e corrija quaisquer erros de replicação ou validação. | DBA | 
| Interrompa todas as dependências do Oracle. | Interrompa todas as dependências do Oracle, desligue os receptores no banco de dados Oracle e execute **ALTER SYSTEM SWITCH LOGFILE**. Interrompa a tarefa do AWS DMS quando ele não mostrar nenhuma atividade. | DBA | 
| Execute os scripts de pós-migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute os seguintes scripts gerados pelo AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Conclua etapas adicionais do Amazon RDS para PostgreSQL. | Incremente as sequências para corresponder ao Oracle, se necessário; execute **VACUUM** e **ANALYZE** e tire um instantâneo para fins de conformidade. | DBA | 
| Escolha conectar ao Amazon RDS para PostgreSQL. | Remova os grupos de segurança do AWS DMS do Amazon RDS para PostgreSQL, adicione grupos de segurança de produção e direcione seus aplicativos para o novo banco de dados. | DBA | 
| Limpe objetos do AWS DMS. | Remova os endpoints, as tarefas de replicação, as instâncias de replicação e a instância. EC2  | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-resources"></a>
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Preço do Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/) 

# Migre um banco de dados Oracle para o Amazon Redshift usando o AWS DMS e o AWS SCT
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct"></a>

*Piyush Goyal e Brian Motzer, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão fornece orientação para migrar bancos de dados Oracle para um data warehouse em nuvem do Amazon Redshift na nuvem da Amazon Web Services (AWS) usando o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool (AWS SCT). O padrão abrange bancos de dados Oracle de origem que estão no local ou instalados em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Também abrange o Amazon Relational Database Service (Amazon RDS) para bancos de dados Oracle.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Um banco de dados Oracle que está sendo executado em um datacenter on-premises ou na Nuvem AWS
+ Uma conta AWS ativa
+ Familiaridade com [o uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [o uso de um banco de dados do Amazon Redshift como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ Conhecimento do Amazon RDS, do Amazon Redshift, das tecnologias de banco de dados aplicáveis e do SQL
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT, onde o AWS SCT está instalado

**Versões do produto**
+ No caso de bancos de dados Oracle autogerenciados, o DMS da AWS é compatível com todas as edições de banco de dados Oracle para as versões 10.2 e superiores (para versões 10.*x*), 11g e até 12.2, 18c e 19c. No caso de bancos de dados do Amazon RDS para Oracle, o DMS da AWS é compatível com todas as edições de banco de dados Oracle para as versões 11g (versões 11.2.0.4 e superiores) e até 12.2, 18c e 19c. Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos.

## Arquitetura
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**

Um dos seguintes:
+ Um banco de dados Oracle on-premises
+ Um banco de dados Oracle em uma EC2 instância
+ Instância de banco de dados do Amazon RDS para Oracle

**Pilha de tecnologias de destino**
+ banco de dados de origem

**Arquitetura de destino**

*De um banco de dados Oracle em execução na Nuvem AWS para o Amazon Redshift:*

![\[Migração de um banco de dados da Oracle na Nuvem AWS para um data warehouse do Amazon Redshift.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/7140e819-81d6-45c4-805b-8e10828076a7.png)


*De um banco de dados Oracle em execução em um datacenter on-premises para o Amazon Redshift:*

![\[Migração de um banco de dados da Oracle on-premises para um data warehouse do Amazon Redshift.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/d6654b48-0e1b-4b01-a261-5a640be01fd7.png)


## Ferramentas
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html): o AWS Data Migration Service (AWS DMS) ajuda você a migrar bancos de dados para a AWS de forma rápida e segura. O banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem do banco de dados. O AWS DMS pode migrar seus dados dos/para os bancos de dados comerciais e de código aberto mais usados no mercado. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): a AWS Schema Conversion Tool (AWS SCT) pode ser usada para converter seu esquema de banco de dados existente de um mecanismo de banco de dados para outro. Ele oferece suporte a vários mecanismos de banco de dados, incluindo Oracle, SQL Server e PostgresSQL, como fontes.

## Épicos
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões do banco de dados. | Valide as versões de origem e destino do banco de dados e certifique-se de que elas sejam suportadas pelo AWS DMS. Para obter informações sobre as versões compatíveis do Oracle Database, consulte [Usando um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Para obter informações sobre o uso do Amazon Redshift como destino, consulte [Usar um banco de dados do Amazon Redshift como destino do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html). | DBA | 
| Criar um grupo de segurança e de VPC. | Crie uma nuvem privada virtual (VPC) na conta da AWS, caso ela ainda não exista. Crie um grupo de segurança para tráfego de saída para bancos de dados de origem e destino. Para obter mais informações, consulte a [documentação do Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). | Administrador de sistemas | 
| Instale a AWS SCT. | Faça download e instale a versão mais recente do AWS SCT e seus drivers correspondentes. Para obter mais informações, consulte [Instalação, verificação e atualização do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html). | DBA | 
| Criar um usuário para a tarefa do AWS DMS. | Crie um usuário do AWS DMS no banco de dados de origem e conceda a ele privilégios READ. Esse usuário será usado tanto pelo AWS SCT quanto pelo AWS DMS. | DBA | 
| Testar a conectividade do banco de dados. | Teste a conectividade à instância de banco de dados do Oracle. | DBA | 
| Crie de um novo projeto no AWS SCT. | Abra a ferramenta AWS SCT e crie um novo projeto. | DBA | 
| Analise o esquema Oracle a ser migrado. | Use o AWS SCT para analisar o esquema a ser migrado e gerar um relatório de avaliação da migração do banco de dados. Para obter mais informações, consulte [Criação de um relatório de avaliação de migração de banco de dados](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.Create.html) na documentação do AWS SCT. | DBA | 
| Analisar o relatório de avaliação. | Analise o relatório para verificar a viabilidade da migração. Alguns objetos de banco de dados podem exigir conversão manual. Para obter mais informações sobre o relatório, consulte [Visualização do relatório de avaliação](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) na documentação do AWS SCT. | DBA | 

### Preparar o banco de dados de destino
<a name="prepare-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um cluster do Amazon Redshift. | Crie um cluster do Amazon Redshift dentro da VPC que você criou anteriormente. Para obter mais informações, consulte [Clusters do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) na documentação do Amazon Redshift. | DBA | 
| Criar usuários do banco de dados. | Extraia a lista de usuários, funções e concessões do banco de dados de origem da Oracle. Crie usuários no banco de dados de destino do Amazon Redshift e aplique as funções da etapa anterior. | DBA | 
| Avaliar parâmetros do banco de dados. | Analise as opções, os parâmetros, os arquivos de rede e os links do banco de dados de origem Oracle e avalie sua aplicabilidade ao destino.             | DBA | 
| Aplique todas as configurações relevantes ao destino.  | Para obter mais informações sobre essa etapa, consulte [Referência de configuração](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) na documentação do Amazon Redshift. | DBA | 

### Criar objetos no banco de dados de destino
<a name="create-objects-in-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um usuário do AWS DMS no banco de dados de destino. | Crie um usuário do AWS DMS no banco de dados de destino e conceda a ele privilégios de leitura e gravação. Valide a conectividade do AWS SCT. | DBA | 
| Converta o esquema, revise o relatório SQL e salve quaisquer erros ou avisos. | Para obter mais informações, consulte [Conversão de esquemas de banco de dados usando o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) na documentação do AWS SCT. | DBA | 
| Aplique as alterações do esquema ao banco de dados de destino ou salve-as como um arquivo .sql. | Para obter instruções, consulte [Salvar e aplicar seu esquema convertido no AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.DW.html#CHAP_Converting.DW.SaveAndApply) na documentação do AWS SCT. | DBA | 
| Valide os objetos no banco de dados de destino. | Valide os objetos que foram criados na etapa anterior no banco de dados de destino. Reescreva ou redesenhe qualquer objeto que não tenha sido convertido com sucesso. | DBA | 
| Desative chaves e gatilhos externos. | Desative qualquer chave e gatilhos externos. Isso pode causar problemas de carregamento de dados durante o processo de carregamento completo ao executar o AWS DMS. | DBA | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de replicação do AWS DMS. | Faça login no console de gerenciamento da AWS e abra o console do AWS DMS. No painel de navegação, escolha **Instâncias de replicação**, **Criar instância de replicação**. Para obter instruções detalhadas, consulte a [etapa 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance) em *Introdução ao AWS DMS* na documentação do AWS DMS. | DBA | 
| Criar endpoints de origem e de destino. | Crie endpoints de origem e destino, teste a conexão da instância de replicação com os endpoints de origem e de destino. Para obter instruções detalhadas, consulte a [etapa 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints) em *Introdução ao AWS DMS* na documentação do AWS DMS. | DBA | 
| Criar uma tarefa de replicação. | Crie uma tarefa de replicação e selecione o método de migração apropriado. Para obter instruções detalhadas, consulte a [etapa 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks) em *Introdução ao AWS DMS* na documentação do AWS DMS. | DBA | 
| Iniciar a replicação dos dados. | Inicie a tarefa de replicação e monitore os logs em busca de erros. | DBA | 

### Migrar seu aplicativo
<a name="migrate-your-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie servidores de aplicações. | Crie os novos servidores de aplicativos na AWS. | Proprietário do aplicativo | 
| Migre o código do aplicativo. | Migre o código do aplicativo para os novos servidores. | Proprietário do aplicativo | 
| Configure o servidor de aplicações. | Configure o servidor do aplicativo para o banco de dados e os drivers de destino. | Proprietário do aplicativo | 
| Otimize o código do aplicativo. | Otimize o código do aplicativo para o mecanismo de destino. | Proprietário do aplicativo | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide os usuários. | No banco de dados de destino do Amazon Redshift, valide os usuários e conceda a eles funções e privilégios. | DBA | 
| Valide se o aplicativo está bloqueado. | Verifique se o aplicativo está bloqueado para evitar mais alterações. | Proprietário do aplicativo | 
| Valide os dados. | Valide os dados no banco de dados de destino do Amazon Redshift. | DBA | 
| Ative chaves e gatilhos externos. | Ative chaves e gatilhos externos no banco de dados de destino do Amazon Redshift. | DBA | 
| Conecte-se ao novo banco de dados. | Configure o aplicativo para se conectar ao novo banco de dados do Amazon Redshift. | Proprietário do aplicativo | 
| Execute as verificações finais. | Faça uma verificação final e abrangente do sistema antes de entrar em operação. | DBA, proprietário do aplicativo | 
| Acesse. | Acesse o banco de dados de destino do Amazon Redshift. | DBA | 

### Feche o projeto de migração
<a name="close-the-migration-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. | Encerre recursos temporários da AWS, como a instância de replicação do AWS DMS e a EC2 instância usada para o AWS SCT.  | DBA, administrador de sistemas | 
| Analise documentos.  | Revise e valide os documentos do projeto de migração.     | DBA, administrador de sistemas | 
| Colete métricas. | Colete informações sobre o projeto de migração, como o tempo de migração, a porcentagem de tarefas manuais versus tarefas de ferramentas e a economia total de custos.  | DBA, administrador de sistemas | 
| Encerre o projeto. | Feche o projeto e forneça feedback. | DBA, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-resources"></a>

**Referências**
+ [Guia do usuário do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guia do usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Bem-vindo ao Guia de conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

**Tutoriais e vídeos**
+ [Mergulhe profundamente no AWS SCT e no AWS DMS](https://www.youtube.com/watch?v=kJs9U4ys5FE) (apresentação do AWS re:Invent 2019)
+ [Introdução ao AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)

# Migrar um banco de dados Oracle para o Aurora PostgreSQL usando AWS DMS e AWS SCT
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão descreve como migrar um banco de dados Oracle para o Amazon Aurora Edição Compatível com PostgreSQL usando o AWS Data Migration Service (AWS DMS) e o AWS Schema Conversion Tool (AWS SCT). 

O padrão abrange bancos de dados Oracle de origem que estão no local, bancos de dados Oracle instalados em instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Relational Database Service (Amazon RDS) para bancos de dados Oracle. O padrão converte esses bancos de dados em compatíveis com o Aurora PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle em um datacenter on-premises ou na Nuvem AWS.
+ Clientes SQL instalados em uma máquina local ou em uma EC2 instância.
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT, instalados em uma máquina local ou em uma instância em que o AWS SCT EC2 está instalado. 

**Limitações**
+ Limite de tamanho do banco de dados: 128 TB 
+ Se o banco de dados de origem suportar um aplicativo comercial off-the-shelf (COTS) ou for específico do fornecedor, talvez você não consiga convertê-lo em outro mecanismo de banco de dados. Antes de usar esse padrão, confirme se o aplicativo é compatível com o Aurora PostgreSQL.  

**Versões do produto**
+ No caso de bancos de dados Oracle autogerenciados, o DMS da AWS é compatível com todas as edições de banco de dados Oracle para as versões 10.2 e posteriores (para versões 10.x), 11g e até 12.2, 18c e 19c. Para obter a lista mais recente das versões compatíveis do banco de dados Oracle (tanto autogerenciadas quanto do Amazon RDS para Oracle), [consulte Usando um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Usando um banco de dados PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) como destino para o AWS DMS. 
+ Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. Para obter informações sobre as versões do banco de dados Oracle suportadas pelo AWS SCT, consulte a documentação do [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 
+ [O Aurora oferece suporte às versões do PostgreSQL listadas nas versões de mecanismo e versões do Amazon Aurora PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)

## Arquitetura
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**

Um dos seguintes:
+ Um banco de dados Oracle on-premises
+ Um banco de dados Oracle em uma EC2 instância  
+ Instância de banco de dados do Amazon RDS para Oracle

**Pilha de tecnologias de destino**
+ Aurora compatível com PostgreSQL 

**Arquitetura de destino**

![\[Arquitetura de destino para migrar bancos de dados Oracle para o Aurora compatível com PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/68beb634-926e-4908-97b1-edcd23e06a2b.png)


**Arquitetura de migração de dados**
+ De um banco de dados Oracle que executa na Nuvem AWS   
![\[Arquitetura de migração de dados para um banco de dados Oracle na AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/7fc32019-3db1-485b-93e5-6d5539be048c.png)

   
+ De um banco de dados Oracle que executa em um datacenter on-premises  
![\[Arquitetura de migração de dados para um banco de dados Oracle em um datacenter on-premises.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/c70d8774-aef7-4414-9766-ce8f25757c4b.png)

## Ferramentas
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) é compatível com as migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maioria do código personalizado em um formato compatível com o banco de dados de destino.

## Épicos
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar o banco de dados de origem. | Para preparar o banco de dados de origem, consulte [Como usar o banco de dados Oracle como origem para o AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) na documentação do AWS SCT. | DBA | 
| Crie uma EC2 instância para o AWS SCT. | Crie e configure uma EC2 instância para o AWS SCT, se necessário. | DBA | 
| Baixe o AWS SCT. | Faça download da versão mais recente do AWS SCT e dos drivers associados. Para obter mais informações, consulte [Instalação, verificação e atualização do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) na documentação do AWS SCT. | DBA | 
| Adicione usuários e permissões do IAM. | Adicione e valide os pré-requisitos de usuários e permissões no banco de dados de origem. | DBA | 
| Crie um projeto AWS SCT. | Crie um projeto AWS SCT para o workload e conecte-se ao banco de dados de origem. Para obter instruções, consulte [Como criar um projeto do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Project) e [Adicionar servidores de banco de dados](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) na documentação do AWS SCT. | DBA | 
| Avaliar a viabilidade. | Gere um relatório de avaliação, que resume os itens de ação para esquemas que não podem ser convertidos automaticamente e fornece estimativas para esforços de conversão manual. Para obter mais informações, consulte [Criação e revisão do relatório de avaliação da migração do banco](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) de dados na documentação do AWS SCT. | DBA | 

### Preparar o banco de dados de destino
<a name="prepare-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de banco de dados do Amazon RDS. | Crie uma instância de banco de dados Amazon RDS de destino, usando o Amazon Aurora como mecanismo de banco de dados. Para obter instruções, consulte [Criação de uma instância de banco de dados Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) na documentação do Amazon RDS. | DBA | 
| Extraia usuários, funções e permissões. | Extraia a lista de usuários, funções e permissões do banco de dados de origem. | DBA | 
| Usuários do mapa. | Mapeie os usuários do banco de dados existentes para os novos usuários do banco de dados. | Proprietário do App | 
| Crie usuários.  | Criar usuários no banco de dados de destino. | DBA, proprietário do aplicativo | 
| Aplique funções. | Aplique funções da etapa anterior ao banco de dados de destino. | DBA | 
| Verifique as opções, os parâmetros, os arquivos de rede e os links do banco de dados. | Examine o banco de dados de origem em busca de opções, parâmetros, arquivos de rede e links de banco de dados e, em seguida, avalie sua aplicabilidade ao banco de dados de destino. | DBA | 
| Configurações de aplicação. | Aplique todas as configurações relevantes ao banco de dados de destino. | DBA | 

### Transferir objetos
<a name="transfer-objects"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a conectividade do AWS SCT. | Configure a conectividade do AWS SCT com o banco de dados de destino. | DBA | 
| Converta o esquema usando o AWS SCT. | O AWS SCT converte automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino. Qualquer código que não possa ser convertido automaticamente pela ferramenta será marcado em destaque para que seja convertido manualmente. | DBA | 
| Analise o relatório. | Revise o relatório SQL gerado e salve quaisquer erros e avisos. | DBA | 
| Aplique alterações automatizadas no esquema. | Aplique alterações automatizadas de esquema ao banco de dados de destino ou salve-as como um arquivo .sql. | DBA | 
| Valide objetos. | Valide se o AWS SCT criou os objetos no destino.  | DBA | 
| Gerencie itens que não foram convertidos. | Reescreva, rejeite ou redesenhe manualmente todos os itens que falharam na conversão automática. | DBA, proprietário do aplicativo | 
| Aplicar permissões de funções e permissões de usuário. | Aplique a função gerada e as permissões do usuário e analise todas as exceções. | DBA | 

### Migre os dados
<a name="migrate-the-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Determine o método. | Determine o método de migração de dados. | DBA | 
| Criação de uma instância de replicação. | Crie uma instância de replicação do console do AWS DMS. Para obter mais informações, consulte [Trabalho com uma instância de replicação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) na documentação do AWS DMS. | DBA | 
| Criação de endpoints de origem e de destino. | Para criar endpoints, siga as instruções em [Criação de endpoints de origem e destino na documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | DBA | 
| Criar uma tarefa de replicação. | Para criar uma tarefa, consulte [Trabalho com tarefas do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) na documentação do AWS DMS. | DBA | 
| Inicie a tarefa de replicação e monitore os logs. | Para obter mais informações sobre essa etapa, consulte [Monitoramento de tarefas do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html) na documentação do AWS DMS. | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analise e converta itens SQL no código do aplicativo. | Use o AWS SCT para analisar e converter os itens SQL no código do aplicativo. Ao converter o esquema do seu banco de dados de um mecanismo para outro, é preciso também atualizar o código SQL nos seus aplicativos, a fim de interagir com o novo mecanismo de banco de dados, em vez do antigo. Você pode visualizar, analisar, editar e salvar o código SQL convertido. | Proprietário do App | 
| Crie servidores de aplicações. | Crie os novos servidores de aplicativos na AWS. | Proprietário do App | 
| Migre o código do aplicativo. | Migre o código do aplicativo para os novos servidores. | Proprietário do App | 
| Configure os servidores dos aplicativos. | Configure os servidores de aplicativos para o banco de dados e os drivers de destino. | Proprietário do App | 
| Corrija o código. | Corrija qualquer código específico do mecanismo de banco de dados de origem em seu aplicativo. | Proprietário do App | 
| Otimize o código. | Otimize o código do seu aplicativo para o mecanismo de banco de dados de destino. | Proprietário do App | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Vá para o banco de dados de destino. | Execute a substituição para o novo banco de dados. | DBA | 
| Bloqueie o aplicativo. | Bloqueie o aplicativo de quaisquer outras alterações. | Proprietário do App | 
| Validar alterações. | Validar se todas as alterações foram propagadas para o banco de dados de destino. | DBA | 
| Redirecione para banco de dados de destino. | Aponte os novos servidores de aplicativos para o banco de dados de destino. | Proprietário do App | 
| Confira tudo. | Execute uma verificação final e abrangente do sistema. | Proprietário do App | 
| Acesse. | Conclua as tarefas finais de substituição. | Proprietário do App | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários. | Encerre os recursos temporários da AWS, como a instância de replicação do AWS DMS e a EC2 instância usada para o AWS SCT. | DBA, proprietário do aplicativo | 
| Feedback de atualização. | Atualize o feedback sobre o processo do AWS DMS para as equipes internas. | DBA, proprietário do aplicativo | 
| Revise o processo e os modelos. | Revise o processo do AWS DMS e melhore o modelo, se necessário. | DBA, proprietário do aplicativo | 
| Valide os documentos. | Revise e valide os documentos do projeto. | DBA, proprietário do aplicativo | 
| Colete métricas. | Reúna métricas para avaliar o tempo de migração, a porcentagem de economia de custos manuais versus ferramentas e assim por diante. | DBA, proprietário do aplicativo | 
| Fechar o projeto. | Encerre o projeto de migração e forneça feedback às partes interessadas. | DBA, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-resources"></a>

**Referências**
+ [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso do banco de dados PostgreSQL como destino para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manual de migração do Oracle Database 11g/12c para Amazon Aurora com compatibilidade com PostgreSQL (9.6.x)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Manual de migração do Oracle Database 19c para o Amazon Aurora com compatibilidade com PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Migrar um banco de dados do Amazon RDS para Oracle para o Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-oracle-postgresql.html)
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Migre da Oracle para o Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriais e vídeos**
+ [Passo a Step-by-Step passo da migração de banco de dados](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS Database Migration Service (vídeo)](https://www.youtube.com/watch?v=zb4GcjEdl8U)
+ [Migração de um banco de dados do Oracle para PostgreSQL](https://www.youtube.com/watch?v=ibtNkChGFkw) (vídeo)

## Mais informações
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-additional"></a>

.

# Migrar dados de um banco de dados Oracle on-premises para o Aurora PostgreSQL
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql"></a>

*Michelle Deng e Shunan Xiang, Amazon Web Services*

## Resumo
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-summary"></a>

Esse padrão fornece orientação para a migração de dados de um banco de dados Oracle on-premises para a edição compatível com Amazon Aurora PostgreSQL. Aborda uma estratégia de migração de dados on-line com um mínimo de tempo de inatividade para bancos de dados Oracle de vários terabytes que contêm grandes tabelas com atividades de alta linguagem de manipulação de dados (DML). Um banco de dados standby Oracle Active Data Guard é usado como fonte para descarregar a migração de dados do banco de dados principal. A replicação do banco de dados principal Oracle para o modo de espera pode ser suspensa durante a carga total para evitar erros do ORA-01555. 

Colunas de tabela em chaves primárias (PKs) ou chaves estrangeiras (FKs), com o tipo de dados NUMBER, são comumente usadas para armazenar números inteiros no Oracle. Recomendamos que você os converta em INT ou BIGINT no PostgreSQL para melhorar o desempenho. Você pode usar a AWS Schema Conversion Tool (AWS SCT) para alterar o mapeamento de tipos de dados padrão para as colunas PK e FK. (Para obter mais informações, consulte a postagem do AWS blog [Converter o tipo de dados NUMBER do Oracle para o PostgreSQL](https://aws.amazon.com/blogs/database/convert-the-number-data-type-from-oracle-to-postgresql-part-2/).) A migração de dados nesse padrão usa o AWS Database Migration Service (AWS DMS) para carga total e captura de dados alterados (CDC).

Você também pode usar esse padrão para migrar um banco de dados Oracle local para o Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou um banco de dados Oracle hospedado no Amazon Elastic Compute Cloud (Amazon) para o Amazon EC2 RDS for PostgreSQL ou compatível com o Aurora PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem Oracle em um datacenter on-premises com o Active Data Guard configurado em espera 
+ AWS Direct Connect configurado entre o datacenter on-premises e a Nuvem AWS
+ Familiaridade com [o uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridade com [o uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitações**
+ Os clusters de banco de dados Amazon Aurora podem ser criados com até 128 TiB de armazenamento. As instâncias de banco de dados do Amazon RDS para PostgreSQL podem ser criadas com até 64 TiB de armazenamento. Para obter as informações de armazenamento mais recentes, consulte [Armazenamento e confiabilidade do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html) e [armazenamento de instâncias de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) na documentação da AWS.

**Versões do produto**
+ O AWS DMS oferece suporte a todas as edições do banco de dados Oracle para as versões 10.2 e versões posteriores (para versões 10.x), 11g e até 12.2, 18c e 19c. Para obter a lista mais recente de versões compatíveis, consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) na documentação da AWS. 

## Arquitetura
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-architecture"></a>

**Pilha de tecnologia de origem**
+ Bancos de dados Oracle on-premises com o Oracle Active Data Guard configurado em espera 

**Pilha de tecnologias de destino**
+ Aurora compatível com PostgreSQL 

**Arquitetura de migração de dados**

![\[Migração de um banco de dados do Oracle para Aurora compatível com PostgreSQL\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/49f9b03e-6d33-4ac0-94ad-d3e6d02e6d63/images/0038a36b-fb7d-4f2d-8376-8d38290b0736.png)


## Ferramentas
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-tools"></a>
+ **AWS DMS**: o [AWS Database Migration Service](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) oferece suporte a vários bancos de dados de origem e destino. Consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) na documentação do AWS DMS para obter uma lista das versões e edições dos bancos de dados Oracle de origem e destino compatíveis. Se o banco de dados de origem não for suportado pelo AWS DMS, você deverá selecionar outro método para migrar os dados na Fase 6 (na seção *Epics*). **Observação importante:** como essa é uma migração heterogênea, você deve primeiro verificar se o banco de dados oferece suporte a um aplicativo comercial off-the-shelf (COTS). Se o aplicativo for COTS, consulte o fornecedor para confirmar se o é compatível com o Aurora PostgreSQL antes de continuar. Para obter mais informações, consulte [as instruções de Step-by-Step migração do AWS DMS na documentação](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) da AWS.
+ **AWS SCT**: a [AWS Schema Conversion](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.htm) Tool (AWS SCT) facilita migrações heterogêneas de bancos de dados ao converter automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino. O código personalizado que a ferramenta converte inclui visualizações, procedimentos armazenados e funções. Qualquer código que não possa ser convertido automaticamente pela ferramenta será marcado em destaque para que você mesmo possa convertê-lo. 

## Épicos
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões dos bancos de dados de origem e de destino. |  | DBA | 
| Instale o AWS SCT e os drivers. |  | DBA | 
| Adicione e valide os usuários pré-requisitos do AWS SCT e o banco de dados de fontes concessões. |  | DBA | 
| Crie um projeto AWS SCT para o workload e conecte-se ao banco de dados de origem. |  | DBA | 
| Gere um relatório de avaliação e avalie a viabilidade. |  | DBA, proprietário do aplicativo | 

### Preparar o banco de dados de destino
<a name="prepare-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um banco de dados de destino compatível com o Aurora PostgreSQL. |  | DBA | 
| Extraia a lista de usuários, funções e concessões do banco de dados de origem. |  | DBA | 
| Mapeie os usuários do banco de dados existentes para os novos usuários do banco de dados. |  | Proprietário do App | 
| Criar usuários no banco de dados de destino. |  | DBA | 
| Aplique as funções da etapa anterior ao banco de dados de destino compatível com o Aurora PostgreSQL. |  | DBA | 
| Analise as opções, os parâmetros, os arquivos de rede e os links do banco de dados de origem e avalie sua aplicabilidade ao banco de dados de destino. |  | DBA, proprietário do aplicativo | 
| Aplique todas as configurações relevantes ao banco de dados de destino. |  | DBA | 

### Prepare-se para a conversão de objetos de códigos do banco de dados
<a name="prepare-for-database-object-code-conversion"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a conectividade do AWS SCT com o banco de dados de destino. |  | DBA | 
| Converta o esquema no AWS SCT e salve o código convertido como um arquivo .sql. |  | DBA, proprietário do aplicativo | 
| Converta manualmente qualquer objeto de banco de dados que falhou na conversão automática. |  | DBA, proprietário do aplicativo | 
| Otimize a conversão do código do banco de dados. |  | DBA, proprietário do aplicativo | 
| Separe o arquivo .sql em vários arquivos .sql com base no tipo de objeto. |  | DBA, proprietário do aplicativo | 
| Valide os scripts SQL no banco de dados de destino. |  | DBA, proprietário do aplicativo | 

### Prepare a migração de dados
<a name="prepare-for-data-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de replicação do AWS DMS. |  | DBA | 
| Criação de endpoints de origem e de destino.  | Se o tipo de dados do PKs e FKs for convertido de NUMBER no Oracle para BIGINT no PostgreSQL, considere especificar o `numberDataTypeScale=-2` atributo de conexão ao criar o endpoint de origem. | DBA | 

### Migrar dados – carga total
<a name="migrate-data-ndash-full-load"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o esquema e as tabelas no banco de dados de destino. |  | DBA | 
|  Crie tarefas de carga completa do AWS DMS agrupando tabelas ou dividindo uma tabela grande com base no tamanho da tabela. |  | DBA | 
| Interrompa os aplicativos nos bancos de dados Oracle de origem por um curto período. |  | Proprietário do App | 
| Verifique se o banco de dados stand-by Oracle está sincronizado com o banco de dados principal e interrompa a replicação do banco de dados principal para o banco de dados stand-by. |  | DBA, proprietário do aplicativo | 
| Inicie os aplicativos no banco de dados Oracle de origem. |  | Proprietário do App | 
| Inicie as tarefas de carga total do AWS DMS em paralelo, do banco de dados em espera da Oracle ao banco de dados compatível com o Aurora PostgreSQL. |  | DBA | 
| Crie PKs índices secundários após a conclusão da carga completa. |  | DBA | 
| Valide os dados. |  | DBA | 

### Migrar dados – CDC
<a name="migrate-data-ndash-cdc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie tarefas de replicação contínuas do AWS DMS especificando um horário de início personalizado do CDC ou um número de alteração do sistema (SCN) quando o Oracle standby foi sincronizado com o banco de dados principal e antes de os aplicativos serem reiniciados na tarefa anterior. |  | DBA | 
| Inicie as tarefas do AWS DMS em paralelo para replicar as mudanças contínuas do banco de dados em espera da Oracle para o banco de dados compatível com o Aurora PostgreSQL. |  | DBA | 
| Restabeleça a replicação do banco de dados principal Oracle para o banco de dados standby. |  | DBA | 
| Monitore os registros e interrompa os aplicativos no banco de dados Oracle quando o banco de dados de destino compatível com o Aurora PostgreSQL estiver quase sincronizado com o banco de dados Oracle de origem. |  | DBA, proprietário do aplicativo | 
| Interrompa as tarefas do AWS DMS quando o destino estiver totalmente sincronizado com o banco de dados Oracle de origem. |  | DBA | 
| Crie FKs e valide os dados no banco de dados de destino. |  | DBA | 
| Crie funções, visualizações, acionadores, sequências e outros tipos de objetos no banco de dados de destino. |  | DBA | 
| Aplique concessões de funções no banco de dados de destino. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use o AWS SCT para analisar e converter as instruções SQL dentro do código do aplicativo. |  | Proprietário do App | 
| Crie novos servidores de aplicativos na AWS. |  | Proprietário do App | 
| Migre o código do aplicativo para os novos servidores. |  | Proprietário do App | 
| Configure o servidor do aplicativo para o banco de dados e os drivers de destino. |  | Proprietário do App | 
| Corrija qualquer código específico do mecanismo de banco de dados de origem no aplicativo. |  | Proprietário do App | 
| Otimize o código do aplicativo para o banco de dados de destino. |  | Proprietário do App | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Direcione o novo aplicativo para o novo banco de dados de destino. |  | DBA, proprietário do aplicativo | 
| Realize testes de sanidade. |  | DBA, proprietário do aplicativo | 
| Acesse. |  | DBA, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, administrador de sistemas | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo | 
| Reúna métricas de tempo de migração, porcentagem de uso manual em comparação com o uso de ferramentas, economia de custos e dados similares. |  | DBA, proprietário do aplicativo | 
| Feche o projeto e forneça feedback. |  | DBA, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-resources"></a>

**Referências**
+ [Banco de dados Oracle para banco de dados compatível com Aurora PostgreSQL: Manual de migração](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Migração de um banco de dados Amazon RDS para Oracle pra um banco de dados Amazon Aurora MySQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-rdsoracle2aurora.html)
+ [Site do AWS DMS](https://aws.amazon.com/dms/)
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Site do AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Migre do Oracle para o Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

**Tutoriais**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/) 
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Instruções passo a Step-by-Step passo do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/dms-sbs-welcome.html)

# Migre do SAP ASE para o Amazon RDS para SQL Server usando o AWS DMS
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms"></a>

*Amit Kumar, Amazon Web Services*

## Resumo
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-summary"></a>

Esse padrão fornece orientações para migrar um banco de dados do SAP Adaptive Server Enterprise (ASE) para uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) que executa o Microsoft SQL Server. O banco de dados de origem pode estar localizado em um data center local ou em uma instância do Amazon Elastic Compute Cloud EC2 (Amazon). O padrão usa o AWS Database Migration Service (AWS DMS) para migrar dados e (opcionalmente) ferramentas de engenharia de software assistida por computador (CASE) para converter o esquema do banco de dados. 

## Pré-requisitos e limitações
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados SAP ASE em um data center local ou em uma instância EC2 
+ Um banco de dados de destino do Amazon RDS para SQL Server que está ativo e funcionando

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ Somente SAP ASE versão 15.7 ou 16.x. Para obter as informações mais recentes, consulte [Como usar um banco de dados do SAP como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html).
+ Para bancos de dados de destino do Amazon RDS, o AWS DMS oferece suporte às [versões do Microsoft SQL Server no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) para as edições Enterprise, Standard, Web e Express. Para obter as informações mais recentes sobre as versões compatíveis, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos.  

## Arquitetura
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados SAP ASE que está no local ou em uma EC2 instância da Amazon

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados do Amazon RDS para SQL Server

**Arquitetura de origem e destino**

*De um banco de dados SAP ASE na Amazon EC2 para uma instância de banco de dados Amazon RDS for SQL Server:*

![\[Arquitetura de destino do SAP ASE na Amazon EC2 para o Amazon RDS for SQL Server\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/957bdcf0-ab58-4b6d-a71a-d0ecbc31822c.png)


*De um banco de dados SAP ASE on-premises a uma instância de banco de dados do Amazon RDS para SQL Server:*

![\[Arquitetura de destino do SAP ASE on-premises para o Amazon RDS para SQL Server\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/65aab2f5-0e63-4c34-97e2-cd4ac23751a4.png)


## Ferramentas
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-tools"></a>
+ O [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) é um serviço web que você pode usar para migrar dados do seu banco de dados local, em uma instância de banco de dados Amazon RDS ou em um banco de dados em uma EC2 instância, para um banco de dados em um serviço da AWS, como Amazon RDS for SQL Server ou uma instância. EC2 Você também pode migrar um banco de dados de um serviço da AWS para um banco de dados on-premises. Você pode migrar dados entre mecanismos de banco de dados heterogêneos ou homogêneos.
+ [Para conversões de esquema, você pode, opcionalmente, usar o [erwin Data](https://erwin.com/products/erwin-data-modeler/) Modeler ou o SAP. PowerDesigner](https://www.sap.com/products/technology-platform/powerdesigner-data-modeling-tools.html)

## Épicos
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Escolher o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin | 
| Identifique a estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC) e sub-redes. |  | SysAdmin | 
| Crie grupos de segurança e listas de controle de acesso à rede (ACLs). |  | SysAdmin | 
| Configure e inicie uma instância de banco de dados do Amazon RDS. |  | SysAdmin | 

### Migrar dados - opção 1
<a name="migrate-data---option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre o esquema do banco de dados manualmente ou use uma ferramenta CASE, como o erwin Data Modeler ou o SAP. PowerDesigner |  | DBA | 

### Migrar dados - opção 2
<a name="migrate-data---option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre dados usando o AWS DMS. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA SysAdmin, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, SysAdmin | 
| Revise e valide os documentos do projeto. |  | DBA SysAdmin, proprietário do aplicativo | 
| Reúna métricas como tempo para migrar, porcentagem de tarefas manuais versus automatizadas e economia de custos. |  | DBA SysAdmin, proprietário do aplicativo | 
| Feche o projeto e forneça feedback. |  | DBA SysAdmin, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-resources"></a>

**Referências**
+ [Site do AWS DMS](https://aws.amazon.com/dms/)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Uso de um banco de dados SAP ASE como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)
+ [Limitações do RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)

**Tutoriais e vídeos**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (vídeo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vídeo)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift utilizando o AWS DMS
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms"></a>

*Marcelo Fernandes, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-summary"></a>

Esse padrão fornece orientações para migrar um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift utilizando o AWS Data Migration Service (AWS DMS). 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Microsoft SQL Server de origem em um datacenter on-premises
+ Pré-requisitos preenchidos para usar um banco de dados do Amazon Redshift como destino para o AWS DMS, conforme discutido na [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.Prerequisites).

**Versões do produto**
+ SQL Server 2005-2019, edições Enterprise, Standard, Workgroup, Developer e Web. Para obter a lista mais recente de versões compatíveis, consulte [Usar um banco de dados Microsoft SQL Server como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) na documentação da AWS. 

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Microsoft SQL Server on-premises 

**Pilha de tecnologias de destino**
+ banco de dados de origem

**Arquitetura de migração de dados**

 

![\[Arquitetura para migrar um banco de dados SQL Server on-premises para o Amazon Redshift usando o AWS DMS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/65b2be1b-740e-4d4d-99a8-f77c4ea6553d/images/3a094bf2-be31-4d83-8dd2-9dc078321055.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-tools"></a>
+ O [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) é um serviço de migração de dados que oferece suporte a vários tipos de bancos de dados de origem e destino. Para obter informações sobre as versões e edições do banco de dados do SQL Server compatíveis com o AWS DMS, consulte [Usar um banco de dados do Microsoft SQL Server como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) na documentação do AWS DMS. Se o AWS DMS não for compatível com o banco de dados de origem, você deve selecionar um método alterativo para migrar os dados.

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a versão e o mecanismo dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, administrador de sistemas | 
| Escolha o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. |  | DBA, administrador de sistemas | 
| Identifique a estratégia de migração de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). | Para obter mais informações, consulte [Trabalhar com uma instância de banco de dados em uma VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) na documentação da AWS. | Administrador de sistemas | 
| Criar grupos de segurança. |  | Administrador de sistemas | 
| Configurar e iniciar um cluster do Amazon Redshift. | Para obter mais informações sobre isso, consulte [Criar um exemplo de cluster do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html) na documentação do Amazon Redshift. | DBA, administrador de sistemas | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migrar os dados do banco de dados Microsoft SQL Server usando o AWS DMS. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários. |  | DBA, administrador de sistemas | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Reúna métricas como tempo para migrar, porcentagem de tarefas manuais versus automatizadas e economia de custos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Feche o projeto e forneça feedback. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-resources"></a>

**Referências**
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/index.html)
+ [Documentação do Amazon Redshift](https://docs.aws.amazon.com/redshift/)
+ [Preços do Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriais e vídeos**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Uso do banco de dados Amazon Redshift como destino para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ [AWS DMS (vídeo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 

# Migre um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift usando agentes de extração de dados da AWS SCT
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents"></a>

*Neha Thakur, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-summary"></a>

Esse padrão descreve as etapas para migrar um banco de dados de origem on-premises do Microsoft SQL Server para um banco de dados de destino do Amazon Redshift usando agentes de extração de dados da AWS Schema Conversion Tool (AWS SCT). Um agente é um programa externo integrado à AWS SCT, mas executa a transformação de dados em outro local e interage com outros serviços da AWS em seu nome.   

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-prereqs"></a>

**Pré-requisitos **
+ Um banco de dados de origem Microsoft SQL Server usado para o workload do data warehouse em um datacenter on-premises
+ Uma conta AWS ativa

**Versões do produto**
+ Microsoft SQL Server versão 2008 ou mais recente. Para obter a lista mais recente de versões compatíveis, consulte a [documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-architecture"></a>

**pilha de tecnologia****Origem**
+ Um banco de dados Microsoft SQL Server on-premises

**pilha de tecnologia****Destino**
+ banco de dados de origem

**Arquitetura de migração de dados**

![\[Migração de um banco de dados do SQL Server para o Amazon Redshift por meio dos agentes de extração de dados do AWS SCT.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6975f67a-0705-47b4-a1b8-90aaa2597a04/images/dbff958b-7601-442e-9e23-4d07edd0ccfd.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-tools"></a>
+ A [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) facilita as migrações heterogêneas de banco de dados convertendo automaticamente o schema do banco de dados de origem e a maioria do código personalizado para um formato compatível com o banco de dados de destino. Quando os bancos de dados de origem e de destino são muito diferentes, você pode usar um agente do AWS SCT para realizar transformações adicionais de dados. Para obter mais informações, consulte [Migrar dados de um data warehouse on-premises para o Amazon Redshift](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.dw.html) na documentação da AWS

## Práticas recomendadas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-best-practices"></a>
+ [Melhores práticas para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html)
+ [Práticas recomendadas do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/best-practices.html)

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-epics"></a>

### Preparo para a migração
<a name="prepare-for-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar versões e mecanismos do banco de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, SysAdmin | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Escolha o tipo de instância adequado (capacidade, atributos de armazenamento e atributos de rede). |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin | 
| Escolha uma estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Configurar a infraestrutura
<a name="configure-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC) e sub-redes. |  | SysAdmin | 
| Criar grupos de segurança. |  | SysAdmin | 
| Configure e inicie o cluster do Amazon Redshift. |  | SysAdmin | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre os dados usando os agentes de extração de dados da AWS SCT. |  | DBA | 

### Migrar aplicativos
<a name="migrate-applications"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos escolhida. |  | DBA SysAdmin, proprietário do aplicativo | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA SysAdmin, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, SysAdmin | 
| Revise e valide os documentos do projeto. |  | DBA SysAdmin, proprietário do aplicativo | 
| Reúna métricas como tempo para migrar, porcentagem de tarefas manuais versus automatizadas e economia de custos. |  | DBA SysAdmin, proprietário do aplicativo | 
| Feche o projeto e forneça feedback, se houver. |  | DBA SysAdmin, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-resources"></a>

**Referências**
+ [Guia do usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Uso de agentes de extração de dados](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Preços do Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriais e vídeos**
+ [Conceitos básicos da AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)
+ [Conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

# Migre aplicativos legados do Oracle Pro\$1C para o ECPG
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg"></a>

*Sai Parthasaradhi e Mahesh Balumuri, Amazon Web Services*

## Resumo
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-summary"></a>

A maioria dos aplicativos legados que têm código SQL incorporado usa o pré-compilador do Oracle Pro\$1C para acessar o banco de dados. Ao migrar esses bancos de dados do Oracle para o Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou Amazon Aurora Edição Compatível com PostgreSQL, você precisa converter o código do aplicativo em um formato compatível com o pré-compilador no PostgreSQL, chamado ECPG. Esse padrão descreve como converter o código do Oracle Pro\$1C em seu equivalente no PostgreSQL ECPG. 

Para obter mais informações sobre o Pro\$1C, consulte a [documentação do Oracle](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415). Para obter uma breve introdução ao ECPG, consulte a seção [Informações adicionais](#migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional).

## Pré-requisitos e limitações
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados compatível com Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL
+ Um banco de dados do Oracle em execução on-premises

## Ferramentas
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-tools"></a>
+ Os pacotes do PostgreSQL listados na seção seguinte.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): o AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto para interagir com serviços da AWS por meio de comandos em seu shell de linha de comando. Com configuração mínima, você pode executar comandos da AWS CLI que implementam funcionalidade equivalente àquela fornecida pelo Console de Gerenciamento da AWS baseado em navegador a partir de um prompt de comando.

## Épicos
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-epics"></a>

### Defina o ambiente de construção no CentOS ou RHEL
<a name="set-the-build-environment-on-centos-or-rhel"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale pacotes do PostgreSQL. | Instale os pacotes PostgreSQL necessários usando os comandos a seguir.<pre>yum update -y<br />yum install -y yum-utils<br />rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm<br />dnf -qy module disable postgresql</pre> | Desenvolvedor de aplicativos, DevOps engenheiro | 
| Instale os arquivos de cabeçalho e as bibliotecas. | Instale o pacote `postgresql12-devel`, que contém arquivos de cabeçalho e bibliotecas, usando os comandos a seguir. Instale o pacote nos ambientes de desenvolvimento e de runtime para evitar erros no ambiente de execução.<pre>dnf -y install postgresql12-devel<br />yum install ncompress zip ghostscript jq unzip wget git -y</pre>Somente para o ambiente de desenvolvimento, execute também os comandos a seguir.<pre>yum install zlib-devel make -y<br />ln -s /usr/pgsql-12/bin/ecpg /usr/bin/</pre> | Desenvolvedor de aplicativos, DevOps engenheiro | 
| Configure a variável do caminho do ambiente. | Defina o caminho do ambiente para as bibliotecas de cliente do PostgreSQL.<pre>export PATH=$PATH:/usr/pgsql-12/bin</pre> | Desenvolvedor de aplicativos, DevOps engenheiro | 
| Instale software adicional conforme necessário. | Se necessário, instale o **pgLoader** como substituto do **SQL\$1Loader** no Oracle.<pre>wget -O /etc/yum.repos.d/pgloader-ccl.repo https://dl.packager.io/srv/opf/pgloader-ccl/master/installer/el/7.repo<br />yum install pgloader-ccl -y<br />ln -s /opt/pgloader-ccl/bin/pgloader /usr/bin/</pre>Se você estiver chamando qualquer aplicativo Java dos módulos Pro\$1C, instale o Java.<pre>yum install java -y</pre>Instale o **ant** para compilar o código Java.<pre>yum install ant -y</pre> | Desenvolvedor de aplicativos, DevOps engenheiro | 
| Instale a AWS CLI. | Instale a AWS CLI para executar comandos para interagir com os Serviços da AWS, como o AWS Secrets Manager e o Amazon Simple Storage Service (Amazon S3) a partir de seus aplicativos.<pre>cd /tmp/<br />curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />./aws/install -i /usr/local/aws-cli -b /usr/local/bin --update</pre> | Desenvolvedor de aplicativos, DevOps engenheiro | 
| Identifique os programas a serem convertidos. | Identifique os aplicativos que você deseja converter do Pro\$1C para ECPG. | Desenvolvedor do aplicativo, proprietário do aplicativo | 

### Converta o código Pro\$1C para ECPG
<a name="convert-pro-c-code-to-ecpg"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova os cabeçalhos indesejados. | Remova os cabeçalhos `include ` que não são necessários no PostgreSQL, como `oci.h`, `oratypes` e `sqlda`. | Proprietário do aplicativo, desenvolvedor do aplicativo | 
| Atualize as declarações de variáveis. | Adicione instruções `EXEC SQL` para todas as declarações de variáveis usadas como variáveis do host.Remova as declarações `EXEC SQL VAR`, como as seguintes, do seu aplicativo.<pre>EXEC SQL VAR query IS STRING(2048);</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Atualize a funcionalidade ROWNUM. | A função `ROWNUM` não está disponível no PostgreSQL. Substitua isso pela função de janela `ROW_NUMBER` nas consultas SQL.Código Pro\$1C:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME <br />FROM  DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%' <br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM;</pre>Código ECPG:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME , ROW_NUMBER() OVER (ORDER BY FILE_NAME DESC) AS ROWNUM<br />FROM  demo_schema.DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%'<br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM; </pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Atualize os parâmetros da função para usar variáveis de alias. | No PostgreSQL, os parâmetros da função não podem ser usados como variáveis do host. Substitua-os usando uma variável de alias.Código Pro\$1C:<pre>int processData(int referenceId){<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre>Código ECPG:<pre>int processData(int referenceIdParam){<br />  EXEC SQL int referenceId = referenceIdParam;<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Atualize os tipos de estrutura. | Defina os tipos `struct` em `EXEC SQL BEGIN` e blocos `END` com `typedef` se as variáveis ​​de tipo `struct` forem usadas como variáveis ​​de host. Se os tipos `struct` forem definidos em arquivos header (`.h`), inclua os arquivos com instruções include (incluir) `EXEC SQL`.Código Pro\$1C:Arquivo de cabeçalho (`demo.h`)<pre>struct s_partition_ranges<br />{<br /> char   sc_table_group[31];<br /> char   sc_table_name[31];<br /> char   sc_range_value[10];<br />}; <br />struct s_partition_ranges_ind<br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />}; </pre>Código ECPG:Arquivo de cabeçalho (`demo.h`)<pre>EXEC SQL BEGIN DECLARE SECTION;<br />typedef struct <br />{<br />  char   sc_table_group[31];<br />  char   sc_table_name[31];<br />  char   sc_range_value[10];<br />} s_partition_ranges; <br />typedef struct <br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />} s_partition_ranges_ind; <br />EXEC SQL END DECLARE SECTION;</pre>Arquivo Pro\$1C (`demo.pc`)<pre>#include "demo.h"<br />struct s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />struct s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;</pre>Arquivo ECPG (`demo.pc`)<pre>exec sql include "demo.h"<br />EXEC SQL BEGIN DECLARE SECTION;<br />s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;<br />EXEC SQL END DECLARE SECTION;</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Modifique a lógica para fazer buscas nos cursores. | Para buscar várias linhas nos cursores usando variáveis de matriz, altere o código a ser usado `FETCH FORWARD`.Código Pro\$1C:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL FETCH filename_cursor into :aPoeFiles;</pre>Código ECPG:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL int fetchSize = MAX_FILES;<br />EXEC SQL FETCH FORWARD :fetchSize filename_cursor into :aPoeFiles;</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Modifique as chamadas de pacotes que não têm valores de retorno. | As funções do pacote Oracle que não têm valores de retorno devem ser chamadas com uma variável indicadora. Se seu aplicativo incluir várias funções com o mesmo nome ou se as funções de tipo desconhecido gerarem erros de runtime, converta os valores para os tipos de dados.Código Pro\$1C:<pre>void ProcessData (char *data , int id)<br />{        <br />        EXEC SQL EXECUTE<br />               BEGIN<br />                  pkg_demo.process_data (:data, :id);                                                                                    <br />               END;<br />       END-EXEC;<br />}</pre>Código ECPG:<pre>void ProcessData (char *dataParam, int idParam )<br />{<br />        EXEC SQL char *data = dataParam;<br />        EXEC SQL int id = idParam;<br />        EXEC SQL short rowInd;<br />        EXEC SQL short rowInd = 0;<br />        EXEC SQL SELECT pkg_demo.process_data (<br />                       inp_data => :data::text,<br />                       inp_id => :id<br />               ) INTO :rowInd;<br />}</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Reescreva as variáveis SQL\$1CURSOR. | Reescreva a variável `SQL_CURSOR` e sua implementação.Código Pro\$1C:<pre>/* SQL Cursor */<br />SQL_CURSOR      demo_cursor;<br />EXEC SQL ALLOCATE :demo_cursor;<br />EXEC SQL EXECUTE<br />  BEGIN<br />      pkg_demo.get_cursor(     <br />        demo_cur=>:demo_cursor<br />      );<br />  END;<br />END-EXEC;</pre>Código ECPG:<pre>EXEC SQL DECLARE demo_cursor CURSOR FOR SELECT<br />         * from<br />    pkg_demo.open_filename_rc(<br />            demo_cur=>refcursor<br />          ) ;<br />EXEC SQL char open_filename_rcInd[100]; <br /># As the below function returns cursor_name as <br /># return we need to use char[] type as indicator. <br />EXEC SQL SELECT pkg_demo.get_cursor (<br />        demo_cur=>'demo_cursor'<br />    ) INTO :open_filename_rcInd;</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Aplique padrões comuns de migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-legacy-applications-from-oracle-pro-c-to-ecpg.html) | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Ative a depuração, se necessário.  | Para executar o programa ECPG no modo de depuração, adicione o seguinte comando dentro do bloco de funções principal.<pre>ECPGdebug(1, stderr); </pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 

### Compile programas ECPG
<a name="compile-ecpg-programs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um arquivo executável para o ECPG. | Se você tiver um arquivo de origem SQL C incorporado chamado `prog1.pgc`, poderá criar um programa executável usando a seguinte sequência de comandos.<pre>ecpg prog1.pgc<br />cc -I/usr/local/pgsql/include -c prog1.c<br />cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Crie um arquivo make para compilação. | Criar um arquivo make para compilar o programa ECPG, conforme mostrado no arquivo de exemplo a seguir.<pre>CFLAGS ::= $(CFLAGS) -I/usr/pgsql-12/include -g -Wall<br />LDFLAGS ::= $(LDFLAGS) -L/usr/pgsql-12/lib -Wl,-rpath,/usr/pgsql-12/lib<br />LDLIBS ::= $(LDLIBS) -lecpg<br />PROGRAMS = test <br />.PHONY: all clean<br />%.c: %.pgc<br />      ecpg $<<br />all: $(PROGRAMS)<br />clean:<br />    rm -f $(PROGRAMS) $(PROGRAMS:%=%.c) $(PROGRAMS:%=%.o)</pre> | Desenvolvedor do aplicativo, proprietário do aplicativo | 

### Teste a aplicação
<a name="test-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Teste o código. | Teste o código do aplicativo convertido para verificar se ele funciona corretamente. | Desenvolvedor de aplicativos, proprietário do aplicativo, engenheiro de teste | 

## Recursos relacionados
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-resources"></a>
+ [ECPG: SQL incorporado em C](https://www.postgresql.org/docs/current/static/ecpg.html) (documentação do PostgreSQL)
+ [Tratamento de erros](https://www.postgresql.org/docs/12/ecpg-errors.html) (documentação do PostgreSQL)
+ [Por que usar o pré-compilador do Oracle Pro\$1C/C\$1\$1](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415) (documentação do Oracle)

## Mais informações
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional"></a>

O PostgreSQL tem um pré-compilador SQL incorporado, o ECPG, que é equivalente ao pré-compilador do Oracle Pro\$1C. O ECPG converte programas C que têm instruções SQL incorporadas em código C padrão, substituindo as chamadas SQL por chamadas de funções especiais. Os arquivos de saída podem então ser processados com qualquer cadeia de ferramentas do compilador C.

**Arquivos de entrada e saída**

O ECPG converte cada arquivo de entrada especificado na linha de comando no arquivo de saída C correspondente. Se um nome de arquivo de entrada não tiver uma extensão de arquivo, será assumido o formato .pgc. A extensão do arquivo é substituída por `.c` para estruturar o nome do arquivo de saída. No entanto, você pode substituir o nome padrão do arquivo de saída usando a opção `-o`.

Se você usar um traço (`-`) como nome do arquivo de entrada, o ECPG lerá o programa da entrada padrão e gravará na saída padrão, a menos que você substitua isso usando a opção `-o`.

**Arquivos de cabeçalho**

Quando o compilador do PostgreSQL compila os arquivos de código C pré-processados, ele procura os arquivos de cabeçalho ECPG no diretório `include` do PostgreSQL. Portanto, talvez seja necessário usar a opção `-I` de apontar o compilador para o diretório correto (por exemplo,`-I/usr/local/pgsql/include`).

**Bibliotecas**

Os programas que usam código C com SQL incorporado precisam ser vinculados à biblioteca `libecpg`. Por exemplo, você pode usar as opções ` -L/usr/local/pgsql/lib -lecpg` do vinculador.

Os aplicativos ECPG convertidos chamam funções na `libpq` biblioteca por meio da biblioteca SQL incorporada (`ecpglib`) e se comunicam com o servidor PostgreSQL usando o protocolo padrão. frontend/backend 

# Migre colunas geradas virtualmente do Oracle para o PostgreSQL
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi, Rajesh Madiwale e Ramesh Pathuri, Amazon Web Services*

## Resumo
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-summary"></a>

Na versão 11 e nas anteriores, o PostgreSQL não fornece um atributo que seja diretamente equivalente a uma coluna virtual Oracle. Lidar com colunas geradas virtualmente durante a migração do banco de dados Oracle para o PostgreSQL versão 11 ou anterior é difícil por dois motivos: 
+ As colunas virtuais não são visíveis durante a migração.
+ O PostgreSQL não suporta a expressão `generate` em versões anteriores à versão 12.

No entanto, existem soluções alternativas para emular funcionalidades semelhantes. Ao usar o AWS Database Migration Service (AWS DMS) para migrar dados do banco de dados do Oracle para PostgreSQL versão 11 ou anterior, você pode usar funções de gatilho para preencher os valores em colunas geradas virtualmente. Esse padrão fornece exemplos do banco de dados Oracle e do código PostgreSQL que você pode usar para essa finalidade. Na AWS, você pode usar o Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou Amazon Aurora Edição Compatível com PostgreSQL para o seu banco de dados PostgreSQL.

A partir da versão 12 do PostgreSQL, as colunas geradas são suportadas. As colunas geradas podem ser calculadas a partir de outros valores de coluna em tempo real ou calculadas e armazenadas. As [colunas geradas do PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) são semelhantes às colunas virtuais do Oracle.

## Pré-requisitos e limitações
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle de origem 
+ Bancos de dados PostgreSQL de destino (no Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL)
+ Experiência em codificação [PL/pgSQL](https://www.postgresql.org/docs/current/plpgsql.html)

**Limitações**
+ Aplica-se somente às versões do PostgreSQL anteriores à versão 12. 
+ Aplica-se ao Oracle Database versão 11g ou superior.
+ As colunas virtuais não são suportadas nas ferramentas de migração de dados.
+ Aplica-se somente às colunas definidas na mesma tabela.
+ Se uma coluna virtual gerada se referir a uma função determinística definida pelo usuário, ela não poderá ser usada como uma coluna principal de particionamento.
+ A saída da expressão deve ser um valor escalar. Ele não pode retornar um tipo de dados fornecido pelo Oracle, um tipo definido pelo usuário, `LOB` ou `LONG RAW`.
+ Os índices definidos em colunas virtuais são equivalentes aos índices baseados em funções no PostgreSQL.
+ As estatísticas da tabela devem ser coletadas.

## Ferramentas
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-tools"></a>
+ O [pgAdmin 4](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Essa ferramenta fornece uma interface gráfica que simplifica a criação, manutenção e uso de objetos de banco de dados.
+ O [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/) é um ambiente de desenvolvimento gratuito e integrado para trabalhar com SQL em bancos de dados Oracle em implantações tradicionais e em nuvem. 

## Épicos
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-epics"></a>

### Crie tabelas de banco de dados de origem e destino
<a name="create-source-and-target-database-tables"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma tabela de origem do Oracle Database. | No Oracle Database, crie uma tabela com colunas geradas virtuais usando a instrução a seguir.<pre>CREATE TABLE test.generated_column<br />( CODE NUMBER,<br />STATUS VARCHAR2(12) DEFAULT 'PreOpen',<br />FLAG CHAR(1) GENERATED ALWAYS AS (CASE UPPER(STATUS) WHEN 'OPEN' THEN 'N' ELSE 'Y' END) VIRTUAL VISIBLE<br />);</pre>Nessa tabela de origem, os dados na coluna `STATUS` são migrados pelo AWS DMS para o banco de dados de destino. No entanto, a coluna `FLAG` é preenchida usando a funcionalidade `generate by`, portanto, essa coluna não fica visível para o AWS DMS durante a migração. Para implementar a funcionalidade de `generated by`, você deve usar gatilhos e funções no banco de dados de destino para preencher os valores na coluna `FLAG`, conforme mostrado no próximo épico. | DBA, desenvolvedor de aplicativos | 
| Crie uma tabela PostgreSQL de destino na AWS. | Crie uma tabela PostgreSQL na AWS usando a instrução a seguir.<pre>CREATE TABLE test.generated_column<br />(<br />    code integer not null,<br />    status character varying(12) not null ,<br />    flag character(1)<br />);</pre>Nessa tabela, a coluna `status` é uma coluna padrão. A coluna `flag` será uma coluna gerada com base nos dados da coluna `status`. | DBA, desenvolvedor de aplicativos | 

### Crie uma função de gatilho para lidar com a coluna virtual no PostgreSQL
<a name="create-a-trigger-function-to-handle-the-virtual-column-in-postgresql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um gatilho do PostgreSQL. | No PostgreSQL, crie um gatilho.<pre>CREATE TRIGGER tgr_gen_column<br />AFTER INSERT OR UPDATE OF status ON test.generated_column<br />FOR EACH ROW <br />EXECUTE FUNCTION test.tgf_gen_column();</pre> | DBA, desenvolvedor de aplicativos | 
| Crie uma função de gatilho do PostgreSQL. | No PostgreSQL, crie uma função para o gatilho. Essa função preenche uma coluna virtual que é inserida ou atualizada pelo aplicativo ou pelo AWS DMS e valida os dados.<pre>CREATE OR REPLACE FUNCTION test.tgf_gen_column() RETURNS trigger AS $VIRTUAL_COL$<br />BEGIN<br />IF (TG_OP = 'INSERT') THEN<br />IF (NEW.flag IS NOT NULL) THEN<br />RAISE EXCEPTION 'ERROR: cannot insert into column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF (TG_OP = 'UPDATE') THEN<br />IF (NEW.flag::VARCHAR != OLD.flag::varchar) THEN<br />RAISE EXCEPTION 'ERROR: cannot update column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF TG_OP IN ('INSERT','UPDATE') THEN<br />IF (old.flag is NULL) OR (coalesce(old.status,'') != coalesce(new.status,'')) THEN<br />UPDATE test.generated_column<br />SET flag = (CASE UPPER(status) WHEN 'OPEN' THEN 'N' ELSE 'Y' END)<br />WHERE code = new.code;<br />END IF;<br />END IF;<br />RETURN NEW;<br />END<br />$VIRTUAL_COL$ LANGUAGE plpgsql;</pre> | DBA, desenvolvedor de aplicativos | 

### Teste a migração de dados usando o AWS DMS
<a name="test-data-migration-by-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de replicação. | Para criar uma instância de replicação, siga as [instruções](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) na documentação do AWS DMS. A instância de replicação deve estar na mesma nuvem privada virtual (VPC) que os bancos de dados de origem e de destino. | DBA, desenvolvedor de aplicativos | 
| Criar endpoints de origem e de destino. | Para criar endpoints, siga as [instruções](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) na documentação do AWS DMS. | DBA, desenvolvedor de aplicativos | 
| Testar as conexões do endpoint. | Você pode testar as conexões do endpoint especificando a VPC e a instância de replicação e escolhendo **Executar teste**. | DBA, desenvolvedor de aplicativos | 
| Crie e inicie uma tarefa de carga completa. | Para obter instruções, consulte [Criação de uma tarefa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) e [Configurações de tarefa de carga completa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html) na documentação do AWS DMS. | DBA, desenvolvedor de aplicativos | 
| Valide os dados da coluna virtual. | Compare os dados na coluna virtual nos bancos de dados de origem e de destino. Você pode validar os dados manualmente ou escrever um script para essa etapa. | DBA, desenvolvedor de aplicativos | 

## Recursos relacionados
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-resources"></a>
+ [Introdução ao AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (documentação do AWS DMS)
+ [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) (documentação do AWS DMS)
+ [Uso de um banco de dados PostgreSQL como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) (documentação do AWS DMS)
+ [Colunas geradas no PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) (documentação do PostgreSQL)
+ [Funções de gatilho](https://www.postgresql.org/docs/12/plpgsql-trigger.html) (documentação do PostgreSQL)
+ [Colunas virtuais](https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402) no banco de dados Oracle (documentação do Oracle)

# Configure a funcionalidade Oracle UTL\$1FILE no Aurora compatível com PostgreSQL
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible"></a>

*Rakesh Raghav e Anuradha Chintha, Amazon Web Services*

## Resumo
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-summary"></a>

Como parte de sua jornada de migração da Oracle para Amazon Aurora Edição Compatível com PostgreSQL na nuvem da Amazon Web Services (AWS), você pode encontrar vários desafios. Por exemplo, migrar código que depende do utilitário `UTL_FILE` do Oracle é sempre um desafio. No Oracle PL/SQL, o pacote `UTL_FILE` é usado para operações de arquivo, como leitura e gravação, em conjunto com o sistema operacional subjacente. O utilitário `UTL_FILE` funciona tanto para sistemas de servidores quanto para máquinas clientes. 

O Amazon Aurora compatível com PostgreSQL é uma oferta de banco de dados gerenciado. Por causa disso, não é possível acessar arquivos no servidor do banco de dados. Esse padrão orienta você na integração do Amazon Simple Storage Service (Amazon S3) e o Amazon Aurora compatível com PostgreSQL para obter um subconjunto da funcionalidade `UTL_FILE`. Usando essa integração, podemos criar e consumir arquivos sem usar ferramentas ou serviços de extração, transformação e carregamento (ETL) de terceiros.

Opcionalmente, você pode configurar o CloudWatch monitoramento da Amazon e as notificações do Amazon SNS.

Recomendamos testar minuciosamente essa solução antes de implementá-la em um ambiente de produção.

## Pré-requisitos e limitações
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ AWS Database Migration Service (AWS DMS)
+ Experiência em PL/pgSQL codificação
+ Um cluster Amazon Aurora compatível com PostgreSQL
+ Um bucket do S3

**Limitações **

Esse padrão não fornece a funcionalidade para atuar como um substituto para o utilitário `UTL_FILE` do Oracle. No entanto, as etapas e o código de amostra podem ser aprimorados ainda mais para atingir suas metas de modernização do banco de dados.

**Versões do produto**
+ Amazon Aurora compatível com PostgreSQL Edição 11.9

## Arquitetura
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-architecture"></a>

**Pilha de tecnologias de destino**
+ Amazon Aurora compatível com PostgreSQL
+ Amazon CloudWatch
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon S3

**Arquitetura de destino**

O diagrama a seguir mostra uma representação de alto nível da solução.

![\[Os arquivos de dados são enviados para um bucket do S3, processados usando a extensão aws_s3 e enviados para a instância do Aurora.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/3aeecd46-1f87-41f9-a9cd-f8181f92e83f/images/4a6c5f5c-58fb-4355-b243-d09a15c1cec6.png)


1. Os arquivos são enviados do aplicativo para o bucket do S3.

1. A extensão `aws_s3` acessa os dados, usando PL/pgSQL, e carrega os dados para o Aurora compatível com PostgreSQL.

## Ferramentas
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-tools"></a>
+ [Amazon Aurora compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html): Amazon Aurora Edição Compatível com PostgreSQL é um mecanismo de banco de dados relacional totalmente gerenciado, compatível com PostgreSQL e compatível com ACID. Ele combina a velocidade e a confiabilidade dos bancos de dados comerciais de ponta com a relação custo-benefício dos bancos de dados de código aberto.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): o AWS Command Line Interface (AWS CLI) é uma ferramenta unificada para gerenciar os serviços da AWS. Com apenas uma ferramenta para fazer o download e configurar, você poderá controlar vários serviços da AWS pela linha de comando e automatizá-los usando scripts.
+ [Amazon CloudWatch — A](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) Amazon CloudWatch monitora os recursos e o uso do Amazon S3.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet. Nesse padrão, o Amazon S3 fornece uma camada de armazenamento para receber e armazenar arquivos para consumo e transmissão de e para o cluster compatível com o Aurora PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3): a extensão `aws_s3` integra o Amazon S3 e o Aurora compatível com PostgreSQL.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html): o Amazon Simple Notiﬁcation Service (Amazon SNS) coordena e gerencia a entrega ou envio de mensagens entre publicadores e clientes. Nesse padrão, o Amazon SNS é usado para enviar notificações.
+ [pgAdmin](https://www.pgadmin.org/docs/): o pgAdmin é uma ferramenta de gerenciamento de código aberto para o Postgres. O pgAdmin 4 fornece uma interface gráfica para criar, manter e usar objetos de banco de dados.

**Código **

Para obter a funcionalidade necessária, o padrão cria várias funções com nomenclatura semelhante a `UTL_FILE`. A seção *Informações adicionais* contém a base de código para essas funções.

No código, substitua `testaurorabucket` pelo nome do bucket do S3 de teste. Substitua `us-east-1` pela região da AWS em que está localizado o bucket do S3 de teste.

## Épicos
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-epics"></a>

### Integre o Amazon S3 e o Aurora compatível com PostgreSQL
<a name="integrate-amazon-s3-and-aurora-postgresql-compatible"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar políticas do IAM. | Crie políticas do AWS Identity and Access Management (IAM) que concedam acesso ao bucket S3 e aos objetos nele contidos. Para obter o código, consulte a seção *Informações adicionais*. | Administrador da AWS, DBA | 
| Adicione perfis de acesso do Amazon S3 ao Aurora PostgreSQL. | Crie dois perfis do IAM: um para leitura e outro para acesso de gravação ao Amazon S3. Anexe os dois perfis ao cluster compatível com o Aurora PostgreSQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.html)Para obter mais informações, consulte a documentação do Aurora compatível com PostgreSQL sobre [importação](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html) e [exportação](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html) de dados para o Amazon S3. | Administrador da AWS, DBA | 

### Configure as extensões no Aurora compatível com PostgreSQL
<a name="set-up-the-extensions-in-aurora-postgresql-compatible"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a extensão aws\$1commons. | A extensão `aws_commons` é uma dependência da extensão `aws_s3`. | DBA, Desenvolvedor | 
| Crie a extensão aws\$1s3. | A extensão `aws_s3` interage com o Amazon S3. | DBA, Desenvolvedor | 

### Valide a integração do Amazon S3 e do Aurora compatível com PostgreSQL
<a name="validate-amazon-s3-and-aurora-postgresql-compatible-integration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Teste a importação de arquivos do Amazon S3 para o Aurora PostgreSQL. | Para testar a importação de arquivos para o Aurora compatível com PostgreSQL, crie um arquivo CSV de amostra e carregue-o no bucket do S3. Crie uma definição de tabela com base no arquivo CSV e carregue o arquivo na tabela usando a função `aws_s3.table_import_from_s3`. | DBA, Desenvolvedor | 
| Teste a exportação de arquivos do Aurora PostgreSQL para o Amazon S3. | Para testar a exportação de arquivos do Aurora compatível com PostgreSQL, crie uma tabela de teste, preencha-a com dados e, em seguida, exporte os dados usando a função `aws_s3.query_export_to_s3`. | DBA, Desenvolvedor | 

### Para imitar o utilitário UTL\$1FILE, crie funções de encapsulamento
<a name="to-mimic-the-utl_file-utility-create-wrapper-functions"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o esquema utl\$1file\$1utility. | O esquema mantém as funções de encapsulamento juntas. Para criar o esquema, execute o seguinte comando.<pre>CREATE SCHEMA utl_file_utility;</pre> | DBA, Desenvolvedor | 
| Crie o tipo file\$1type. | Para criar o tipo `file_type`, use o código a seguir.<pre>CREATE TYPE utl_file_utility.file_type AS (<br />    p_path character varying(30),<br />    p_file_name character varying<br />);<br /><br /><br /></pre> | DBA/Desenvolvedor | 
| Crie a função init. | A função `init` inicializa uma variável comum, como `bucket` ou `region`. Para obter o código, consulte a seção *Informações adicionais*. | DBA/Desenvolvedor | 
| Crie as funções de encapsulamento. | Crie as funções de encapsulamento `fopen`, `put_line` e `fclose`. Para obter o código, consulte a seção *Informações adicionais*. | DBA, Desenvolvedor | 

### Teste as funções de encapsulamento
<a name="test-the-wrapper-functions"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Teste as funções de encapsulamento no modo de gravação. | Para testar as funções de encapsulamento no modo de gravação, use o código fornecido na seção *Informações adicionais*. | DBA, Desenvolvedor | 
| Teste as funções de encapsulamento no modo de acréscimo. | Para testar as funções de encapsulamento no modo de acréscimo, use o código fornecido na seção *Informações adicionais*. | DBA, Desenvolvedor | 

## Recursos relacionados
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-resources"></a>
+ [Integração do Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Aurora](https://aws.amazon.com/rds/aurora/?nc2=h_ql_prod_db_aa&aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [Amazon SNS](https://aws.amazon.com/sns/?nc2=h_ql_prod_ap_sns&whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)

## Mais informações
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-additional"></a>

**Configurar políticas do IAM**

Crie as políticas a seguir.


| 
| 
| Nome da política | JSON | 
| --- |--- |
| S3 IntRead | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />         "arn:aws:s3:::testaurorabucket/*",<br />         "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 
| S3 IntWrite | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",                <br />                "s3:ListBucket"<br />            ],<br />            "Resource": [                "arn:aws:s3:::testaurorabucket/*",                "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 

**Crie a função init**

Para inicializar variáveis comuns, como `bucket` ou `region`, crie a função `init` usando o código a seguir.

```
CREATE OR REPLACE FUNCTION utl_file_utility.init(
    )
    RETURNS void
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
BEGIN
      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 'region' )
      , 'us-east-1'::text
      , false );

      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 's3bucket' )
      , 'testaurorabucket'::text
      , false );
END;
$BODY$;
```

**Criar as funções de encapsulamento**

Crie as funções `fopen`, `put_line` e `fclose` de encapsulamento 

*fopen*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fopen(
    p_file_name character varying,
    p_path character varying,
    p_mode character DEFAULT 'W'::bpchar,
    OUT p_file_type utl_file_utility.file_type)
    RETURNS utl_file_utility.file_type
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
declare
    v_sql character varying;
    v_cnt_stat integer;
    v_cnt integer;
    v_tabname character varying;
    v_filewithpath character varying;
    v_region character varying;
    v_bucket character varying;

BEGIN
    /*initialize common variable */
    PERFORM utl_file_utility.init();
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
    
    /* set tabname*/
    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;
    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region;
    
    /* APPEND MODE HANDLING; RETURN EXISTING FILE DETAILS IF PRESENT ELSE CREATE AN EMPTY FILE */
    IF p_mode = 'A' THEN
        v_sql := concat_ws('','create temp table if not exists ', v_tabname,' (col1 text)');
        execute v_sql;

        begin
        PERFORM aws_s3.table_import_from_s3 
            ( v_tabname, 
            '',  
            'DELIMITER AS ''#''', 
            aws_commons.create_s3_uri 
            (     v_bucket, 
                v_filewithpath ,
                v_region)
            );
        exception
            when others then
             raise notice 'File load issue ,%',sqlerrm;
             raise;
        end;
        execute concat_ws('','select count(*) from ',v_tabname) into v_cnt;

        IF v_cnt > 0 
        then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
        else         
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );

            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;        
        end if;
        v_sql := concat_ws('','drop table ', v_tabname);        
        execute v_sql;            
    ELSEIF p_mode = 'W' THEN
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
    END IF;    
    
EXCEPTION
        when others then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
            raise notice 'fopenerror,%',sqlerrm;
            raise;
END;
$BODY$;
```

*put\$1line*

```
CREATE OR REPLACE FUNCTION utl_file_utility.put_line(
    p_file_name character varying,
    p_path character varying,
    p_line text,
    p_flag character DEFAULT 'W'::bpchar)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
/**************************************************************************
* Write line, p_line in windows format to file, p_fp - with carriage return
* added before new line.
**************************************************************************/
declare
    v_sql varchar;
    v_ins_sql varchar;
    v_cnt INTEGER;
    v_filewithpath character varying;
    v_tabname  character varying;
    v_bucket character varying;
    v_region character varying;    

BEGIN
 PERFORM utl_file_utility.init();

/* check if temp table already exist */

 v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );

 v_sql := concat_ws('','select count(1) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace where n.nspname like ''pg_temp_%''' 
                         ,' AND pg_catalog.pg_table_is_visible(c.oid) AND Upper(relname) = Upper( '''
                         ,  v_tabname ,''' ) ');
  
 execute v_sql into v_cnt;
  
  IF v_cnt = 0 THEN
         v_sql := concat_ws('','create temp table ',v_tabname,' (col text)');
        execute v_sql;
        /* CHECK IF APPEND MODE */
        IF upper(p_flag) = 'A' THEN
            PERFORM utl_file_utility.init();                        
            v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
            v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
            
            /* set tabname*/            
            v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;            
            
            begin
               PERFORM aws_s3.table_import_from_s3 
                     ( v_tabname, 
                          '',  
                       'DELIMITER AS ''#''', 
                        aws_commons.create_s3_uri 
                           ( v_bucket, 
                               v_filewithpath, 
                               v_region    )
                    );
            exception
                when others then
                    raise notice  'Error Message : %',sqlerrm;
                    raise;
            end;    
        END IF;    
    END IF;
    /* INSERT INTO TEMP TABLE */              
    v_ins_sql := concat_ws('','insert into ',v_tabname,' values(''',p_line,''')');
    execute v_ins_sql;
    RETURN TRUE;
    exception
            when others then
                raise notice  'Error Message : %',sqlerrm;
                raise;
END;
$BODY$;
```

*fclose*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fclose(
    p_file_name character varying,
    p_path character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
DECLARE
    v_filewithpath character varying;
    v_bucket character varying;
    v_region character varying;
    v_tabname character varying;
    v_sql character varying;
BEGIN
      PERFORM utl_file_utility.init();
  
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );

    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;

    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region ;
    
    /* exporting to s3 */
    perform aws_s3.query_export_to_s3
        (concat_ws('','select * from ',v_tabname,'  order by ctid asc'), 
            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)
        );
    v_sql := concat_ws('','drop table ', v_tabname);
    execute v_sql;    
    RETURN TRUE;
EXCEPTION 
       when others then
     raise notice 'error fclose %',sqlerrm;
     RAISE;
END;
$BODY$;
```

**Teste suas funções de configuração e encapsulamento**

Use os seguintes blocos de código anônimo para testar sua configuração.

*Teste o modo de gravação*

O código a seguir grava um arquivo chamado `s3inttest` no bucket do S3.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'W';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

*Teste o modo de acréscimo*

O código a seguir acrescenta linhas ao arquivo `s3inttest` que foi criado no teste anterior.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'A';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;


select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose : append 1', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket : for test purpose : append 2', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

**Notificações do Amazon SNS**

Opcionalmente, você pode configurar o CloudWatch monitoramento da Amazon e as notificações do Amazon SNS no bucket do S3. Para obter mais informações, consulte [Monitoramento do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-overview.html) e [Configuração das notificações do Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

# Valide objetos de banco de dados após migrar do Oracle para o Amazon Aurora PostgreSQL
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql"></a>

*Venkatramana Chintha e Eduardo Valentim, Amazon Web Services*

## Resumo
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-summary"></a>

Esse padrão descreve uma step-by-step abordagem para validar objetos após a migração de um banco de dados Oracle para a edição compatível com o Amazon Aurora PostgreSQL.

Este padrão descreve cenários de uso e etapas para validação de objetos de banco de dados; para informações mais detalhadas, consulte [Validar objetos de banco de dados após a migração usando o AWS SCT e o AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/) no [blog do AWS Database.](https://aws.amazon.com/blogs/)

## Pré-requisitos e limitações
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle on-premises que foi migrado para um banco de dados Aurora compatível com PostgreSQL. 
+ Credenciais de login que tenham a RDSData FullAccess política da [Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html) aplicada para o banco de dados compatível com o Aurora PostgreSQL. 
+ Este padrão usa o [editor de consultas para clusters de banco de dados do Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), que está disponível no console do Amazon Relational Database Service (Amazon RDS). No entanto, você pode usar esse padrão com qualquer outro editor de consultas. 

**Limitações**
+ Os objetos SYNONYM do Oracle não estão disponíveis no PostgreSQL, mas podem ser parcialmente validados por meio de **visualizações** ou consultas SET search\$1path.
+ O editor de consultas do Amazon RDS está disponível somente em [determinadas regiões da AWS e para determinadas versões do MySQL e do PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html).

## Arquitetura
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-architecture"></a>

 

![\[Database migration workflow showing on-premises Oracle to AWSAurora PostgreSQL via client program and validation scripts.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7c028960-6dea-46ad-894d-e42cefd50c03/images/be5f8ae3-f5af-4c5e-9440-09ab410beaa1.png)


 

## Ferramentas
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-tools"></a>

**Ferramentas**
+ [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html): o Aurora compatível com PostgreSQL é um mecanismo de banco de dados relacional totalmente gerenciado, compatível com o PostgreSQL e em conformidade com ACID, que combina a velocidade e a confiabilidade de bancos de dados comerciais de ponta com a simplicidade e a economia de bancos de dados de código aberto.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html): o Amazon Relational Database Service (Amazon RDS) facilita a configuração, a operação e escalabilidade de um banco de dados relacional na Nuvem AWS. Ele fornece capacidade econômica e redimensionável para um banco de dados relacional padrão do setor e gerencia tarefas comuns de administração de banco de dados.
+ [Editor de consultas para Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html): o editor de consultas ajuda você a executar consultas SQL no console do Amazon RDS. Execute qualquer instrução SQL válida no cluster de banco de dados do Aurora Serverless, inclusive instruções de manipulação e definição de dados.

Para realizar a validação dos objetos, use os scripts integrais presentes no arquivo “Scripts de validação de objetos”, localizado na seção “Anexos”. Use a tabela a seguir como referência.


| 
| 
| Objeto Oracle | Script a ser usado | 
| --- |--- |
| Pacotes | Consulta 1 | 
| Tabelas | Consulta 3 | 
| Visualizações | Consulta 5 | 
| Sequências | Consulta 7 | 
| Acionadores |  Consulta 9 | 
| Chaves primárias | Consulta 11 | 
| Índices | Consulta 13 | 
| Restrições de verificação | Consulta 15 | 
| Chaves externas  | Consulta 17  | 


| 
| 
| Objeto PostgreSQL | Script a ser usado | 
| --- |--- |
| Pacotes | Consulta 2 | 
| Tabelas | Consulta 4 | 
| Visualizações | Consulta 6 | 
| Sequências | Consulta 8 | 
| Acionadores | Consulta 10 | 
| Chaves primárias | Consulta 12 | 
| Índices | Consulta 14 | 
| Restrições de verificação | Consulta 16 | 
| Chaves externas | Consulta 18 | 

## Épicos
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-epics"></a>

### Validar objetos no banco de dados Oracle de origem
<a name="validate-objects-in-the-source-oracle-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute uma consulta de validação para “pacotes” no banco de dados de origem da Oracle.  | Realize o download e abra o arquivo “Scripts de validação de objetos”, localizado na seção “Anexos” Conecte-se ao banco de dados Oracle de origem por meio de seu programa cliente. Execute o script de validação “Consulta 1” do arquivo “Scripts de validação de objetos”. Importante: substitua “your\$1schema” pelo seu nome de usuário da Oracle nas consultas. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “tabelas”.  | Execute o script “Consulta 3” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “visualizações”.  | Execute o script “Consulta 5” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a validação de contagem para as “sequências”.  | Execute o script “Consulta 7” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “acionadores”.  | Execute o script “Consulta 9” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “chaves primárias”.  | Execute o script “Consulta 11” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “índices”.  | Execute o script de validação “Consulta 13” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “restrições de verificação”.  | Execute o script “Consulta 15” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “chaves estrangeiras”.  | Execute o script de validação “Consulta 17” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 

### Valide objetos no banco de dados Aurora de destino compatível com PostgreSQL
<a name="validate-objects-in-the-target-aurora-postgresql-compatible-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Conecte-se ao banco de dados Aurora de destino compatível com PostgreSQL usando o editor de consultas. | Faça login no Console de Gerenciamento da AWS e abra o console do Amazon RDS. No canto superior direito, escolha a região da AWS em que o banco de dados Aurora compatível com PostgreSQL foi criado. No painel de navegação, escolha “Bancos de dados” e selecione o banco de dados de destino do Aurora compatível com PostgreSQL. Em “Ações”, escolha “Consulta”. Importante: se esta for sua primeira conexão com o banco de dados, a página “Conectar-se ao banco de dados” será aberta. Em seguida, você precisa inserir as informações do banco de dados, como nome de usuário e senha. | Desenvolvedor, DBA | 
| Execute a consulta de validação “pacotes”. | Execute o script “Consulta 2” do arquivo “Scripts de validação de objetos” na seção “Anexos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “tabelas”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 4” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “visualizações”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 6” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a validação de contagem para as “sequências”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 8” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “acionadores”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 10” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “chaves primárias”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 12” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “índices”.  | Retorne ao editor de consultas do banco de dados do Aurora compatível com PostgreSQL e execute o script “Consulta 14” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “restrições de verificação”.  | Execute o script “Consulta 16” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 
| Execute a consulta de validação “chaves estrangeiras”.  | Execute o script de validação “Consulta 18” do arquivo “Scripts de validação de objetos”. Certifique-se de registrar seus resultados da consulta. | Desenvolvedor, DBA | 

### Compare os registros de validação do banco de dados de origem e destino
<a name="compare-source-and-target-database-validation-records"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Compare e valide ambos os resultados da consulta.  | Compare os resultados da consulta dos bancos de dados Oracle e Aurora compatíveis com PostgreSQL para validar todos os objetos. Se todos corresponderem, todos os objetos foram validados com sucesso. | Desenvolvedor, DBA | 

## Recursos relacionados
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-resources"></a>
+ [Validar objetos de banco de dados após uma migração usando o AWS SCT e o AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)
+ [Atributos do Amazon Aurora: Edição compatível com PostgreSQL](https://aws.amazon.com/rds/aurora/postgresql-features/)

## Anexos
<a name="attachments-7c028960-6dea-46ad-894d-e42cefd50c03"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/7c028960-6dea-46ad-894d-e42cefd50c03/attachments/attachment.zip)

# Redefinir a hospedagem
<a name="migration-rehost-pattern-list"></a>

**Topics**
+ [Aceleração da descoberta e da migração de workloads da Microsoft para a AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Crie um processo de aprovação para solicitações de firewall durante uma migração de rehospedagem para AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)
+ [Ingira e migre instâncias EC2 do Windows para uma conta do AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migrar um banco de dados do Couchbase Server para a Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migre o Db2 for LUW para a Amazon EC2 usando o envio de registros para reduzir o tempo de interrupção](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migre o Db2 for LUW para o Amazon EC2 com recuperação de desastres de alta disponibilidade](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migre aplicativos hospedados no IIS para a Amazon EC2 usando o appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2 usando o Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migre uma carga de trabalho F5 BIG-IP para F5 BIG-IP VE no Nuvem AWS](migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud.md)
+ [Migrar um aplicativo web do Go on-premises para AWS Elastic Beanstalk usando o método binário](migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.md)
+ [Migrar um servidor SFTP local para usar AWS AWS Transfer for SFTP](migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp.md)
+ [Migre uma VM local para a Amazon EC2 usando o AWS Application Migration Service](migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.md)
+ [Migre pequenos conjuntos de dados do local para o Amazon S3 usando AWS SFTP](migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp.md)
+ [Migre um banco de dados Oracle local para o Oracle na Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migre um banco de dados Oracle local para a Amazon EC2 usando o Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migre sistemas RHEL BYOL para instâncias com licença incluída da AWS usando o AWS MGN](migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.md)
+ [Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Redefinir a hospedagem de workloads on-premises na Nuvem AWS: lista de verificação de migração](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Configure a infraestrutura Multi-AZ para um SQL Server Always On FCI usando a Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)
+ [Use as consultas do BMC Discovery para extrair dados de migração para o planejamento da migração](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Aceleração da descoberta e da migração de workloads da Microsoft para a AWS
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws"></a>

*Ali Alzand, Amazon Web Services*

## Resumo
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-summary"></a>

Esse padrão mostra como usar o [ PowerShell módulo Migration Validator Toolkit](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads) para descobrir e migrar suas cargas de trabalho da Microsoft para a AWS. O módulo funciona executando várias verificações e validações para tarefas comuns associadas a qualquer workload da Microsoft. Por exemplo, o módulo realiza verificações em instâncias que podem ter múltiplos discos conectados ou que usam vários endereços IP. Para obter uma lista completa das verificações que o módulo pode realizar, consulte a seção [Verificações](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads#checks) na GitHub página do módulo.

O PowerShell módulo Migration Validator Toolkit pode ajudar sua organização a reduzir o tempo e o esforço envolvidos na descoberta de quais aplicativos e serviços estão sendo executados em suas cargas de trabalho da Microsoft. O módulo também pode ajudar a identificar as configurações de suas workloads para que você possa descobrir se há suporte para suas configurações na AWS. O módulo também fornece recomendações para as próximas etapas e ações de mitigação, para que você possa evitar configurações incorretas antes, durante ou depois da migração.

## Pré-requisitos e limitações
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-prereqs"></a>

**Pré-requisitos **
+ Conta de administrador local
+ PowerShell 4.0

**Limitações**
+ Funciona somente no Microsoft Windows Server 2012 R2 ou posterior

## Ferramentas
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-tools"></a>

**Ferramentas**
+ PowerShell 4.0

**Repositório de código**

O PowerShell módulo Migration Validator Toolkit para esse padrão está disponível no repositório GitHub [migration-validator-toolkit-for-microsoft-workloads](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads).

## Épicos
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-epics"></a>

### Execute o PowerShell módulo Migration Validator Toolkit em um único destino
<a name="run-the-migration-validator-toolkit-powershell-module-on-a-single-target"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe, extraia, importe e invoque o módulo. | Escolha um dos métodos a seguir para baixar e implantar o módulo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Execute o PowerShell script**Em PowerShell, execute o seguinte código de exemplo:<pre>#MigrationValidatorToolkit<br />$uri = 'https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads/archive/refs/heads/main.zip'<br />$destination = (Get-Location).Path<br />if ((Test-Path -Path "$destination\MigrationValidatorToolkit.zip" -PathType Leaf) -or (Test-Path -Path "$destination\MigrationValidatorToolkit")) {<br />    write-host "File $destination\MigrationValidatorToolkit.zip or folder $destination\MigrationValidatorToolkit found, exiting"<br />}else {<br />    Write-host "Enable TLS 1.2 for this PowerShell session only."<br />    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />    $webClient = New-Object System.Net.WebClient<br />    Write-host "Downloading MigrationValidatorToolkit.zip"<br />    $webClient.DownloadFile($uri, "$destination\MigrationValidatorToolkit.zip")<br />    Write-host "MigrationValidatorToolkit.zip download successfully"<br />    Add-Type -Assembly "system.io.compression.filesystem"<br />    [System.IO.Compression.ZipFile]::ExtractToDirectory("$destination\MigrationValidatorToolkit.zip","$destination\MigrationValidatorToolkit")<br />    Write-host "Extracting MigrationValidatorToolkit.zip complete successfully"<br />    Import-Module "$destination\MigrationValidatorToolkit\migration-validator-toolkit-for-microsoft-workloads-main\MigrationValidatorToolkit.psm1"; Invoke-MigrationValidatorToolkit<br />}</pre>O código baixa o módulo de um arquivo.zip. Em seguida, o código extrai, importa e invoca o módulo.**Baixe e extraia o arquivo.zip**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Clone o repositório GitHub **[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrador de sistema | 
| Invoque o módulo manualmente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)[Formato - Formato da tabela](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit</pre>[Formato da lista de formatos](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-list?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -List</pre>[GridViewFormato externo:](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-gridview?view=powershell-7.3)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -GridView</pre>[ConvertTo-Formato CSV:](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertto-csv?view=powershell-7.3)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -csv</pre> | Administrador de sistema | 

### Execute o PowerShell módulo Migration Validator Toolkit em vários destinos
<a name="run-the-migration-validator-toolkit-powershell-module-on-multiple-targets"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o arquivo.zip ou clone o GitHub repositório. | Escolha uma das seguintes opções:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>git clone https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads.git</pre> | Administrador de sistema | 
| Atualize a lista server.csv. | Se você baixou o arquivo.zip, siga estas etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrador de sistema | 
| Invoque o módulo. | Você pode usar qualquer computador dentro do domínio que use um usuário de domínio que tenha acesso de administrador aos computadores de destino.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-DomainComputers</pre>O arquivo.csv de saída é salvo `MigrationValidatorToolkit\Outputs\folder` com o nome do prefixo. `DomainComputers_MigrationAutomations_YYYY-MM-DDTHH-MM-SS` | Administrador de sistema | 

## Solução de problemas
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| `MigrationValidatorToolkit`grava informações sobre execuções, comandos e erros nos arquivos de log no host em execução. | Você pode visualizar os arquivos de log manualmente no seguinte local:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | 

## Recursos relacionados
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-resources"></a>
+ [Opções, ferramentas e melhores práticas para migrar cargas de trabalho da Microsoft para a AWS (AWS Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-microsoft-workloads-aws/introduction.html) Guidance)
+ [Padrões de migração da Microsoft](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migration-migration-patterns-by-workload-microsoft-pattern-list.html) (AWS Prescriptive Guidance)
+ [Serviços gratuitos de migração para a nuvem na AWS](https://aws.amazon.com/free/migration/) (documentação da AWS)
+ [Ações predefinidas de pós-lançamento (documentação](https://docs.aws.amazon.com/mgn/latest/ug/predefined-post-launch-actions.html) de marketing de aplicativos)

## Mais informações
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-additional"></a>

**Perguntas frequentes**

*Onde posso executar o módulo Migration Validator Toolkit PowerShell ?*

Você pode executar o módulo no Microsoft Windows Server 2012 R2 ou posterior.

*Quando eu executo esse módulo?*

Recomendamos que você execute o módulo durante a [fase de avaliação](https://aws.amazon.com/cloud-migration/how-to-migrate/) da jornada de migração.

*O módulo modifica meus servidores existentes?*

Não. Todas as ações neste módulo são somente para leitura.

*Quanto tempo é necessário para executar o módulo?*

Normalmente, a execução do módulo leva de 1 a 5 minutos, mas isso depende da alocação de recursos do seu servidor.

*Quais permissões o módulo precisa para ser executado?*

Você deve executar o módulo a partir de uma conta de administrador local.

*Posso executar o módulo em servidores físicos?*

Sim, desde que o sistema operacional seja o Microsoft Windows Server 2012 R2 ou posterior.

*Como faço para executar o módulo em grande escala para vários servidores?*

Para executar o módulo em vários computadores associados a um domínio em grande escala, siga as etapas do * PowerShell módulo Executar o kit de ferramentas do Migration Validator em vários destinos*, épico deste guia. Para computadores não associados a um domínio, use uma invocação remota ou execute o módulo localmente seguindo as etapas do módulo Executar o *kit de ferramentas do Migration Validator em um único épico de PowerShell destino* deste guia.

# Crie um processo de aprovação para solicitações de firewall durante uma migração de rehospedagem para AWS
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Resumo
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-summary"></a>

Se você quiser usar [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)o [Cloud Migration Factory ativado AWS](https://aws.amazon.com/solutions/implementations/cloud-migration-factory-on-aws/) para rehospedar a migração para o Nuvem AWS, um dos pré-requisitos é manter as portas TCP 443 e 1500 abertas. Normalmente, a abertura dessas portas de firewall requer a aprovação da equipe de segurança da informação (InfoSec).

Esse padrão descreve o processo para obter a aprovação de uma solicitação de firewall de uma InfoSec equipe durante uma migração de rehospedagem para o. Nuvem AWS Você pode usar esse processo para evitar rejeições de sua solicitação de firewall pela InfoSec equipe, o que pode se tornar caro e demorado. O processo de solicitação de firewall tem duas etapas de revisão e aprovação entre consultores de AWS migração e líderes que trabalham com você InfoSec e com as equipes de aplicativos para abrir as portas do firewall.

Esse padrão pressupõe que você esteja planejando uma migração de rehospedagem com AWS consultores ou especialistas em migração da sua organização. Você pode usar esse padrão se sua organização não tiver um processo de aprovação de firewall ou um formulário de aprovação geral de solicitação de firewall. Para obter mais informações sobre isso, consulte a seção *Limitações* desse padrão. Para obter mais informações sobre os requisitos de rede do Application Migration Service, consulte [Requisitos de rede](https://docs.aws.amazon.com/mgn/latest/ug/Network-Requirements.html) na documentação do Application Migration Service.

## Pré-requisitos e limitações
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-prereqs"></a>

**Pré-requisitos **
+ Uma migração planejada de rehospedagem com AWS consultores ou especialistas em migração de sua organização
+ As informações de porta e IP necessárias para migrar a pilha
+ Diagramas de arquitetura de estado existentes e futuros
+ Informações de firewall sobre a infraestrutura local e de destino, portas e zone-to-zone fluxo de tráfego
+ Uma lista de verificação de revisão de solicitações de firewall (anexada)
+ Um documento de solicitação de firewall, configurado de acordo com os requisitos da sua organização
+ Uma lista de contatos para os revisores e aprovadores do firewall, incluindo as seguintes funções:
  + **Remetente da solicitação de firewall — especialista ou consultor** em AWS migração. O remetente da solicitação de firewall também pode ser um especialista em migração da sua organização.
  + **Revisor de solicitações de firewall** — Normalmente, esse é o ponto único de contato (SPOC) de. AWS
  + **Aprovador da solicitação de firewall** — Um membro InfoSec da equipe.

**Limitações**
+ Esse padrão descreve um processo genérico de aprovação de solicitações de firewall. Os requisitos podem variar para organizações individuais.
+ Certifique-se de monitorar as alterações em seu documento de solicitação de firewall.

A tabela a seguir mostra os casos de uso desse padrão.


| 
| 
| Sua organização tem um processo de aprovação de firewall existente? | Sua organização tem um formulário de solicitação de firewall existente?  | Ação sugerida | 
| --- |--- |--- |
| Sim | Sim | Colabore com AWS consultores ou especialistas em migração para implementar o processo de sua organização. | 
| Não | Sim | Use o processo de aprovação do firewall desse padrão. Use um AWS consultor ou um especialista em migração da sua organização para enviar o formulário de aprovação geral de solicitação de firewall. | 
| Não | Não | Use o processo de aprovação do firewall desse padrão. Use um AWS consultor ou um especialista em migração da sua organização para enviar o formulário de aprovação geral de solicitação de firewall. | 

## Arquitetura
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-architecture"></a>

O diagrama a seguir mostra as etapas do processo de aprovação da solicitação do firewall.

![\[Processo para aprovação de solicitação de firewall de uma InfoSec equipe durante uma migração de rehospedagem para a Nuvem AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cf9b58ad-ab6f-43d3-92da-968529c8d042/images/c672f7ce-6e9f-4dbc-bf2c-4272a6c4432b.png)


## Ferramentas
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-tools"></a>

Você pode usar ferramentas de scanner, como a [Palo Alto Networks](https://www.paloaltonetworks.com/), ou [SolarWinds](https://www.solarwinds.com/)para analisar e validar firewalls e endereços IP.

## Épicos
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-epics"></a>

### Analise a solicitação de firewall
<a name="analyze-the-firewall-request"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analise as portas e os endereços IP. | O remetente da solicitação de firewall conclui uma análise inicial para entender as portas de firewall e os endereços IP necessários. Depois que isso for concluído, eles solicitam que sua InfoSec equipe abra as portas necessárias e mapeie os endereços IP. | Engenheiro de nuvem AWS, especialista em migração | 

### Valide a solicitação de firewall
<a name="validate-the-firewall-request"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as informações do firewall. | O Nuvem AWS engenheiro agenda uma reunião com sua InfoSec equipe. Durante essa reunião, o engenheiro examina e valida as informações da solicitação do firewall.Normalmente, o remetente da solicitação de firewall é a mesma pessoa que o solicitante do firewall. Essa fase de validação pode se tornar iterativa com base no feedback dado pelo aprovador, caso algo seja observado ou recomendado. | Engenheiro de nuvem AWS, especialista em migração | 
| Atualize o documento de solicitação do firewall. | Depois que a InfoSec equipe compartilha seus comentários, o documento de solicitação do firewall é editado, salvo e reenviado. Este documento é atualizado após cada iteração.Recomendamos que você armazene esse documento em uma pasta de armazenamento com controle de versão. Isso significa que todas as alterações são rastreadas e aplicadas corretamente. | Engenheiro de nuvem AWS, especialista em migração | 

### Envie a solicitação de firewall
<a name="submit-the-firewall-request"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Envie a solicitação de firewall. | Depois que o aprovador da solicitação de firewall aprova a solicitação de aprovação geral do firewall, o Nuvem AWS engenheiro envia a solicitação de firewall. A solicitação especifica as portas que devem ser abertas e os endereços IP que precisam ser mapeados e atualizados na Conta da AWS.Você pode fazer sugestões ou fornecer feedback após o envio da solicitação do firewall. Recomendamos que você automatize esse processo de feedback e envie qualquer edição por meio de um mecanismo de fluxo de trabalho definido.  | Engenheiro de nuvem AWS, especialista em migração | 

## Anexos
<a name="attachments-cf9b58ad-ab6f-43d3-92da-968529c8d042"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/cf9b58ad-ab6f-43d3-92da-968529c8d042/attachments/attachment.zip)

# Ingira e migre instâncias EC2 do Windows para uma conta do AWS Managed Services
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account"></a>

*Anil Kunapareddy e Venkatramana Chintha, Amazon Web Services*

## Resumo
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-summary"></a>

Esse padrão explica o step-by-step processo de migração e ingestão de instâncias Windows do Amazon Elastic Compute Cloud (Amazon EC2) em uma conta do Amazon Web Services (AWS) Managed Services (AMS). O AMS pode ajudar você a gerenciar a instância com mais eficiência e segurança. O AMS fornece flexibilidade operacional, aprimora a segurança e a conformidade, além de ajudar a otimizar a capacidade e reduzir custos.

Esse padrão começa com uma instância EC2 do Windows que você migrou para uma sub-rede de teste na sua conta do AMS. Vários serviços e ferramentas de migração estão disponíveis para realizar essa tarefa, como o AWS Application Migration Service.

Para fazer uma alteração em seu ambiente gerenciado pelo AMS, você cria e envia uma solicitação de alteração (RFC) para uma operação ou ação específica. Usando uma RFC de ingestão de workload (WIGS) do AMS, você ingere a instância na conta do AMS e cria uma imagem de máquina da Amazon (AMI) personalizada. Em seguida, você cria a EC2 instância gerenciada pelo AMS enviando outra RFC para criar uma pilha. EC2 Para obter mais informações, consulte [Ingestão de workload AMS](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html) na documentação do AMS.

## Pré-requisitos e limitações
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-prereqs"></a>

**Pré-requisitos **
+ Uma conta da AWS ativa e gerenciada pelo AMS
+ Uma zona de pouso existente
+ Permissões para fazer alterações na VPC gerenciada pelo AMS
+ Uma instância EC2 do Amazon Windows em uma sub-rede de teste em sua conta AMS
+ Conclusão dos [pré-requisitos gerais](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-prereqs.html) para migrar workloads usando a WIGS do AMS
+ Conclusão dos [pré-requisitos do Windows](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-prereqs-win.html) para migrar workloads usando a WIGS do AMS

**Limitações**
+ Esse padrão é para EC2 instâncias que operam o Windows Server. Este padrão não se aplica a instâncias que executam outros sistemas operacionais, como Linux.

## Arquitetura
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-architecture"></a>

**Pilha de tecnologia de origem**

Instância EC2 do Amazon Windows em uma sub-rede de teste em sua conta AMS

**Pilha de tecnologias de destino**

Instância EC2 do Amazon Windows gerenciada pelo AWS Managed Services (AMS)

**Arquitetura de destino**

![\[Processo para migrar e ingerir instâncias EC2 do Amazon Windows em uma conta do AWS Managed Services.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/393c21cb-b6c6-4446-b597-b62e29fdb7f8/images/0b2fa855-7460-49f8-9e7f-3485e6ce1745.png)


## Ferramentas
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-tools"></a>

**Serviços da AWS**
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html) fornece capacidade de computação escalável na Nuvem AWS. Você pode usar EC2 a Amazon para lançar quantos servidores virtuais precisar e pode expandir ou aumentar a escala.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Managed Services (AMS)](https://docs.aws.amazon.com/managedservices/?id=docs_gateway) ajuda você a operar com mais eficiência e segurança ao fornecer gerenciamento contínuo da sua infraestrutura da AWS, incluindo monitoramento, gerenciamento de incidentes, orientação de segurança, suporte a patches e backup para workloads da AWS.

**Outros serviços**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)é um programa de gerenciamento de automação e configuração da Microsoft executado em Windows, Linux e macOS.

## Épicos
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-epics"></a>

### Definir configurações na instância
<a name="configure-settings-on-the-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Altere as configurações do Cliente DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 
| Altere as configurações do Windows Update. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 
| Ativar o firewall. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 

### Prepare a instância para o WIGS do AMS
<a name="prepare-the-instance-for-ams-wigs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe e prepare a instância. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 
| Repare o arquivo sppnp.dll. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 
| Execute o script de validação pré-WIG. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 
| Crie a AMI à prova de falhas. | Depois que a validação pré-WIG for aprovada, crie uma AMI de pré-ingestão da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html)Para obter mais informações, consulte [AMI \$1 Criar](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) na documentação do AMS. | Engenheiro de migração | 

### Ingerir e validar a instância
<a name="ingest-and-validate-the-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Envie a RFC para criar a pilha de ingestão de workload. | Envie uma solicitação de alteração (RFC) para iniciar a WIGS do AMS. Para obter instruções, consulte [Pilha de ingestão de workload: criação](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-workload-ingest-col.html) na documentação do AMS. Isso inicia a ingestão da carga de trabalho e instala todo o software exigido pelo AMS, incluindo ferramentas de backup, software de EC2 gerenciamento da Amazon e software antivírus. | Engenheiro de migração | 
| Valide a migração bem-sucedida. | Depois que a ingestão de workload for concluída, você poderá ver a instância gerenciada pelo AMS e a AMI ingerida pelo AMS.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 

### Executar a instância na conta da AMS de destino
<a name="launch-the-instance-in-the-target-ams-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Envie o RFC para criar uma EC2 pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Engenheiro de migração | 

## Recursos relacionados
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-resources"></a>

**Recomendações da AWS**
+ [Automatize as atividades de pré-ingestão de workload para o AWS Managed Services no Windows](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automate-pre-workload-ingestion-activities-for-aws-managed-services-on-windows.html)
+ [Crie automaticamente uma RFC no AMS usando Python](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html?did=pg_card&trk=pg_card)

**Documentação do AMS**
+ [Ingestão de workload do AMS](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html)
+ [Como a migração altera seu recurso](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-changes.html)
+ [Migração de workloads: processo padrão](https://docs.aws.amazon.com/managedservices/latest/appguide/mp-migrate-stack-process.html)

**Recursos de marketing**
+ [AWS Managed Services](https://aws.amazon.com/managed-services/)
+ [AWS Managed Services FAQs](https://aws.amazon.com/managed-services/faqs/)
+ [Recursos do AWS Managed Services](https://aws.amazon.com/managed-services/resources/)
+ [Atributos do AWS Managed Services](https://aws.amazon.com/managed-services/features/)

# Migrar um banco de dados do Couchbase Server para a Amazon EC2
<a name="migrate-couchbase-server-ec2"></a>

*Subhani Shaik, Amazon Web Services*

## Resumo
<a name="migrate-couchbase-server-ec2-summary"></a>

Esse padrão descreve como você pode migrar o Couchbase Server de um ambiente local para o Amazon Elastic Compute Cloud (Amazon) em. EC2 AWS

O Couchbase Server é um banco de dados NoSQL distribuído (com documentos JSON) que fornece funcionalidades de bancos de dados relacionais. A migração de um banco de dados do Couchbase Server AWS pode fornecer maior escalabilidade, melhor desempenho, eficiência de custos, segurança aprimorada, gerenciamento simplificado e alcance global, o que pode beneficiar aplicativos que exigem alta disponibilidade e acesso a dados de baixa latência. Você também obtém acesso a recursos avançados por meio de serviços AWS gerenciados. 

O Couchbase Server on AWS fornece os seguintes recursos principais: 
+ Arquitetura que prioriza a memória
+ Alta disponibilidade, recuperação de desastres e balanceamento de carga
+ Implantação em vários mestres e em diversas regiões para performance otimizada

Para obter mais informações sobre os principais benefícios, consulte a seção [Informações adicionais](#migrate-couchbase-server-ec2-additional) e o [site da Couchbase](https://www.couchbase.com/partners/amazon/).

## Pré-requisitos e limitações
<a name="migrate-couchbase-server-ec2-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS com uma nuvem privada virtual (VPC), duas zonas de disponibilidade, sub-redes privadas e um grupo de segurança. Para obter instruções, consulte [Crie uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) na documentação da Amazon Virtual Private Cloud (Amazon VPC).
+ Conectividade habilitada entre os ambientes de origem e de destino. Para obter informações sobre as portas TCX usadas pelo Couchbase Server, consulte a [documentação da Couchbase](https://docs.couchbase.com/server/current/install/install-ports.html).

## Arquitetura
<a name="migrate-couchbase-server-ec2-architecture"></a>

O diagrama a seguir mostra a arquitetura de alto nível para a migração do Couchbase Server para o. AWS

![\[Arquitetura de migração para redefinir a hospedagem do Couchbase Server na AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/4cedced2-3528-4f12-b19e-7d389e820cc1/images/ac22133a-895f-4999-b1e1-57f69e83a326.png)


Os dados do cluster do Couchbase on-premises transitam por um gateway do cliente usando o [AWS Direct Connect](https://aws.amazon.com/directconnect/). Os dados passam por um roteador e uma Direct Connect rota e chegam à VPC por meio de um gateway [AWS Virtual Private Network (Site-to-Site VPN)](https://aws.amazon.com/vpn/). A VPC contém uma EC2 instância que está executando o Couchbase Server. A AWS infraestrutura também inclui [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) para controle de acesso, [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) para criptografia de dados, [Amazon Elastic Block Store (Amazon EBS) para armazenamento em blocos e Amazon](https://aws.amazon.com/ebs/) [Simple Storage Service (Amazon S3) para armazenamento de dados](https://aws.amazon.com/s3/).

## Ferramentas
<a name="migrate-couchbase-server-ec2-tools"></a>

**Serviços da AWS**
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)conecta sua rede interna a um Direct Connect local por meio de um cabo de fibra óptica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para o público, Serviços da AWS ignorando os provedores de serviços de Internet em seu caminho de rede.

## Práticas recomendadas
<a name="migrate-couchbase-server-ec2-best-practices"></a>
+ [Instalação e configuração do Couchbase](https://docs.couchbase.com/server/current/install/install-intro.html) em diferentes plataformas de operação
+ [Melhores práticas](https://docs.couchbase.com/server/current/cloud/couchbase-cloud-deployment.html#aws-best-practices) para implantar o Couchbase Server em AWS
+ [Criação de um cluster do Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/create-cluster.html)
+ [Práticas recomendadas de performance](https://docs.couchbase.com/dotnet-sdk/current/project-docs/performance.html) para aplicações do Couchbase
+ [Práticas recomendadas de segurança](https://docs.couchbase.com/server/current/learn/security/security-overview.html) para o Couchbase Server
+ [Práticas recomendadas de armazenamento](https://www.couchbase.com/forums/t/what-is-the-best-document-storage-strategy-in-couchbase/1573) para bancos de dados do Couchbase Server

## Épicos
<a name="migrate-couchbase-server-ec2-epics"></a>

### Implemente uma EC2 instância da Amazon para o Couchbase Server
<a name="deploy-an-ec2-instance-for-couchbase-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Abra o EC2 console da Amazon. | Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/)e abra o [ EC2 console da Amazon](https://console.aws.amazon.com/ec2/). | DevOps engenheiro, administrador do Couchbase | 
| Implante uma EC2 instância da Amazon. | Execute uma EC2 instância que corresponda às configurações locais do Couchbase Server. Para obter mais informações sobre como implantar uma EC2 instância, consulte [Iniciar uma EC2 instância da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) na EC2 documentação da Amazon. | DevOps engenheiro, administrador do Couchbase | 

### Instale e configure o Couchbase Server na Amazon EC2
<a name="install-and-configure-couchbase-server-on-ec2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale um cluster do Couchbase. | Revise as [diretrizes de implantação do Couchbase Server](https://docs.couchbase.com/server/current/install/install-production-deployment.html) antes de instalar o Couchbase Server na Amazon. EC2Para instalar o Couchbase Server, consulte a [documentação do Couchbase Server](https://docs.couchbase.com/server/current/install/install-intro.html). | Administrador do Couchbase | 
| Configure o cluster. | Para configurar o cluster, consulte a seção [Cluster Configuration Options](https://docs.couchbase.com/cloud/clusters/databases.html#cluster-configuration-options) na documentação do Couchbase. | Administrador do Couchbase | 

### Adição de um nó e balanceamento do cluster do Couchbase
<a name="add-a-new-node-and-rebalance-the-couchbase-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Adicione um nó para a EC2 instância. | Adicione a EC2 instância recém-implantada que tem o Couchbase instalado no cluster local existente. Para obter instruções, consulte [Add a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) na documentação do Couchbase Server. | Administrador do Couchbase | 
| Balanceie o cluster novamente. | O processo de rebalanceamento torna o nó recém-adicionado com a EC2 instância um membro ativo do cluster Couchbase. Para obter instruções, consulte [Add a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) na documentação do Couchbase Server. | Administrador do Couchbase | 

### Reconfiguração de conexões
<a name="reconfigure-connections"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova os nós on-premises e balanceie novamente. | Agora, você pode remover os nós on-premises do cluster. Após a remoção dos nós, siga o processo de rebalanceamento para redistribuir dados, índices, processamento de eventos e processamento de consultas entre os nós disponíveis no cluster. Para obter instruções, consulte [Remove a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/remove-node-and-rebalance.html) na documentação do Couchbase Server. | Administrador do Couchbase | 
| Atualize os parâmetros de conexão. | Atualize os parâmetros de conexão do seu aplicativo para usar o novo endereço EC2 IP da Amazon, para que seu aplicativo possa se conectar ao novo nó. | Desenvolvedor de aplicações do Couchbase | 

## Recursos relacionados
<a name="migrate-couchbase-server-ec2-resources"></a>
+ [Couchbase Server Services](https://docs.couchbase.com/server/current/learn/services-and-indexes/services/services.html)
+ [Implemente o Couchbase Server usando AWS Marketplace](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html)
+ [Connect to Couchbase Server](https://docs.couchbase.com/server/current/guides/connect.html)
+ [Gerenciar buckets](https://docs.couchbase.com/server/current/manage/manage-buckets/bucket-management-overview.html)
+ [Cross Data Center Replication (XDCR)](https://docs.couchbase.com/server/current/learn/clusters-and-availability/xdcr-overview.html)
+ [Couchbase Inc. License Agreement](https://www.couchbase.com/LA20190115/)

## Mais informações
<a name="migrate-couchbase-server-ec2-additional"></a>

**Benefícios principais**

A migração do seu banco de dados Couchbase AWS oferece as seguintes vantagens:

**Escalabilidade**. Você pode escalar seu cluster Couchbase para cima ou para baixo com base na demanda, sem precisar gerenciar hardware físico, para acomodar facilmente volumes de dados flutuantes e uso de aplicativos. AWS fornece:
+ Opções de escalabilidade horizontal e vertical
+ Funcionalidades de [implantação global](https://aws.amazon.com/about-aws/global-infrastructure/)
+ Balanceamento de carga em todo Regiões da AWS
+ [Soluções de escalabilidade para banco de dados](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)
+ Otimização da [entrega de conteúdo](https://aws.amazon.com/solutions/content-delivery/)

**Otimização do desempenho**. AWS fornece uma infraestrutura de rede de alto desempenho e [tipos de instância otimizados](https://aws.amazon.com/ec2/instance-types/) para garantir acesso rápido aos dados e baixa latência para seu banco de dados Couchbase.
+ Opções de [computação de alta performance (HPC)](https://aws.amazon.com/hpc/)
+ Entrega global de conteúdo pela [Amazon CloudFront](https://aws.amazon.com/cloudfront/)
+ Diversas [opções de armazenamento](https://aws.amazon.com/products/storage/)
+ [Serviços avançados de banco de dados](https://aws.amazon.com/products/databases/), incluindo o Amazon Relational Database Service (Amazon RDS) e o Amazon DynamoDB
+ Conexões de baixa latência com o [Direct Connect](https://aws.amazon.com/directconnect/)

**Otimização de custo.** Selecione o tipo de instância e a configuração adequados para equilibrar a performance e o custo com base na sua workload. Pague apenas pelos recursos que utilizar. Isso pode reduzir potencialmente seus custos operacionais, eliminando a necessidade de gerenciar hardware local e aproveitando Nuvem AWS as economias de escala.
+ As [instâncias reservadas](https://aws.amazon.com/ec2/pricing/reserved-instances/) podem ajudar você a se planejar e reduzir significativamente os custos ao usar o Couchbase na AWS.
+ A [escalabilidade automática](https://aws.amazon.com/autoscaling/) evita provisionamento excessivo e ajuda a otimizar a utilização e a eficiência de custo.

**Segurança reforçada**. Beneficie-se dos recursos de segurança robustos AWS, como criptografia de dados, controles de acesso e grupos de segurança, para ajudar a proteger os dados confidenciais que você armazena no Couchbase. Benefícios adicionais:
+ O [Modelo de Responsabilidade AWS Compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/) diferencia claramente entre a segurança *da* nuvem (AWS responsabilidade) e a segurança *na* nuvem (responsabilidade do cliente).
+ [AWS a conformidade](https://aws.amazon.com/compliance/) suporta os principais padrões de segurança.
+ AWS fornece opções avançadas [de criptografia](https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/welcome.html).
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) ajuda você a gerenciar o acesso seguro aos seus recursos.

**Gerenciamento simplificado**. AWS fornece serviços gerenciados para o Couchbase, para que você possa se concentrar no desenvolvimento de aplicativos em vez de gerenciar a infraestrutura subjacente.

**Alcance global**. Você pode implantar seu cluster Couchbase em vários Regiões da AWS para obter baixa latência para usuários em todo o mundo. É possível implantar os bancos de dados totalmente na nuvem ou em um ambiente híbrido. Você pode proteger seus dados com segurança corporativa integrada e sincronização bidirecional rápida e eficiente entre a borda e a nuvem. Além disso, o desenvolvimento é simplificado por meio de um modelo de programação consistente para aplicações web e móveis.

**Continuidade de negócios**:
+ **Backup e recuperação de dados**. Se ocorrer algum incidente, o [AWS Backup](https://aws.amazon.com/backup/) pode ser usado para assegurar a resiliência dos dados e facilitar a recuperação. Para obter opções de recuperação de desastres, consulte a [documentação do AWS Well-Architected Framework](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html).
+ **Implantação multirregional do Couchbase**: Para implantar um banco de dados do Couchbase em um AWS ambiente multirregional, você pode assinar o Couchbase Server em, usar [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)modelos para criar clusters separados do Couchbase em cada região e [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-zy5g2wqmqdyzw), em seguida, configurar a replicação entre regiões para sincronizar dados entre regiões. Essa configuração garante alta disponibilidade e redundância geográfica em várias regiões. Para obter mais informações, consulte [Deploy Couchbase Server Using AWS Marketplace](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html) na documentação do Couchbase.

**Agilidade da infraestrutura**:
+ [Provisionamento e desprovisionamento de recursos](https://aws.amazon.com/products/management-and-governance/use-cases/provisioning-and-orchestration/) com rapidez
+ Alcance [global da infraestrutura](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)
+ [Escalabilidade automática](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) baseada na demanda
+ [Infraestrutura como código (IaC)](https://aws.amazon.com/what-is/iac/) para implantações consistentes
+ Vários [tipos de instância](https://aws.amazon.com/ec2/instance-types/) otimizados para diferentes workloads

**Fomento à inovação**:
+ Acesso às tecnologias mais recentes, incluindo [IA/ML](https://aws.amazon.com/ai/generative-ai/), [IoT](https://aws.amazon.com/iot/) e [analytics](https://aws.amazon.com/big-data/datalakes-and-analytics/)
+ [Serviços gerenciados](https://aws.amazon.com/blogs/architecture/reduce-operational-load-using-aws-managed-services-for-your-data-solutions/), que reduzem a sobrecarga operacional
+ Práticas para o desenvolvimento de [aplicações modernas](https://aws.amazon.com/modern-apps/)
+ Opções de computação com [tecnologia sem servidor](https://aws.amazon.com/serverless/)

**Excelência operacional**:
+ [Monitoramento e registro em log centralizados](https://docs.aws.amazon.com/prescriptive-guidance/latest/designing-control-tower-landing-zone/logging-monitoring.html)
+ [Gerenciamento automatizado de recursos](https://aws.amazon.com/systems-manager/)
+ Funcionalidades de [manutenção preditiva](https://aws.amazon.com/what-is/predictive-maintenance/)
+ [Visibilidade aprimorada](https://aws.amazon.com/about-aws/whats-new/2024/12/amazon-cloudwatch-provides-centralized-visibility-telemetry-configurations/) do uso de recursos
+ [Processos de implantação simplificados](https://aws.amazon.com/blogs/mt/streamline-change-processes-and-improve-governance-with-aws-well-architected/)

**Oportunidades de modernização**:
+ Arquitetura de [microsserviços](https://aws.amazon.com/microservices/)
+ [DevOps](https://aws.amazon.com/devops/)implementação de práticas
+ Desenvolvimento de aplicações [nativas da nuvem](https://aws.amazon.com/what-is/cloud-native/)
+ [Modernização de aplicações legadas](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-modernizing-applications/welcome.html)

**Vantagens competitivas**:
+ [Maior rapidez no lançamento de produtos](https://aws.amazon.com/blogs/smb/accelerate-time-to-market-and-business-growth-with-an-automated-software-as-a-service-platform/)
+ [Experiência do cliente](https://aws.amazon.com/blogs/publicsector/improving-customer-experience-for-the-public-sector-using-aws-services/) aprimorada
+ Tomada de decisão [orientada por dados](https://aws.amazon.com/data/data-driven-decision-making/)
+ [Business intelligence](https://aws.amazon.com/what-is/business-intelligence/) aprimorada

# Migre o Db2 for LUW para a Amazon EC2 usando o envio de registros para reduzir o tempo de interrupção
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time"></a>

*Feng Cai, Ambarish Satarkar e Saurabh Sharma, Amazon Web Services*

## Resumo
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-summary"></a>

Quando os clientes migram suas cargas de trabalho do IBM Db2 for LUW (Linux, UNIX e Windows) para a Amazon Web Services (AWS), usar o Amazon Elastic Compute Cloud (Amazon) com o modelo Bring Your Own License (BYOL EC2) é a maneira mais rápida. No entanto, migrar grandes volumes de dados do Db2 on-premises para a AWS pode ser um desafio, especialmente quando a janela de indisponibilidade é curta. Muitos clientes tentam definir a janela de interrupção para menos de 30 minutos, o que deixa pouco tempo para o banco de dados em si.

Esse padrão aborda como realizar uma migração do Db2 com uma pequena janela de interrupção usando o envio do log de transações. Essa abordagem se aplica ao Db2 em uma plataforma Linux little-endian.

## Pré-requisitos e limitações
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma instância do Db2 em execução em uma EC2 instância que corresponde aos layouts do sistema de arquivos local
+ Um bucket do Amazon Simple Storage Service (Amazon S3) acessível à instância EC2 
+ Uma política e um perfil do AWS Identity and Access Management (IAM) para realizar chamadas programáticas ao Amazon S3
+ Fuso horário e relógios do sistema sincronizados na Amazon EC2 e no servidor local
+ A rede local conectada à AWS por meio do AWS [ Site-to-SiteVPN ou do AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect

**Limitações**
+ A instância local do Db2 e a Amazon EC2 devem estar na mesma família de [plataformas](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ O workload on-premises do Db2 deve ser registrado. Defina `blocknonlogged=yes` na configuração do banco de dados para bloquear qualquer transação não registrada.

**Versões do produto**
+ Db2 for LUW versão 11.5.9 e posterior

## Arquitetura
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-architecture"></a>

**Pilha de tecnologia de origem**
+ Db2 em Linux** **x86\$164

**Pilha de tecnologias de destino**
+ Amazon EBS
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+ AWS Site-to-Site VPN ou Direct Connect

**Arquitetura de destino**

O diagrama a seguir mostra uma instância do Db2 em execução local com uma conexão de rede privada virtual (VPN) com o Db2 na Amazon. EC2 As linhas pontilhadas representam o túnel VPN entre seu datacenter e a nuvem AWS.

![\[Fluxo de trabalho para realizar a migração do Db2 em uma janela de indisponibilidade curta usando o envio de logs de transação.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7dec6e4a-a92e-4204-9e42-f89d7dcafbfa/images/a7e1c1d6-2ec1-4271-952d-a58260ad7c81.png)


## Ferramentas
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-tools"></a>

**Serviços da AWS**
+ A ‭[AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)‭ é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) conecta sua rede interna a um local do Direct Connect por meio de um cabo de fibra óptica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para serviços públicos da AWS, ignorando provedores de serviço da internet no caminho da sua rede.
+ [O Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) fornece volumes de armazenamento em nível de bloco para uso com instâncias do Amazon Elastic Compute Cloud (Amazon). EC2
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [O AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) ajuda você a transmitir tráfego entre instâncias que você executa na AWS e sua própria rede remota.

**Outras ferramentas**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) é o comando da CLI interativa do Db2.

## Práticas recomendadas
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-best-practices"></a>
+ No banco de dados de destino, use [endpoints de gateway para o Amazon](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) S3 para acessar a imagem de backup do banco de dados e os arquivos de log no Amazon S3.
+ No banco de dados de origem, use a [AWS PrivateLink para o Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para enviar a imagem de backup do banco de dados e os arquivos de log para o Amazon S3.

## Épicos
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-epics"></a>

### Definição de variáveis de ambiente
<a name="set-environment-variables"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Definição de variáveis de ambiente. | Seu nome usa o padrão a seguir.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Você pode alterá-los para se adequarem ao seu ambiente. | DBA | 

### Configurar o servidor Db2 on-premises
<a name="configure-the-on-premises-db2-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a CLI da AWS. | Para realizar o download e instalar a versão mais recente da AWS CLI, execute os seguintes comandos:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrador do Linux | 
| Configure um destino local para os logs de arquivamento do Db2. | Para manter o banco de dados de destino EC2 na Amazon sincronizado com o banco de dados de origem local, os registros de transações mais recentes precisam ser recuperados da fonte.Nesta configuração, `/db2logs` é definido por `LOGARCHMETH2` na fonte como uma área de preparação. Os registros arquivados nesse diretório serão sincronizados com o Amazon S3 e acessados pelo Db2 na Amazon. EC2 O padrão é usado `LOGARCHMETH2` porque `LOGARCHMETH1` pode ter sido configurado para usar uma ferramenta de um fornecedor terceirizado que o comando da AWS CLI não pode acessar. Para recuperar os logs, execute o seguinte comando: <pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Execute um backup de banco de dados on-line. | Execute um backup on-line do banco de dados e salve-o no sistema de arquivos de backup local: <pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configurar o bucket do S3 e a política do IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um bucket do S3. | Crie um bucket S3 para o servidor on-premises para enviar as imagens de backup do Db2 e os arquivos de log para a AWS. O bucket também será acessado pela Amazon EC2:<pre>aws s3api create-bucket --bucket logshipmig-db2 --region us-east-1 </pre> | Administrador de sistemas AWS | 
|  Crie uma política do IAM. | O arquivo `db2bucket.json` contém a política do IAM para acessar o bucket do Amazon S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::logshipmig-db2/*",<br />                "arn:aws:s3:::logshipmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Para criar a política, use o seguinte comando da AWS CLI:<pre>aws iam create-policy \<br />      --policy-name db2s3policy \<br />      --policy-document file://db2bucket.json </pre> A saída em JSON apresenta o nome do recurso da Amazon (ARN) da política, em que `aws_account_id` representa a ID da sua conta:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3policy"</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Anexe a política do IAM à função do IAM usada pela EC2 instância. | Na maioria dos ambientes da AWS, uma EC2 instância em execução tem uma função do IAM definida pelo administrador do sistema. Se a função do IAM não estiver definida, crie a função e escolha **Modificar função do IAM** no EC2 console para associar a função à EC2 instância que hospeda o banco de dados Db2. Anexe a política do IAM ao perfil do IAM usando o ARN da política:<pre>aws iam attach-role-policy \<br />    --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3policy"  \<br />    --role-name db2s3role  </pre>Depois que a política for anexada, qualquer EC2 instância associada à função do IAM poderá acessar o bucket do S3. | Administrador da AWS, administrador de sistemas da AWS | 

### Envie a imagem de backup e os arquivos de log do banco de dados de origem para o Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a AWS CLI no servidor do Db2 on-premises. | Configure a AWS CLI com os valores `Access Key ID` e `Secret Access Key` gerados na etapa anterior:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre>  | Administrador da AWS, administrador de sistemas da AWS | 
| Envie a imagem de backup para o Amazon S3. | Anteriormente, um backup de banco de dados on-line foi salvo no diretório local `/backup`. Para enviar essa imagem de backup para o bucket do S3, execute o seguinte comando:<pre>aws s3 sync /backup s3://logshipmig-db2/SAMPLE_backup</pre> | Administrador da AWS, engenheiro de migração | 
| Envie os logs do Db2 para o Amazon S3. | Sincronize os registros do arquivamento local do Db2 com o bucket do S3 que pode ser acessado pela instância do Db2 de destino na Amazon: EC2<pre>aws s3 sync /db2logs s3://logshipmig-db2/SAMPLE_LOG</pre>Execute esse comando periodicamente usando o cron ou outras ferramentas de agendamento. A frequência depende da frequência com que o banco de dados de origem arquiva os arquivos de log de transações.  | Administrador da AWS, engenheiro de migração | 

### Conecte o Db2 na Amazon EC2 ao Amazon S3 e inicie a sincronização do banco de dados
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-database-sync"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um armazenamento de PKCS12 chaves. | O Db2 usa um repositório de chaves de criptografia de chave pública (PKCS) para manter a chave de acesso da AWS segura. Crie um keystore e configure a instância de origem do Db2 para usá-lo:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Crie o alias de acesso ao armazenamento do Db2. | Para criar o [alias de acesso ao armazenamento](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access), use a seguinte sintaxe de script:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Por exemplo, o seu script poderia ter a seguinte aparência: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'logshipmig-db2'" ` | DBA | 
| Defina a área de espera. | Por padrão, o Db2 usa `DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH` como área de preparação para carregar e baixar arquivos de e para o Amazon S3. O caminho padrão está `sqllib/tmp/RemoteStorage.xxxx` no diretório inicial da instância, com `xxxx` referência ao número da partição Db2. Observe que a área de preparação deve ter capacidade suficiente para armazenar as imagens de backup e os arquivos de log. Você pode usar o registro para apontar a área de preparação para um diretório diferente.Além disso, recomendamos usar `DB2_ENABLE_COS_SDK=ON`, `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore` e o link para a biblioteca `awssdk` para ignorar a área de preparação do Amazon S3 no backup e na restauração do banco de dados:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />Db2set DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore<br />db2stop<br />db2start</pre> | DBA | 
| Restaure o banco de dados a partir da imagem de backup. | Restaure o banco de dados de destino na Amazon a EC2 partir da imagem de backup no bucket do S3:<pre>db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup replace existing</pre> | DBA | 
| Avance o banco de dados. | Depois que a restauração for concluída, o banco de dados de destino será colocado no estado pendente de rollforward. Configure `LOGARCHMETH1` e `LOGARCHMETH2` para que o Db2 consiga localizar os arquivos do log de transação:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/'<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 OFF</pre>Inicie o processo de rollforward do banco de dados:<pre>db2 ROLLFORWARD DATABASE sample to END OF LOGS</pre>Esse comando processa todos os arquivos de log que foram transferidos para o bucket do S3. Execute-o periodicamente com base na frequência do `s3 sync` comando nos servidores Db2 on-premises. Por exemplo, se for `s3 sync` executado a cada hora e levar 10 minutos para sincronizar todos os arquivos de log, defina o comando para ser executado 10 minutos após cada hora.  | DBA | 

### Coloque o Db2 na Amazon EC2 on-line durante a janela de transição
<a name="bring-db2-on-amazon-ec2-online-during-the-cutover-window"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Coloque o banco de dados de destino on-line. | Na janela de substituição, siga um destes procedimentos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Depois que o último log de transações for sincronizado com o Amazon S3, execute o comando `ROLLFORWARD` pela última vez:<pre>db2 rollforward DB sample to END OF LOGS<br />db2 rollforward DB sample complete<br /><br />                                 Rollforward Status<br />....<br /> Rollforward status                     = not pending<br />....<br />DB20000I  The ROLLFORWARD command completed successfully.<br /><br />db2 activate db sample<br />DB20000I  The ACTIVATE DATABASE command completed successfully.</pre>Coloque o banco de dados de destino on-line e direcione as conexões do aplicativo para o Db2 na Amazon EC2. | DBA | 

## Solução de problemas
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Se vários bancos de dados tiverem o mesmo nome de instância e nome de banco de dados em hosts diferentes (DEV, QA, PROD), os backups e os logs poderão ir para o mesmo subdiretório. | Use buckets do S3 diferentes para DEV, QA e PROD, e adicione o nome do host como prefixo de subdiretório para evitar confusão. | 
| Se houver múltiplas imagens de backup no mesmo local, você receberá o seguinte erro durante a restauração:`SQL2522N More than one backup file matches the time stamp value provided for the backed up database image.` | No comando `restore`, adicione o carimbo de data/hora do backup:`db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup taken at 20230628164042 replace existing` | 

## Recursos relacionados
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-resources"></a>
+ [Operações de backup e restauração do Db2 entre diferentes sistemas operacionais e plataformas de hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configurar Db2 STORAGE ACCESS ALIAS e REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Comando Db2 ROLLFORWARD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database)
+ [Método de arquivamento de log secundário do Db2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-logarchmeth2-secondary-log-archive-method)

# Migre o Db2 for LUW para o Amazon EC2 com recuperação de desastres de alta disponibilidade
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy e Venkatesan Govindan, Amazon Web Services*

## Resumo
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Quando os clientes migram a workload do Db2 da IBM para LUW (Linux, UNIX e Windows) para a Amazon Web Services (AWS), usar o Amazon Elastic Compute Cloud (Amazon EC2) com o modelo traga a sua própria licença (BYOL) é a forma mais rápida. No entanto, migrar grandes volumes de dados do Db2 on-premises para a AWS pode ser um desafio, especialmente quando a janela de indisponibilidade é curta. Muitos clientes tentam definir a janela de interrupção para menos de 30 minutos, o que deixa pouco tempo para o banco de dados em si.

Esse padrão aborda como realizar uma migração do Db2 com uma pequena janela de interrupção usando a recuperação de desastres de alta disponibilidade (HADR) do Db2. Essa abordagem se aplica aos bancos de dados Db2 que estão na plataforma Linux little-endian e não estão usando o Atributo de Particionamento de Dados (DPF - Data Partitioning Feature).

## Pré-requisitos e limitações
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma instância do Db2 em execução em uma instância do Amazon EC2 que corresponde aos layouts do sistema de arquivos on-premises
+ Um bucket do Amazon Simple Storage Service (Amazon S3) acessível à instância do EC2
+ Uma política e um perfil do AWS Identity and Access Management (IAM) para realizar chamadas programáticas ao Amazon S3
+ Fuso horário e relógios do sistema sincronizados no Amazon EC2 e no servidor on-premises
+ A rede local conectada à AWS por meio do AWS [ Site-to-SiteVPN ou do AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect
+ Comunicação entre o servidor on-premises e o Amazon EC2 em portas HADR

**Limitações**
+ [A instância on-premises do Db2 e o Amazon EC2 deve estar na mesma família de plataformas](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ O HADR não é suportado em um ambiente de banco de dados particionado.
+ O HADR não suporta o uso de dados brutos I/O (acesso direto ao disco) para arquivos de log do banco de dados.
+ O HADR não é compatível com registro infinito.
+ `LOGINDEXBUILD` deve ser definido como `YES`, o que aumentará o uso do log para reconstruir o índice.
+ O workload on-premises do Db2 deve ser registrado. Defina `blocknonlogged=yes` na configuração do banco de dados para bloquear qualquer transação não registrada.

**Versões do produto**
+ Db2 for LUW versão 11.5.9 e posterior

## Arquitetura
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Pilha de tecnologia de origem**
+ Db2 em Linux** **x86\$164

**Pilha de tecnologias de destino**
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+  Site-to-SiteVPN AWS

**Arquitetura de destino**

No diagrama a seguir, o Db2 on-premises está sendo executado em `db2-server1` como principal. Ele tem dois alvos de espera do HADR. Um alvo em espera está on-premises e é opcional. O outro alvo em espera, `db2-ec2`, está no Amazon EC2. Após a migração do banco de dados para a AWS, `db2-ec2` se torna o principal.

![\[Fluxo de trabalho para migrar um Db2 on-premises com uma janela curta de indisponibilidade usando o Db2 HADR.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. Os registros são transmitidos do banco de dados on-premises primário para o banco de dados on-premises em espera.

1. Usando o Db2 HADR, os logs são transmitidos do banco de dados local principal por meio de Site-to-Site VPN para o Db2 no Amazon EC2.

1. Os registros de backup e arquivamento do Db2 são enviados do banco de dados on-premises principal para o bucket do S3 na AWS.

## Ferramentas
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-tools"></a>

**Serviços da AWS**
+ A ‭[AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)‭ é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) conecta sua rede interna a um local do Direct Connect por meio de um cabo de fibra óptica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para serviços públicos da AWS, ignorando provedores de serviço da internet no caminho da sua rede.
+ O [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) oferece capacidade computacional escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [O AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) ajuda você a transmitir tráfego entre instâncias que você executa na AWS e sua própria rede remota.

**Outras ferramentas**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) é o comando da CLI interativa do Db2.

## Práticas recomendadas
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ No banco de dados de destino, use [endpoints de gateway para o Amazon](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) S3 para acessar a imagem de backup do banco de dados e os arquivos de log no Amazon S3.
+ No banco de dados de origem, use a [AWS PrivateLink para o Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para enviar a imagem de backup do banco de dados e os arquivos de log para o Amazon S3.

## Épicos
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Definição de variáveis de ambiente
<a name="set-environment-variables"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Definição de variáveis de ambiente. | Esse padrão usa os seguintes nomes e portas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Você pode alterá-los para se adequarem ao seu ambiente. | DBA | 

### Configurar o servidor Db2 on-premises
<a name="configure-the-on-premises-db2-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar a AWS CLI | Para realizar o download e instalar a versão mais recente da AWS CLI, execute os seguintes comandos:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrador do Linux | 
| Configure um destino local para os logs de arquivamento do Db2. | Condições como trabalhos pesados de atualização em lote e lentidão na rede podem fazer com que o servidor em espera do HADR tenha um atraso. Para se atualizar, o servidor em espera precisa dos registros de transações do servidor primário. A sequência de locais para solicitar registros é a seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Nesta configuração, `/db2logs` é definido por `LOGARCHMETH2` na fonte como uma área de preparação. Os logs arquivados nesse diretório serão sincronizados com o Amazon S3 e acessados pelo Db2 no Amazon EC2. O padrão usar `LOGARCHMETH2` porque `LOGARCHMETH1` pode ter sido configurado para usar uma ferramenta de fornecedor terceirizado que o comando da AWS CLI não consegue acessar:<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Execute um backup de banco de dados on-line. | Execute um backup on-line do banco de dados e salve-o no sistema de arquivos de backup local:<pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configurar o bucket do S3 e a política do IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um bucket do S3. | Crie um bucket S3 para o servidor on-premises para enviar as imagens de backup do Db2 e os arquivos de log para a AWS. O Amazon EC2 terá acesso ao bucket:<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | Administrador da AWS | 
| Crie uma política do IAM. | O arquivo `db2bucket.json` contém a política do IAM para acesso ao bucket S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Para criar a política, use o seguinte comando da AWS CLI:<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre>A saída em JSON apresenta o nome do recurso da Amazon (ARN) da política, em que `aws_account_id` representa a ID da sua conta:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Anexe a política do IAM ao perfil do IAM. | Geralmente, a instância do EC2 com o Db2 em execução teria um perfil do IAM atribuído pelo administrador de sistemas. Se nenhum perfil do IAM estiver atribuído, você pode escolher **Modificar perfil do IAM** no console do Amazon EC2.Anexe a política do IAM ao perfil do IAM associado à instância do EC2. Após a política ser anexada, a instância do EC2 poderá acessar o bucket do S3:<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Envie a imagem de backup e os arquivos de log do banco de dados de origem para o Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a AWS CLI no servidor Db2 on-premises. | Configure a AWS CLI com os valores `Access Key ID` e `Secret Access Key` que você gerou anteriormente:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Envie a imagem de backup para o Amazon S3. | Anteriormente, um backup de banco de dados on-line foi salvo no diretório local `/backup`. Para enviar essa imagem de backup para o bucket do S3, execute o seguinte comando:<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Envie os logs do Db2 para o Amazon S3. | Sincronize os logs de arquivamento do Db2 on-premises com o bucket do Amazon S3, que pode ser acessado pela instância do Db2 de destino no Amazon EC2:<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre>Execute esse comando periodicamente usando o cron ou outras ferramentas de agendamento. A frequência depende da frequência com que o banco de dados de origem arquiva os arquivos de log de transações. |  | 

### Conecte o Db2 no Amazon EC2 ao Amazon S3 e inicie a sincronização inicial do banco de dados
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um repositório de PKCS12 chaves. | O Db2 usa um repositório de chaves de criptografia de chave pública (PKCS) para manter a chave de acesso da AWS segura. Crie um keystore e configure o Db2 de origem para usá-lo:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Crie o alias de acesso ao armazenamento do Db2. | O Db2 usa um alias de acesso ao armazenamento para acessar o Amazon S3 diretamente com os comandos `INGEST`, `LOAD`, `BACKUP DATABASE`, ou `RESTORE DATABASE`. Como você atribuiu um perfil do IAM à instância do EC2, `USER` e `PASSWORD` não são necessários:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Por exemplo, o seu script poderia ter a seguinte aparência: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | DBA | 
| Defina a área de espera. | Recomendamos usar `DB2_ENABLE_COS_SDK=ON`, `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore` e o link para a biblioteca `awssdk` para ignorar a área de preparação do Amazon S3 no backup e na restauração do banco de dados:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | DBA | 
| Restaure o banco de dados a partir da imagem de backup. | Faça a restauração do banco de dados de destino no Amazon EC2 usando a imagem de backup presente no bucket do S3:<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | DBA | 

### Configure o HADR sem o HADR on-premises
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o servidor Db2 on-premises como principal. | Atualize as configurações do banco de dados para HADR on `db2-server1` (a fonte on-premises) como principal. Defina `HADR_SYNCMODE` para o modo `SUPERASYNC`, que oferece o menor tempo de resposta por transação:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`Alguns atrasos de rede entre o datacenter on-premises e a AWS são esperados. (É possível definir um valor `HADR_SYNCMODE` diferente com base na confiabilidade da rede. Para obter mais informações, consulte a seção [Recursos relacionados](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources)). | DBA | 
| Altere o destino do arquivamento do log do banco de dados de destino. | Altere o destino do arquivo de log do banco de dados de destino para corresponder ao ambiente do Amazon EC2:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | DBA | 
| Configure o HADR para Db2 no servidor Amazon EC2. | Atualize a configuração do banco de dados para HADR no `db2-ec2` como “em espera”:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | DBA | 
| Verifique a configuração do HADR. | Verifique os parâmetros do HADR nos servidores Db2 de origem e de destino.Para verificar a configuração no `db2-server1`, execute o seguinte comando:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre> Para verificar a configuração no `db2-ec2`, execute o seguinte comando:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Os parâmetros `HADR_LOCAL_HOST`, `HADR_LOCAL_SVC`, `HADR_REMOTE_HOST`, e `HADR_REMOTE_SVC` indicam uma configuração de HADR primária e uma de espera. | DBA | 
| Inicie a instância Db2 HADR. | Inicie primeiro a instância do Db2 HADR no servidor `db2-ec2` em espera:<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Inicie o Db2 HADR no servidor primário (de origem), que é o `db2-server1`:<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>A conexão HADR entre o Db2 on-premises e no Amazon EC2 agora foi estabelecida com sucesso. O servidor primário do Db2 `db2-server1` começa a transmitir os registros do log de transações `db2-ec2` em tempo real. | DBA | 

### Configure o HADR quando o HADR existir on-premises
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Adicione o Db2 no Amazon EC2 como um modo de espera auxiliar. | Se o HADR estiver em execução na instância do Db2 on-premises, é possível adicionar o Db2 na Amazon EC2 como um servidor auxiliar em espera usando `HADR_TARGET_LIST` ao executar os seguintes comandos no `db2-ec2`:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | DBA | 
| Adicione as informações auxiliares de espera aos servidores on-premises. | Atualização de `HADR_TARGET_LIST` nos dois servidores on-premises (primário e em espera).No `db2-server1`, execute o seguinte código:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.`No `db2-server2`, execute o seguinte código:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | DBA | 
| Verifique a configuração do HADR. | Verifique os parâmetros do HADR nos servidores Db2 de origem e de destino.No `db2-server1`, execute o seguinte código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>No `db2-server2`, execute o seguinte código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>No `db2-ec2`, execute o seguinte código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Os parâmetros `HADR_LOCAL_HOST`, `HADR_LOCAL_SVC`, `HADR_REMOTE_HOST`, `HADR_REMOTE_SVC`, e `HADR_TARGET_LIST` indicam a configuração de um HADR primário e dois em espera. |  | 
| Pare e inicie o Db2 HADR. | `HADR_TARGET_LIST` agora está configurado em todos os três servidores. Cada servidor Db2 está ciente dos outros dois. Pare e reinicie o HADR (breve interrupção) para aproveitar a nova configuração.No `db2-server1`, execute os seguintes comandos:<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre>No `db2-server2`, execute os seguintes comandos:<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>No `db2-ec2`, execute os seguintes comandos:<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>No `db2-server1`, execute os seguintes comandos:<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre>A conexão HADR entre o Db2 on-premises e no Amazon EC2 agora foi estabelecida com sucesso. O servidor primário do Db2 `db2-server1` começa a transmitir registros de log de transações para `db2-server2` e `db2-ec2` em tempo real.  | DBA | 

### Torne o Db2 no Amazon EC2 como principal durante a janela de substituição
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Garanta que não haja atraso de HADR no servidor em espera. | Verifique o status do HADR no servidor primário `db2-server1`. Não se assuste quando `HADR_STATE` estiver no status`REMOTE_CATCHUP`, o que é normal quando `HADR_SYNCMODE` está definido como `SUPERASYNC`. O `PRIMARY_LOG_TIME` e o `STANDBY_REPLAY_LOG_TIME` indicam que eles estão sincronizados:<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | DBA | 
| Execute a aquisição da HADR. | Para concluir a migração, torne `db2-ec2` o banco de dados primário executando o comando HADR takeover. Use o comando `db2pd` para verificar o valor de `HADR_ROLE`:<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre>Para concluir a migração para a AWS, aponte as conexões do aplicativo para o Db2 no Amazon EC2. |  | 

## Solução de problemas
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Se você usa o NAT por motivos de firewall e segurança, o host pode ter dois endereços IP (um interno e outro externo), o que pode causar uma falha na verificação do endereço IP do HADR. O comando `START HADR ON DATABASE` retornará a seguinte mensagem:`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Para [oferecer suporte ao HADR em um ambiente NAT,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) você pode configurar `HADR_LOCAL_HOST` com o endereço interno e externo. Por exemplo, se o servidor Db2 tiver o nome interno `host1` e o nome externo`host1E`, `HADR_LOCAL_HOST` pode ser `HADR_LOCAL_HOST: "host1 \| host1E"`. | 

## Recursos relacionados
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Operações de backup e restauração do Db2 entre diferentes sistemas operacionais e plataformas de hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configurar Db2 STORAGE ACCESS ALIAS e REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Recuperação de desastres de alta disponibilidade do Db2](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\$1syncmode – Modo de sincronização HADR para gravações de log no parâmetro de configuração de estado de mesmo nível](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)

# Migre aplicativos hospedados no IIS para a Amazon EC2 usando o appcmd.exe
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Deepak Kumar, Amazon Web Services*

## Resumo
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-summary"></a>

Ao migrar aplicativos hospedados no Internet Information Services (IIS) para instâncias do Amazon Elastic Compute Cloud (Amazon EC2), você precisa enfrentar vários desafios de autenticação. Esses desafios incluem a necessidade de introduzir novamente as credenciais do domínio para as identidades dos grupos de aplicações e, possivelmente, gerar novamente as chaves de máquina para o funcionamento correto do site. Você pode usar AWS Directory Service para estabelecer relações de confiança com seu Active Directory local ou criar um novo Active Directory gerenciado no AWS. Esse padrão descreve uma abordagem de migração limpa que usa a funcionalidade de backup e restauração do IIS nas EC2 instâncias da Amazon. A abordagem usa o appcmd.exe para desinstalar e reinstalar o IIS nas EC2 instâncias de destino, permitindo a migração bem-sucedida de sites hospedados no IIS, identidades de grupos de aplicativos e chaves de máquina. 

## Pré-requisitos e limitações
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS para o servidor de destino.
+ Um servidor de IIS de origem funcional, com sites hospedados.
+ Compreensão dos princípios de funcionamento do IIS, como administração e configuração.
+ Acesso de administrador do sistema em ambos os servidores de origem e de destino.
+ Migração concluída do servidor IIS de origem para o destino Conta da AWS. Você pode usar ferramentas de migração AWS Application Migration Service, como uma abordagem baseada em snapshots da Amazon Machine Image (AMI) ou outras ferramentas de migração.

**Limitações**
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

**Versões do produto**
+ IIS 8.5 ou IIS 10.0

## Arquitetura
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-architecture"></a>

**Pilha de tecnologia de origem**
+ Windows Server com o IIS 8.5 ou o IIS 10.0 instalado

**Pilha de tecnologias de destino**
+ Windows Server com o IIS 8.5 ou o IIS 10.0 instalado
+ Application Migration Service

**Arquitetura de destino**

O diagrama a seguir mostra o fluxo de trabalho e os componentes da arquitetura desse padrão.

![\[Fluxo de trabalho para migrar aplicativos hospedados pelo IIS para a Amazon. EC2\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


A solução contempla as seguintes etapas:

1. [Instale](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) e configure o Agente AWS de Replicação no servidor IIS de origem em seu data center corporativo. Esse agente inicia o processo de replicação e gerencia a transferência de dados para o. AWS

1. O Agente AWS de Replicação estabelece uma [conexão segura com](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured) o Serviço de Migração de Aplicativos e começa a replicar os dados do servidor de origem, incluindo configurações do IIS, sites e arquivos de aplicativos.

1. O Serviço de Migração de Aplicativos inicia EC2 instâncias na sub-rede do aplicativo com os dados replicados. A EC2 instância de destino executa o IIS e contém os aplicativos migrados com seus volumes associados do Amazon Elastic Block Store (Amazon EBS). Após a replicação inicial, o Application Migration Service prossegue com a sincronização das alterações até que você esteja [com tudo pronto para realizar a substituição](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html#ready-for-cutover1) para o novo ambiente.

## Ferramentas
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-tools"></a>

**Serviços da AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)ajuda você a rehospedar (*elevar e deslocar*) aplicativos Nuvem AWS sem alterações e com o mínimo de tempo de inatividade.
+ [O Amazon Elastic Block Store (Amazon EBS) fornece volumes de armazenamento em nível de bloco para uso com instâncias da Amazon](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html). EC2 
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

**Outras ferramentas**
+ O [Internet Information Services (IIS)](https://www.iis.net/overview) para Windows Server é um servidor da web com arquitetura escalável e de código aberto, capaz de hospedar qualquer conteúdo na web. O IIS fornece um conjunto de ferramentas de administração, incluindo ferramentas de administração e linha de comando (por exemplo, appcmd.exe), código e scripts APIs gerenciados e PowerShell suporte ao Windows.

## Épicos
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-epics"></a>

### Backup do IIS no servidor de origem antes da migração
<a name="back-up-iis-at-source-prior-to-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie backups de sites hospedados no IIS, da chave de configuração e da chave `WAS`. | Para criar backups dos sites hospedados no IIS, da chave de configuração (`iisConfigurationKey`) e da chave `WAS` `iisWasKey`(), use o appcmd.exe no servidor de origem. Use as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html)Para exportar a chave de configuração e a chave `WAS`, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador do IIS | 

### Desinstalação e reinstalação do IIS no servidor de destino
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desinstale o IIS no servidor de destino. | Para desinstalar o IIS no servidor de destino, siga as seguintes etapas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador do IIS | 
| Instale o IIS no servidor de destino. | Para instalar o IIS no servidor de destino, siga as seguintes etapas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador do IIS | 

### Restauração dos sites e das configurações do IIS usando os backups
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Restaure os sites e a configuração do IIS. | Para restaurar os backups do IIS que você criou no servidor de origem para o servidor de destino, siga as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador do IIS | 

## Recursos relacionados
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-resources"></a>

**AWS documentação**
+ [Instalando o Agente AWS de Replicação](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) (AWS Application Migration Service documentação)

**AWS Orientação prescritiva**
+ [Migre uma VM local para a Amazon usando EC2 AWS Application Migration Service](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [Usando AMIs nossos snapshots do Amazon EBS para backups](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Recursos da Microsoft**
+ [Application pool identities](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/was-service-svchost-process-operation/understanding-identities#application-pool-identities)
+ [IIS documentation](https://learn.microsoft.com/en-us/iis/)
+ [IIS 8 appcmd.exe documentation](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635852(v=ws.11))
+ [IIS 10 appcmd.exe documentation](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10)
+ [Powerful Admin Tools](https://learn.microsoft.com/en-us/iis/overview/powerful-admin-tools)

# Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2 usando o Application Migration Service
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumo
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-summary"></a>

Esse padrão descreve as etapas para migrar um banco de dados Microsoft SQL Server de um data center local para uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Ele usa o AWS Application Migration Service (AWS MGN) para rehospedar seu banco de dados usando uma migração automatizada lift-and-shift. AWS O MGN executa a replicação em nível de bloco do seu servidor de banco de dados de origem.

## Pré-requisitos e limitações
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Um banco de dados Microsoft SQL Server de origem em um datacenter on-premises

**Limitações**
+ A largura de banda da rede pode ser limitada entre o data center on-premises e a AWS.
+ AWS O MGN está limitado a bancos de dados hospedados em servidores autônomos com armazenamento dedicado. O serviço não fornece suporte à migração de sistemas de banco de dados em cluster nem de sistemas de banco de dados cujo volume de alterações exceda a capacidade de throughput da rede.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte a página [Cotas e endpoints de serviços](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) e clique no link correspondente ao serviço desejado.

**Versões do produto**
+ Todas as versões do banco de dados Microsoft SQL Server
+ Sistemas operacionais Windows e Linux que [suportam AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html)

## Arquitetura
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-architecture"></a>

**Pilha de tecnologia de origem**

Um banco de dados Microsoft SQL Server on-premises

**Pilha de tecnologias de destino**

Um banco de dados Microsoft SQL Server em uma EC2 instância da Amazon

**Arquitetura de destino**

![\[Replicação de dados de um data center corporativo on-premises para a AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a459eaef-c256-4691-a7ec-2304f634228c/images/d8d6cee7-f42c-4686-bf92-6e6d39adfb17.png)


Essa arquitetura usa o AWS MGN para replicar dados de um data center corporativo local para. AWS O diagrama ilustra o processo de replicação de dados, as comunicações via API e as fases de teste e de substituição.

1. Replicação de dados:
   + AWS A MGN replica dados do data center corporativo local AWS e inicia a replicação contínua das alterações.
   + Os servidores de replicação na sub-rede de preparação recebem e processam esses dados.

1. Comunicação via API:
   + Os servidores de replicação se conectam aos AWS endpoints da API MGN EC2, Amazon e Amazon Simple Storage Service (Amazon S3) por meio da porta TCP 443.
   + AWS A MGN gerencia a migração.
   + A Amazon EC2 gerencia as operações da instância.

1. Teste e substituição:
   + As instâncias de teste são iniciadas na sub-rede operacional usando os dados replicados.
   + Após o teste bem-sucedido, o AWS MGN cria instâncias de transição para a migração final.

## Ferramentas
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-tools"></a>
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) ajuda você a rehospedar (*elevar e deslocar*) aplicativos Nuvem AWS sem alterações e com o mínimo de tempo de inatividade.
+ O [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) estabelece uma conexão entre sua rede interna e um ponto do Direct Connect usando um cabo de fibra óptica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para AWS serviços públicos, ignorando os provedores de serviços de Internet em seu caminho de rede.
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

## Práticas recomendadas
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-best-practices"></a>
+ Configure endpoints regionais de API para AWS MGN EC2, Amazon e Amazon S3 na nuvem privada virtual (VPC) para proibir o acesso público da Internet.
+ Defina as configurações de inicialização do AWS MGN para iniciar servidores de banco de dados de destino em uma sub-rede privada.
+ Permita somente as portas essenciais nos grupos de segurança do banco de dados.
+ Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [Práticas recomendadas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) na documentação do IAM.

## Épicos
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-epics"></a>

### Configuração do AWS MGN
<a name="set-up-aws-mgn"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS MGN. | Pesquise o AWS Application Migration Service no Console de gerenciamento da AWS e inicie o processo de configuração. Isso criará um modelo de replicação e redirecionará você para a página **Servidores de origem** do console do MGN. Ao configurar o serviço do MGN, escolha um perfil de serviço na lista gerada. | DBA, Engenheiro de migração | 
| Adicione o servidor de origem. | Adicione os detalhes do seu servidor de banco de dados on-premises e, em seguida, inclua o servidor. | DBA, Engenheiro de migração | 
| Instale o agente do AWS MGN no servidor de origem. | Baixe o instalador do agente AWS MGN em seu sistema local e transfira o instalador para seu servidor de banco de dados de origem. Para validar o hash do instalador, consulte [Validating the downloaded AWS Replication Agent installer for Windows 2012](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html#installer-hash-table-2012). | DBA, Engenheiro de migração | 

### Instalação do agente do AWS MGN nas máquinas de origem
<a name="install-aws-mgn-agent-on-source-machines"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere credenciais do IAM para o cliente. | Antes de instalar o agente AWS MGN, gere AWS credenciais criando um novo usuário do IAM com as permissões apropriadas.Para obter mais informações, consulte [as políticas gerenciadas pela AWS AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/security-iam-awsmanpol.html) e [a geração das AWS credenciais necessárias](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | DBA, Engenheiro de migração | 
| Instale o agente no servidor de origem. | Instale o agente na máquina de origem que hospeda o banco de dados Microsoft SQL Server. Para obter mais informações, consulte [Instalando o Agente AWS de Replicação em servidores Windows](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html).Forneça as seguintes credenciais da AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Suas AWS credenciais exclusivas permitem que o agente da AWS MGN autentique e execute tarefas de migração. | Proprietário da aplicação, DBA e engenheiro de migração | 
| Escolha os discos a serem replicados. | Depois de inserir suas AWS credenciais, o instalador verifica se o servidor atende aos requisitos mínimos para a instalação do agente (por exemplo, se o servidor tem espaço em disco suficiente para instalar o agente AWS MGN). O instalador exibe os rótulos dos volumes e os detalhes de armazenamento.Para replicar seu banco de dados usando o serviço AWS MGN, selecione os discos aplicáveis em seu servidor de origem. Informe o caminho de cada disco, separando-os por vírgulas. Para replicar todos os discos, deixe o campo destinado ao caminho em branco. Após confirmar os discos selecionados, a instalação prossegue. | DBA, Engenheiro de migração | 
| Monitore o progresso da sincronização. | AWS O Agente de Replicação inicia o processo de sincronização tirando primeiro um instantâneo dos discos selecionados e depois replicando os dados.Você pode monitorar o progresso da sincronização na página do **servidor de origem** no console do AWS MGN. Para obter mais informações, consulte [Monitor the server in the migration lifecycle](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | DBA, Engenheiro de migração | 

### Replicação usando o AWS MGN
<a name="replication-using-aws-mgn"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gerencie o progresso da replicação. | Depois de iniciar a sincronização inicial, seu servidor de origem aparece no console do AWS MGN, onde você pode gerenciar e monitorar a migração. O console mostra o tempo estimado para a replicação completa, com base no tamanho total dos discos selecionados e na largura de banda da rede disponível. | DBA, Engenheiro de migração | 
| Verifique a sincronização. | Após os discos do servidor de origem estarem totalmente sincronizados, verifique se todos os discos selecionados estão listados como totalmente sincronizados e se nenhum erro é exibido no console.O console AWS MGN então fará a transição automática do status do ciclo de vida da migração para **Pronto para teste**, indicando que o ambiente replicado AWS está preparado para testes de desempenho e funcionalidade. | Proprietário da aplicação, DBA e engenheiro de migração | 

### Teste e substituição
<a name="test-and-cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Defina as configurações de inicialização. | Escolha o servidor de origem no console do AWS MGN e atualize as configurações de execução da instância de teste de destino. Na página **Detalhes do servidor** de origem, acesse a guia **Configurações de execução** para configurar a instância de teste.Selecione um tipo de instância econômico e um tipo de volume do Amazon Elastic Block Store (Amazon EBS), e, em seguida, configure os grupos de segurança e os requisitos de rede. Para obter mais informações, consulte [Launch settings](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | DBA, Engenheiro de migração | 
| Execute a instância de teste de destino. | Navegue até o console AWS MGN da sua máquina de origem sincronizada e inicie uma instância de teste de destino escolhendo Testar **e recortar e, em seguida, Iniciar instâncias** **de teste**.Com isso, é criado um trabalho de execução que implanta a instância de teste de acordo com as suas configurações. A instância é executada Nuvem AWS e replica o ambiente do servidor de banco de dados de origem. Acompanhe o progresso da execução na página **Histórico de execução**, em que você pode monitorar a criação da instância e resolver quaisquer problemas. | DBA, Engenheiro de migração | 
| Valide a instância de teste de destino. | Valide o servidor de EC2 banco de dados da Amazon:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Realize testes de validação para garantir que o banco de dados funcione conforme o esperado. | DBA, Engenheiro de migração | 
| Altere o nome do servidor. | AWS A migração do MGN envolve uma cópia em nível de armazenamento do seu servidor de origem local. Sua EC2 instância do SQL Server contém somente os detalhes do servidor de origem original em seus binários, portanto, atualize as informações binárias para refletir o nome do novo servidor.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | DBA, Engenheiro de migração | 
| Execute a instância de substituição. | No console AWS MGN, na página **Servidores de origem**, confirme se o status do ciclo de vida da migração do servidor está **Pronto para** transferência. Defina as configurações de execução da instância de substituição, garantindo que reflitam o ambiente on-premises.Antes de iniciar a substituição, encerre o banco de dados on-premises, garantindo que o seguinte ocorra:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Inicie a instância de transferência no console MGN. AWS Quando a instância de substituição estiver funcionando, faça login na instância e realize os seguintes testes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | Proprietário da aplicação, DBA, engenheiro de migração e líder de migração | 

## Solução de problemas
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| A sincronização inicial não é concluída devido a falha na autenticação. | Este é um problema relacionado à conectividade da rede. O servidor de replicação não consegue se conectar ao AWS MGN. | 

## Recursos relacionados
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-resources"></a>

**Documentação da AWS**
+ [Começando com AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/getting-started.html)
+ [Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.html)
+ [O que é o Microsoft SQL Server na Amazon EC2?](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-overview.html)

**Vídeos**
+ [Performing a Lift and Shift Migration with AWS Application Migration Service](https://www.youtube.com/watch?v=tB0sAR3aCb4) (vídeo)

# Migre uma carga de trabalho F5 BIG-IP para F5 BIG-IP VE no Nuvem AWS
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud"></a>

*Deepak Kumar, Amazon Web Services*

## Resumo
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-summary"></a>

As organizações estão procurando migrar para o Nuvem AWS para aumentar sua agilidade e resiliência. Depois de migrar suas soluções de gerenciamento de tráfego e segurança [F5 BIG-IP](https://www.f5.com/products/big-ip-services) para o Nuvem AWS, você pode se concentrar na agilidade e na adoção de modelos operacionais de alto valor em toda a arquitetura corporativa.

Este padrão descreve como migrar uma workload do F5 BIG-IP para uma [workload do F5 BIG-IP Virtual Edition (VE)](https://www.f5.com/products/big-ip-services/virtual-editions) na Nuvem AWS. A workload será migrada ao redefinir a hospedagem do ambiente existente e ao implementar elementos para redefinir a plataforma, como a descoberta de serviços e as integrações de API. Os [modelos do AWS CloudFormation](https://github.com/F5Networks/f5-aws-cloudformation) aceleram a migração da sua workload para a Nuvem AWS.

Esse padrão é destinado às equipes técnicas de engenharia e arquitetura que estão migrando soluções de gerenciamento de tráfego e segurança da F5 e acompanha o guia [Migrando do F5 BIG-IP para o F5 BIG-IP VE no site da Orientação Prescritiva](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html). Nuvem AWS AWS 

## Pré-requisitos e limitações
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-prereqs"></a>

**Pré-requisitos **
+ Uma workload F5 BIG-IP existente on-premises.
+ Licenças F5 existentes para versões do BIG-IP VE.
+ Um ativo Conta da AWS.
+ Uma nuvem privada virtual (VPC) existente configurada com uma saída por meio de um gateway NAT ou endereço IP elástico e configurada com acesso aos seguintes endpoints: Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), () e Amazon. AWS Security Token Service AWS STS CloudWatch Você também pode modificar o Início rápido da [arquitetura VPC modular e escalável](https://aws.amazon.com/quickstart/architecture/vpc/) como um alicerce para suas implantações. 
+ Uma ou duas zonas de disponibilidade existentes, dependendo de suas necessidades. 
+ Três sub-redes privadas existentes em cada zona de disponibilidade.
+ AWS CloudFormation modelos, [disponíveis no GitHub repositório F5](https://github.com/F5Networks/f5-aws-cloudformation/blob/master/template-index.md). 

Durante a migração, você também pode usar o seguinte, dependendo de seus requisitos:
+ Uma [extensão de failover de nuvem F5](https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/) para gerenciar mapeamento de endereços IP elásticos, mapeamento de IP secundário e alterações na tabela de rotas. 
+ Se você usar várias zonas de disponibilidade, precisará usar as extensões de failover de nuvem F5 para lidar com o mapeamento de IP elástico para servidores virtuais.
+ Você deve considerar o uso de [F5 Application Services 3 (AS3)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/), [F5 Application Services Templates (FAST)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/) ou outro modelo de infraestrutura como código (IaC) para gerenciar as configurações. Preparar as configurações em um modelo de IaC e usar repositórios de código ajudará na migração e em seus esforços contínuos de gerenciamento.

**Experiência**
+ Esse padrão exige familiaridade com a forma como um ou mais VPCs podem ser conectados aos data centers existentes. Para obter mais informações sobre isso, consulte as [opções de conectividade da Network-to-Amazon VPC na documentação](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) da Amazon VPC. 
+ [Também é necessária familiaridade com os produtos e módulos da F5, incluindo [Sistema Operacional de Gerenciamento de Tráfego (TMOS)](https://www.f5.com/services/resources/white-papers/tmos-redefining-the-solution), [Gerenciador de Tráfego Local (LTM)](https://www.f5.com/products/big-ip-services/local-traffic-manager), [Gerenciador de Tráfego Global (GTM)](https://techdocs.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm-concepts-11-5-0/1.html#unique_9842886), [Gerenciador de Política de Acesso (APM)](https://www.f5.com/products/security/access-policy-manager), [Gerenciador de Segurança de Aplicativos (ASM)](https://www.f5.com/pdf/products/big-ip-application-security-manager-overview.pdf), [Gerenciador de Firewall Avançado (AFM)(AFM)](https://www.f5.com/products/security/advanced-firewall-manager), e BIG-IQ](https://www.f5.com/products/automation-and-orchestration/big-iq).

**Versões do produto**
+ [Recomendamos que você use F5 BIG-IP [versão 13.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-ve-13-1-0.html) ou superior, embora o padrão suporte F5 BIG-IP versão 12.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-12-1-4.html) ou superior.

## Arquitetura
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-architecture"></a>

**Pilha de tecnologia de origem**
+ Workload F5 BIG-IP

**Pilha de tecnologias de destino**
+ Amazon CloudFront
+ CloudWatch
+ Amazon EC2
+ Amazon S3
+ Amazon VPC
+ AWS Global Accelerator
+ AWS STS
+ AWS Transit Gateway
+ F5 BIG-IP VE

**Arquitetura de destino**

![\[Arquitetura para migrar uma carga de trabalho F5 BIG-IP para uma carga de trabalho F5 BIG-IP VE.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/586fe806-fac1-48d3-9eb1-45a6c86430dc/images/16d7fc09-1ffe-4721-b503-d971db84cbae.png)


## Ferramentas
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-tools"></a>
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em Contas da AWS e. Regiões da AWS
+ [A Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) acelera a distribuição do seu conteúdo da web entregando-o por meio de uma rede mundial de data centers, o que reduz a latência e melhora o desempenho.   
+  CloudWatchA [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.
+ [O Amazon Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/ec2/)) fornece capacidade de computação escalável no Nuvem AWS Você pode iniciar quantos servidores virtuais precisar e escalá-los rapidamente para cima ou para baixo.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [AWS Security Token Service (AWS STS)](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) ajuda você a solicitar credenciais temporárias com privilégios limitados para os usuários.
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)é um hub central que conecta nuvens privadas virtuais (VPCs) e redes locais.
+ [A Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

## Épicos
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-epics"></a>

### Descoberta e avaliação
<a name="discovery-and-assessment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Avalie o desempenho do F5 BIG-IP. | Colete e registre as métricas de desempenho dos aplicativos no servidor virtual e as métricas dos sistemas que serão migrados. Isso ajudará a dimensionar corretamente a AWS infraestrutura de destino para uma melhor otimização de custos. | Arquiteto F5, engenheiro e arquiteto de rede, engenheiro | 
| Avalie o sistema operacional e a configuração do F5 BIG-IP. | Avalie quais objetos serão migrados e se uma estrutura de rede precisa ser mantida, como VLANs. | Arquiteto F5, engenheiro | 
| Avalie as opções de licença F5. | Avalie qual licença e modelo de consumo você precisará. Essa avaliação deve ser baseada em sua avaliação do sistema operacional e da configuração do F5 BIG-IP. | Arquiteto F5, engenheiro | 
| Avalie os aplicativos públicos. | Determine quais aplicativos exigirão endereços IP públicos. Alinhe esses aplicativos às instâncias e clusters necessários para atender aos requisitos de desempenho e Acordo de Serviço (SLA). | Arquiteto F5, arquiteto de nuvem, arquiteto de rede, engenheiro, equipes de aplicativos | 
| Avalie os aplicativos internos. | Avalie quais aplicativos serão usados pelos usuários internos. Certifique-se de saber em qual local esses usuários internos estão localizados na organização e como esses ambientes se conectam à Nuvem AWS. Você também deve garantir que esses aplicativos possam usar o sistema de nomes de domínio (DNS) como parte do domínio padrão. | Arquiteto F5, arquiteto de nuvem, arquiteto de rede, engenheiro, equipes de aplicativos | 
| Finalize a AMI. | Nem todas as versões F5 BIG-IP são criadas como Amazon Machine Images (). AMIs Você pode usar a ferramenta de geração de imagens F5 BIG-IP se tiver versões específicas de engenharia de correção rápida (QFE) necessárias. Para obter mais informações sobre essa ferramenta, consulte a seção “Recursos relacionados”. | Arquiteto F5, arquiteto de nuvem, engenheiro | 
| Finalize os tipos e a arquitetura da instância. | Decida sobre os tipos de instância, a arquitetura VPC e a arquitetura interconectada. | Arquiteto F5, arquiteto de nuvem, arquiteto de rede, engenheiro | 

### Atividades completas relacionadas à segurança e conformidade
<a name="complete-security-and-compliance-related-activities"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Documente as políticas de segurança F5 existentes. | Colete e documente as políticas de segurança F5 existentes. Certifique-se de criar uma cópia deles em um repositório de código seguro. | Arquiteto F5, engenheiro | 
| Criptografe a AMI. | (Opcional) Sua organização pode exigir criptografia de dados em repouso. Para obter mais informações sobre como criar uma imagem personalizada traga a sua própria licença (BYOL), consulte a seção “Recursos relacionados”. | Arquiteto F5, engenheiro, arquiteto de nuvem, engenheiro | 
| Conclua os dispositivos. | Isso ajudará a proteger contra possíveis vulnerabilidades. | Arquiteto F5, engenheiro | 

### Configure seu novo AWS ambiente
<a name="configure-your-new-aws-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie contas periféricas e de segurança. | Faça login no Console de gerenciamento da AWS e crie o Contas da AWS que fornecerá e operará os serviços de ponta e segurança. Essas contas podem ser diferentes das contas que operam VPCs para serviços e aplicativos compartilhados. Essa etapa pode ser concluída como parte de uma zona de pouso. | Arquiteto de nuvem, engenheiro | 
| Implemente a vantagem e a segurança VPCs. | Configure e configure o VPCs necessário para fornecer serviços de ponta e segurança. | Arquiteto de nuvem, engenheiro | 
| Conecte-se ao datacenter de origem. | Conecte-se ao datacenter de origem que hospeda sua workload F5 BIG-IP. | Arquiteto de nuvem, arquiteto de rede, engenheiro | 
| Implante as conexões VPC. | Conecte o serviço de borda e segurança VPCs ao aplicativo VPCs. | Arquiteto de rede, engenheiro | 
| Implante as instâncias. | Implante as instâncias usando os CloudFormation modelos da seção “Recursos relacionados”. | Arquiteto F5, engenheiro | 
| Teste e configure o failover da instância. | Certifique-se de que o modelo AWS Advanced HA iApp ou o F5 Cloud Failover Extension estejam configurados e operando corretamente. | Arquiteto F5, engenheiro | 

### Configurar redes
<a name="configure-networking"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare a topologia da VPC. | Abra o console da Amazon VPC e certifique-se de que sua VPC tenha todas as sub-redes e proteções necessárias para a implantação do F5 BIG-IP VE. | Arquiteto de rede, arquiteto F5, arquiteto de nuvem, engenheiro | 
| Prepare seus endpoints de VPC. | Prepare os endpoints VPC para Amazon EC2, Amazon S3 AWS STS e se uma carga de trabalho F5 BIG-IP não tiver acesso a um gateway NAT ou endereço IP elástico em uma interface TMM. | Arquiteto de nuvem, engenheiro | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre a configuração. | Realize a migração da configuração do F5 BIG-IP para o F5 BIG-IP VE na Nuvem AWS. | Arquiteto F5, engenheiro | 
| Associe o secundário IPs. | Os endereços IP do servidor virtual têm uma relação com os endereços IP secundários atribuídos às instâncias. Atribua endereços IP secundários e certifique-se de que a opção “Permitir remapeamento/reatribuição” esteja selecionada. | Arquiteto F5, engenheiro | 

### Testar as configurações
<a name="test-configurations"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as configurações do servidor virtual. | Teste os servidores virtuais. | Arquiteto F5, equipes de aplicativos | 

### Finalize as operações
<a name="finalize-operations"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a estratégia de backup. | Os sistemas devem ser desligados para criar um instantâneo completo. Para obter mais informações, consulte “Atualizar uma máquina virtual F5 BIG-IP” na seção “Recursos relacionados”. | Arquiteto F5, arquiteto de nuvem, engenheiro | 
| Crie o runbook de execução de failover do cluster. | Certifique-se de que o processo do runbook de failover esteja concluído. | Arquiteto F5, engenheiro | 
| Configure e valide o registro em log. | Configure o F5 Telemetry Streaming para enviar registros para os destinos necessários. | Arquiteto F5, engenheiro | 

### Concluir a substituição
<a name="complete-the-cutover"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Passe para a nova implantação. |  | Arquiteto F5, arquiteto de nuvem, arquiteto de rede, engenheiro, AppTeams | 

## Recursos relacionados
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-resources"></a>

**Guia de migração**
+ [Migrando do F5 BIG-IP para o F5 BIG-IP VE no Nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html)

**Recursos do F5**
+ [CloudFormation modelos no repositório F5 GitHub ](https://github.com/F5Networks/f5-aws-cloudformation)
+ [Entrada F5 AWS Marketplace](https://aws.amazon.com/marketplace/seller-profile?id=74d946f0-fa54-4d9f-99e8-ff3bd8eb2745)
+ [Visão geral do F5 BIG-IP VE](https://www.f5.com/products/big-ip-services/virtual-editions) 
+ [Exemplo de início rápido - Edição virtual BIG-IP com WAF (LTM \$1 ASM)](https://github.com/F5Networks/f5-aws-cloudformation-v2/tree/main/examples/quickstart)
+ [F5 Serviços de aplicativos ativados AWS: uma visão geral (vídeo)](https://www.youtube.com/watch?v=kutVjRHOAXo)
+ [Guia do usuário sobre extensão dos serviços de aplicativos F5](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/)
+ [Documentação da nuvem F5](https://clouddocs.f5.com/training/community/public-cloud/html/intro.html)
+ [Wiki REST do iControl F5](https://clouddocs.f5.com/api/icontrol-rest/)
+ [Visão geral de arquivos de configuração únicos F5 (11.x - 15.x)](https://support.f5.com/csp/article/K13408)
+ [Documentos técnicos da F5](https://www.f5.com/services/resources/white-papers)
+ [Ferramenta de geração de imagens F5 BIG-IP](https://clouddocs.f5.com/cloud/public/v1/ve-image-gen_index.html)
+ [Atualizando uma máquina virtual F5 BIG-IP VE](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-vmware-esxi-11-5-0/3.html)
+ [Visão geral da opção “migração de plataforma” do arquivo UCS](https://support.f5.com/csp/article/K82540512)

# Migrar um aplicativo web do Go on-premises para AWS Elastic Beanstalk usando o método binário
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method"></a>

*Suhas Basavaraj e Shumaz Mukhtar Kazi, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-summary"></a>

Esse padrão descreve como migrar um aplicativo web do Go on-premises para o AWS Elastic Beanstalk. Depois que o aplicativo é migrado, o Elastic Beanstalk cria o binário para o pacote de origem e o implanta em uma instância do Amazon Elastic Compute Cloud (Amazon). EC2

Como estratégia de migração para redefinir a hospedagem, a abordagem desse padrão é rápida e não requer alterações no-code, o que significa menos tempo de teste e migração. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um aplicativo web do Go on-premises
+ Um GitHub repositório que contém o código-fonte do seu aplicativo Go. Se você não usa GitHub, há outras maneiras de [criar um pacote de origem de aplicativos para o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html).

**Versões do produto**
+ A versão do Go mais recente compatível com o Elastic Beanstalk. Para obter mais informações, consulte a [Documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go).

## Arquitetura
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-architecture"></a>

**Pilha de tecnologia de origem**
+ Um aplicativo web do Go on-premises 

**Pilha de tecnologias de destino**
+ AWS Elastic Beanstalk
+ Amazon CloudWatch

**Arquitetura de destino*** *

![\[Arquitetura para migrar um aplicativo do Go para o Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cd8d660d-5621-4ea7-8f97-7a1e321c57d3/images/1df543d9-7073-43d8-abd3-f1f7e57278eb.png)


## Ferramentas
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-tools"></a>
+ Com o [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html), é possível implantar e gerenciar rapidamente aplicativos na Nuvem AWS sem que os usuários tenham que se preocupar com a infraestrutura que os executa. O Elastic Beanstalk reduz a complexidade de gerenciamento sem restringir as escolhas nem o controle.
+ [GitHub](https://github.com/)é um sistema de controle de versão distribuído de código aberto.

## Épicos
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-epics"></a>

### Crie o arquivo .zip do pacote de origem do aplicativo web do Go
<a name="create-the-go-web-application-source-bundle-zip-file"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o pacote de origem do aplicativo web do Go  | Abra o GitHub repositório que contém o código-fonte do seu aplicativo Go e prepare o pacote de origem. O pacote de origem contém um arquivo de origem `application.go` no diretório raiz, que hospeda o pacote principal do seu aplicativo Go. Se você não usa GitHub, consulte a seção *Pré-requisitos* anteriormente neste padrão para ver outras formas de criar seu pacote de origem do aplicativo. | Administrador do sistema, desenvolvedor de aplicativos | 
| Criar um arquivo de configuração. | Crie uma pasta `.ebextensions` em seu pacote de origem e, em seguida, crie um arquivo `options.config` dentro dessa pasta. Para obter mais informações, consulte a [Documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html). | Administrador do sistema, desenvolvedor de aplicativos | 
|  Crie o arquivo .zip do pacote de origem. | Execute o comando a seguir.<pre>git archive -o ../godemoapp.zip HEAD</pre>Isso cria o arquivo .zip do pacote de origem. Baixe e salve o arquivo .zip como um arquivo local. O arquivo .zip deve ter, no máximo, 512 MB e não deve incluir uma pasta principal ou um diretório de nível superior. | Administrador do sistema, desenvolvedor de aplicativos | 

### Migrar um aplicativo web do Go para o Elastic Beanstalk
<a name="migrate-the-go-web-application-to-elastic-beanstalk"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecione o aplicativo do Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html)Para obter instruções sobre como criar um aplicativo do Elastic Beanstalk, consulte a [documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html). | Administrador do sistema, desenvolvedor de aplicativos | 
| Inicie o ambiente de servidor web do Elastic Beanstalk.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador do sistema, desenvolvedor de aplicativos | 
| Faça upload do arquivo .zip do pacote de origem no Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador do sistema, desenvolvedor de aplicativos | 
| Teste o aplicativo web do Go implantado. | Você será redirecionado para a página de visão geral do aplicativo do Elastic Beanstalk. Na parte superior da visão geral, ao lado de **ID do ambiente**, escolha a URL que termina em `elasticbeanstalk.com` com para navegar até seu aplicativo. Seu aplicativo deve usar esse nome em seu arquivo de configuração como uma variável de ambiente e exibi-lo na página web. | Administrador do sistema, desenvolvedor de aplicativos | 

## Solução de problemas
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não é possível acessar o aplicativo por meio de um Application Load Balancer. | Verifique o grupo de destino que contém o aplicativo do Elastic Beanstalk. Se não estiver íntegro, faça login na sua instância do Elastic Beanstalk e verifique a configuração do arquivo `nginx.conf` para verificar se ele é roteado para a URL correta do status de integridade. Você pode precisar alterar a URL de verificação de integridade do grupo de destino. | 

## Recursos relacionados
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-resources"></a>
+ [Versões da plataforma Go compatíveis com o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go)
+ [Usando arquivos de configuração com o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html)
+ [Criação de um aplicativo de exemplo no Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) 

# Migrar um servidor SFTP local para usar AWS AWS Transfer for SFTP
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp"></a>

*Akash Kumar, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-summary"></a>

Esse padrão descreve como migrar uma solução de transferência de arquivos local que usa o protocolo de transferência de arquivos (SFTP) do Secure Shell (SSH) para o Nuvem AWS usando o serviço. AWS Transfer for SFTP Os usuários geralmente se conectam a um servidor SFTP por meio de seu nome de domínio ou por IP fixo. Esse padrão abrange os dois casos.

AWS Transfer for SFTP é membro do AWS Transfer Family. É um serviço de transferência seguro que você pode usar para transferir arquivos para dentro e para fora dos serviços de AWS armazenamento via SFTP. Você pode usar AWS Transfer for SFTP com o Amazon Simple Storage Service (Amazon S3) ou o Amazon Elastic File System (Amazon EFS). Esse padrão usa o Amazon S3 para armazenamento.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Um nome de domínio SFTP existente ou IP fixo do SFTP.

**Limitações**
+ O maior objeto que você pode transferir em uma solicitação atualmente é de 5 GiB. Para arquivos maiores que 100 MiB, considere usar o [upload de várias partes do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html).

## Arquitetura
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-architecture"></a>

**Pilha de tecnologia de origem**
+ Arquivos simples on-premises ou arquivos de despejo de banco de dados.

**Pilha de tecnologias de destino**
+ AWS Transfer for SFTP
+ Amazon S3
+ Amazon Virtual Private Cloud (Amazon VPC)
+ AWS Identity and Access Management Funções e políticas (IAM)
+ Endereços IP elásticos
+ Grupos de segurança
+ Amazon CloudWatch Logs (opcional)

**Arquitetura de destino**

![\[Uso do AWS Transfer for SFTP para migrar um servidor SFTP on-premises para a Nuvem AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/ec0a905c-edef-48ba-9b5e-ea4a4040d320/images/f42aa711-bfe0-4ac6-9f66-5c18a1dd1c7a.png)


**Automação e escala**

Para automatizar a arquitetura de destino desse padrão, use os CloudFormation modelos anexados:
+ `amazon-vpc-subnets.yml` provisiona uma nuvem privada virtual (VPC) com duas sub-redes públicas e duas privadas.
+ `amazon-sftp-server.yml` provisiona o servidor SFTP.
+ `amazon-sftp-customer.yml` adiciona usuários.

## Ferramentas
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Esse padrão usa o Amazon S3 como sistema de armazenamento para transferências de arquivos.
+ [AWS Transfer for SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)ajuda você a transferir arquivos para dentro e para fora dos serviços de AWS armazenamento pelo protocolo SFTP.
+ [A Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

## Épicos
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-epics"></a>

### Crie uma VPC
<a name="create-a-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC com sub-redes. | Abra o [console da Amazon VPC](https://console.aws.amazon.com/vpc/). Criar uma nuvem privada virtual (VPC) com duas sub-redes públicas. (A segunda sub-rede fornece alta disponibilidade.)—ou—Você pode implantar o CloudFormation modelo em anexo`amazon-vpc-subnets.yml`,, no [CloudFormation console](https://console.aws.amazon.com/cloudformation) para automatizar as tarefas neste épico. | Desenvolvedor, administrador de sistemas | 
| Um gateway da internet. | Forneça um gateway da Internet e anexe-o à VPC. | Desenvolvedor, administrador de sistemas | 
| Migre um IP existente. | Anexe um IP existente ao endereço IP elástico. É possível criar um endereço IP elástico de seu grupo de endereços e usá-lo. | Desenvolvedor, administrador de sistemas | 

### Provisione um servidor SFTP.
<a name="provision-an-sftp-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um servidor SFTP. | Abra o [console do AWS Transfer Family](https://console.aws.amazon.com/transfer/). Siga as instruções em [Criar um endpoint voltado para a Internet para seu servidor na AWS Transfer Family documentação para criar um servidor](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) SFTP com um endpoint voltado para a Internet. Em **Tipo de endpoint**, selecione **VPC hospedada**. Em **Acesso**, escolha **Voltado para internet**. Para **VPC**, escolha a VPC que você criou no épico anterior.—ou—Você pode implantar o CloudFormation modelo em anexo`amazon-sftp-server.yml`,, no [CloudFormation console](https://console.aws.amazon.com/cloudformation) para automatizar as tarefas neste épico. | Desenvolvedor, administrador de sistemas | 
| Migre o nome do domínio. | Anexe o nome de domínio existente ao nome de host personalizado. Se você estiver usando um novo nome de domínio, use o alias do **DNS do Amazon Route 53**. Para um nome de domínio existente, escolha **Outro DNS**. Para obter mais informações, consulte Como [trabalhar com nomes de host personalizados](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html) na AWS Transfer Family documentação. | Desenvolvedor, administrador de sistemas | 
| Adicione uma função de CloudWatch registro. | (Opcional) se você quiser ativar o CloudWatch registro, crie um `Transfer` papel com as operações da API CloudWatch Logs `logs:CreateLogGroup` `logs:CreateLogStream`` logs:DescribeLogStreams`,, `logs:PutLogEvents` e. Para obter mais informações, consulte [Registrar atividades CloudWatch](https://docs.aws.amazon.com/transfer/latest/userguide/monitoring.html#monitoring-enabling) na AWS Transfer Family documentação. | Desenvolvedor e administrador de sistemas | 
| Salve e envie. | Escolha **Salvar**. Em **Ações**, escolha **Iniciar** e aguarde até que o servidor SFTP seja criado com o status **Online**. | Desenvolvedor, administrador de sistemas | 

### Mapeie endereços IP elásticos para o servidor SFTP
<a name="map-elastic-ip-addresses-to-the-sftp-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Pare o servidor para que você possa modificar as configurações. | No [console do AWS Transfer Family](https://console.aws.amazon.com/transfer/), escolha **Servidores** e, em seguida, selecione o servidor SFTP que você criou. Em **Ações**, escolha **Interromper**. Quando o servidor estiver off-line, escolha **Editar** para modificar suas configurações. | Desenvolvedor e administrador de sistemas | 
| Escolha zonas de disponibilidade e sub-redes. | Na seção **Zonas de disponibilidade**, escolha suas Zonas de Disponibilidade e sub-redes para sua VPC. | Desenvolvedor, administrador de sistemas | 
| Adicionar endereços IP elásticos. | Em **IPv4 Endereços**, escolha um endereço IP elástico para cada sub-rede e escolha **Salvar**. | Desenvolvedor, administrador de sistemas | 

### Adição de usuários
<a name="add-users"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um perfil do IAM para que os usuários acessem o bucket do S3. | Crie um perfil do IAM para `Transfer`** **e adicione ` s3:ListBucket`,` s3:GetBucketLocation` e `s3:PutObject` com o nome do bucket do S3 como recurso. Para obter mais informações, consulte [Criar uma função e uma política do IAM](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html) na AWS Transfer Family documentação.—ou—Você pode implantar o CloudFormation modelo em anexo`amazon-sftp-customer.yml`,, no [CloudFormation console](https://console.aws.amazon.com/cloudformation) para automatizar as tarefas neste épico. | Desenvolvedor, administrador de sistemas | 
| Criar um bucket do S3. | Crie um bucket do S3 para o aplicativo. | Desenvolvedor, administrador de sistemas | 
| Crie uma pasta opcional. | (Opcional) Se você quiser armazenar arquivos para usuários separadamente, em pastas específicas do Amazon S3, adicione pastas conforme apropriado. | Desenvolvedor, administrador de sistemas | 
| Crie uma chave pública SSH. | Para criar um par de chaves SSH, consulte [Gerar chaves SSH](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#sshkeygen) na AWS Transfer Family documentação. | Desenvolvedor, administrador de sistemas | 
| Adicionar usuários. | No [console do AWS Transfer Family](https://console.aws.amazon.com/transfer/), escolha **Servidores**, selecione o servidor SFTP que você criou e, em seguida, clique em **Adicionar usuário**. Para **Diretório inicial**, escolha o bucket S3 que você criou. Em **chave pública SSH**, especifique a parte da chave pública SSH do par de chaves SSH. Adicione usuários ao servidor SFTP e escolha **Adicionar**. | Desenvolvedor, administrador de sistemas | 

### Teste o servidor SFTP.
<a name="test-the-sftp-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualizar o grupo de segurança | Na seção **Grupo de segurança** do seu servidor SFTP, adicione o IP da sua máquina de teste para obter acesso ao SFTP. | Desenvolvedor | 
| Use um utilitário de cliente SFTP para testar o servidor. | Teste as transferências de arquivos usando qualquer utilitário de cliente SFTP. Para obter uma lista de clientes e instruções, consulte [Transferência de arquivos usando um cliente](https://docs.aws.amazon.com/transfer/latest/userguide/transfer-file.html) na AWS Transfer Family documentação. | Desenvolvedor | 

## Recursos relacionados
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-resources"></a>
+ [AWS Transfer Family Guia do usuário](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [Guia do usuário do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [Endereços IP elásticos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) na EC2 documentação da Amazon

## Anexos
<a name="attachments-ec0a905c-edef-48ba-9b5e-ea4a4040d320"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/ec0a905c-edef-48ba-9b5e-ea4a4040d320/attachments/attachment.zip)

# Migre uma VM local para a Amazon EC2 usando o AWS Application Migration Service
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service"></a>

*Thanh Nguyen, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-summary"></a>

Quando se trata de migração de aplicativos, as organizações podem adotar abordagens diferentes para redefinir a hospedagem (mover sem alterações (lift-and-shift)) os servidores do aplicativo do ambiente on-premises para a Nuvem da Amazon Web Services (AWS). Uma forma é provisionar novas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e, em seguida, instalar e configurar o aplicativo do zero. Outra abordagem é usar serviços de migração de terceiros ou nativos da AWS para migrar vários servidores ao mesmo tempo.

Esse padrão descreve as etapas para migrar uma máquina virtual (VM) compatível para uma EC2 instância da Amazon na nuvem da AWS usando o AWS Application Migration Service. Você pode usar a abordagem deste padrão para migrar uma ou várias máquinas virtuais manualmente, uma por uma ou automaticamente ao criar scripts de automação apropriados com base nas etapas descritas. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-prereqs"></a>

**Pré-requisitos **
+ Uma conta ativa da AWS em uma das regiões da AWS compatíveis com o Serviço de migração de aplicativos
+ Conectividade de rede entre o servidor de origem e o EC2 servidor de destino por meio de uma rede privada usando o AWS Direct Connect ou uma rede privada virtual (VPN), ou pela Internet

**Limitações**
+ Para obter a lista mais recente das regiões aceitas, consulte as [Regiões da AWS compatíveis](https://docs.aws.amazon.com/mgn/latest/ug/supported-regions.html).
+ Para obter uma lista dos sistemas operacionais compatíveis, consulte a seção [Sistemas operacionais compatíveis](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html) e a seção *Geral* da [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

## Arquitetura
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-architecture"></a>

**Pilha de tecnologia de origem**
+ Um servidor físico, virtual ou hospedado na nuvem executando um sistema operacional suportado pela Amazon EC2

**Pilha de tecnologias de destino**
+ Uma EC2 instância da Amazon executando o mesmo sistema operacional da VM de origem
+ Amazon Elastic Block Store (Amazon EBS)

**Arquitetura de origem e destino**

O diagrama a seguir mostra a arquitetura de alto nível e os principais componentes da solução. No datacenter on-premises, há máquinas virtuais com discos on-premises. Na AWS, há uma área de preparação com servidores de replicação e uma área de recursos migrados com EC2 instâncias para teste e transferência. As duas sub-redes contêm volumes do EBS.

![\[Principais componentes para migrar uma VM compatível para uma EC2 instância da Amazon na nuvem da AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/f8396fad-7ee9-4f75-800f-e819f509e151.png)


1. Inicializar o Serviço de migração de aplicativos da AWS.

1. Configure a configuração e os relatórios do servidor da área de preparação, incluindo os recursos da área de preparação.

1. Instale agentes nos servidores de origem e use a replicação contínua de dados em nível de bloco (compactada e criptografada).

1. Automatize a orquestração e a conversão do sistema para reduzir a janela de substituição.

**Arquitetura de rede**

O diagrama a seguir mostra a arquitetura de alto nível e os principais componentes da solução do ponto de vista da rede, incluindo protocolos e portas necessários para comunicação entre os componentes principais no datacenter on-premises e na AWS.

![\[Componentes de rede, incluindo protocolos e portas, para a comunicação entre o data center e a AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/2f594daa-ddba-4841-8785-6067e8d83c2f.png)


## Ferramentas
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-tools"></a>
+ O [Serviço de migração de aplicativos da AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) ajuda você a redefinir a hospedagem (*mover sem alterações (lift-and-shift)) aplicativos na nuvem da Nuvem AWS sem alterações e com o mínimo de* tempo de inatividade.

## Práticas recomendadas
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-best-practices"></a>
+ Não coloque o servidor de origem off-line nem execute uma reinicialização até que a transição para a EC2 instância de destino seja concluída.
+ Ofereça ampla oportunidade para que os usuários realizem testes de aceitação do usuário (UAT) no servidor de destino para identificar e resolver quaisquer problemas. Preferencialmente, os testes devem ter início pelo menos duas semanas antes da substituição.
+ Monitore com frequência o status de replicação do servidor no console do Serviço de migração de aplicativos para identificar problemas logo no início.
+ Use credenciais temporárias do AWS Identity and Access Management (IAM) para instalação do agente, em vez das credenciais permanentes do usuário do IAM.

## Épicos
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-epics"></a>

### Gerar credenciais de AWS
<a name="generate-aws-credentials"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o perfil do IAM do AWS Replication Agent. | Faça login com permissões administrativas para a Conta AWS.No [console](https://console.aws.amazon.com/iam/) do AWS Identity and Access Management (IAM), crie um perfil do IAM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html) | Administrador da AWS, engenheiro de migração | 
| Gerar credenciais de segurança temporárias | Em uma máquina com AWS Command Line Interface (AWS CLI) instalada, faça login com permissões administrativas. Ou, alternativamente (dentro de uma região da AWS compatível), no Console de Gerenciamento da AWS, faça login com permissões administrativas na conta da AWS e abra a AWS CloudShell.Gere credenciais temporárias com o comando a seguir, substituindo `<account-id>` pelo ID da conta da AWS.`aws sts assume-role --role-arn arn:aws:iam::<account-id>:role/MGN_Agent_Installation_Role --role-session-name mgn_installation_session_role`Na saída do comando, copie os valores para `AccessKeyId`,** **`SecretAccessKey`, e** **`SessionToken`.** **Armazene-os em um local seguro para uso posterior.Essas credenciais temporárias expirarão após uma hora. Se você precisar de credenciais após uma hora, repita as etapas anteriores. | Administrador da AWS, engenheiro de migração | 

### Inicialize o Serviço de migração de aplicativos e crie o modelo de Configurações de replicação
<a name="initialize-application-migration-service-and-create-the-replication-settings-template"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicialize o serviço. | No console, faça login com permissões administrativas para a Conta AWS.Escolha **Serviço de migração de aplicativos** e, em seguida, escolha **Começar**. | Administrador da AWS, engenheiro de migração | 
| Crie e configure o modelo de Configurações de replicação. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)O Serviço de migração de aplicativos criará automaticamente todos os perfis do IAM necessários para facilitar a replicação de dados e a inicialização de servidores migrados. | Administrador da AWS, engenheiro de migração | 

### Instale AWS Replication Agents nas máquinas de origem
<a name="install-aws-replication-agents-on-source-machines"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Tenha as credenciais exigidas da AWS prontas. | Ao executar o arquivo do instalador em um servidor de origem, você precisará inserir as credenciais temporárias geradas anteriormente, incluindo `AccessKeyId`, `SecretAccessKey`, e `SessionToken`. | Engenheiro de migração, administrador da AWS | 
| Para servidores Linux, instale o agente. | Copie o comando do instalador, faça login nos servidores de origem e execute o instalador. Para obter instruções detalhadas, consulte a [Documentação da AWS](https://docs.aws.amazon.com/mgn/latest/ug/linux-agent.html). | Administrador da AWS, engenheiro de migração | 
| Para servidores Windows, instale o agente. | Baixe o arquivo do instalador para cada servidor e, em seguida, execute o comando do instalador. Para obter instruções detalhadas, consulte a [Documentação da AWS](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html). | Administrador da AWS, engenheiro de migração | 
| Aguarde até que a replicação inicial dos dados seja concluída. | Quando o agente for instalado, o servidor de origem aparecerá no console do Serviço de migração de aplicativos, na seção **Servidores de origem**. Aguarde enquanto o servidor passa pela replicação inicial dos dados. | Administrador da AWS, engenheiro de migração | 

### Define as configurações de inicialização
<a name="configure-launch-settings"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Especificar os detalhes do servidor. | No console do Serviço de migração de aplicativos, escolha a seção **Servidores de origem** e, em seguida, escolha um nome de servidor na lista para acessar os detalhes do servidor. | Administrador da AWS, engenheiro de migração | 
| Define as configurações de inicialização.  | Escolha a guia **Configurações de inicialização**. Você pode definir uma variedade de configurações, incluindo configurações gerais de lançamento e configurações do modelo de EC2 lançamento. Para obter instruções detalhadas, consulte a [Documentação da AWS](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | Administrador da AWS, engenheiro de migração | 

### Realize um teste
<a name="perform-a-test"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Teste os servidores de origem. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Os servidores serão inicializados. | Administrador da AWS, engenheiro de migração | 
| Verifique se o teste teve êxito. | Depois que os servidores de teste forem completamente iniciados, o status de **Alertas** na página mostrará **Iniciado** para cada servidor. | Administrador da AWS, engenheiro de migração | 
| Teste o servidor. | Execute testes no servidor de teste para garantir que ele funcione conforme o esperado. | Administrador da AWS, engenheiro de migração | 

### Agende e realize uma substituição
<a name="schedule-and-perform-a-cutover"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Agende uma janela de substituição. | Agende uma agenda de substituição adequado com as equipes relevantes. | Administrador da AWS, engenheiro de migração | 
| Execute a substituição. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)O **ciclo de vida da migração** do servidor de origem mudará para **Substituição em andamento**. | Administrador da AWS, engenheiro de migração | 
| Verifique se a substituição foi concluída com êxito. | Depois que os servidores de substituição forem completamente iniciados, o status de **alertas** na página **Servidores de origem** mostrará **Inicializado** para cada servidor. | Administrador da AWS, engenheiro de migração | 
| Teste o servidor. | Execute testes no servidor de substituição para garantir que ele funcione conforme o esperado. | Administrador da AWS, engenheiro de migração | 
| Finalize a substituição. | Escolha **Teste e Substituição** e, em seguida, selecione **Finalizar substituição** para finalizar o processo de migração. | Administrador da AWS, engenheiro de migração | 

## Recursos relacionados
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-resources"></a>
+ [Serviço de migração de aplicativos da AWS](https://aws.amazon.com/application-migration-service/)
+ [Guia do usuário do serviço de migração de aplicativos da AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)

# Migre pequenos conjuntos de dados do local para o Amazon S3 usando AWS SFTP
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp"></a>

*Charles Gibson e Sergiy Shevchenko, Amazon Web Services*

## Resumo
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-summary"></a>

Esse padrão descreve como migrar pequenos conjuntos de dados (5 TB ou menos) de datacenters locais para o Amazon Simple Storage Service (Amazon S3) usando (). AWS Transfer for SFTP AWS SFTP Os dados podem ser despejos de banco de dados ou arquivos simples.

## Pré-requisitos e limitações
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Um AWS Direct Connect link estabelecido entre seu data center e AWS

**Limitações**
+ Os arquivos de dados devem ter menos de 5 TB. Para arquivos acima de 5 TB, você pode realizar um upload de várias partes para o Amazon S3 ou escolher outro método de transferência de dados. 

## Arquitetura
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-architecture"></a>

**Pilha de tecnologia de origem**
+ Arquivos simples on-premises ou despejos de banco de dados

**Pilha de tecnologias de destino**
+ Amazon S3

**Arquitetura de origem e destino**

![\[Diagram showing data flow from on-premises servers to Nuvem AWS services via Direct Connect and VPN.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a9c016ff-3e68-4714-ac51-46cb4727397a/images/5c5bb9ea-d552-44e8-8d0d-df341f84f55d.png)


## Ferramentas
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-tools"></a>
+ [AWS SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)— Permite a transferência de arquivos diretamente para dentro e para fora do Amazon S3 usando o Secure File Transfer Protocol (SFTP).
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)— Estabelece uma conexão de rede dedicada de seus data centers locais para o. AWS
+ [VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) — permitem que você conecte de forma privada uma VPC a serviços de endpoint de VPC compatíveis Serviços da AWS e fornecidos sem um gateway de internet, dispositivo de tradução AWS PrivateLink de endereços de rede (NAT), conexão VPN ou conexão. Direct Connect As instâncias na VPC não exigem que endereços IP públicos se comuniquem com recursos no serviço.

## Épicos
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Documente os requisitos atuais do SFTP. |  | Proprietário do aplicativo e SA | 
| Identifique os requisitos de autenticação. | Os requisitos podem incluir autenticação baseada em chave, nome de usuário ou senha ou provedor de identidades (IdP). | Proprietário do aplicativo e SA | 
| Identifique os requisitos de integração do aplicativo. |  | Proprietário do aplicativo | 
| Identifique os usuários que precisam do serviço. |  | Proprietário do aplicativo | 
| Determine o nome DNS do endpoint do servidor SFTP. |  | Redes | 
| Determine a estratégia de backup. |  | SA, DBA (se os dados forem transferidos)  | 
| Identifique a migração do aplicativo ou a estratégia de substituição. |  | Proprietário do aplicativo, SA e DBA | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma ou mais nuvens privadas virtuais (VPCs) e sub-redes no seu. Conta da AWS |  | Proprietário do aplicativo e AMS | 
| Criar grupos de segurança e lista de controle de acesso (ACL) de rede. |  | Segurança, redes e AMS | 
| Crie o bucket do Amazon S3. |  | Proprietário do aplicativo e AMS | 
| Crie a função AWS Identity and Access Management (IAM). | Crie uma política do IAM que inclua as permissões para permitir o acesso AWS SFTP ao seu bucket do Amazon S3. Essa política do IAM determina o nível de acesso que você fornece aos usuários do SFTP. Crie outra política do IAM com a qual estabelecer uma relação de confiança AWS SFTP. | Segurança e AMS | 
| Associe um domínio registrado (opcional). | Se você tiver seu próprio domínio registrado, poderá associá-lo ao servidor SFTP. Você pode rotear o tráfego do SFTP para o seu endpoint de servidor SFTP de um domínio ou de um subdomínio. | Redes e AMS | 
| Crie um servidor SFTP. | Especifique o tipo de provedor de identidade usado pelo serviço para autenticar seus usuários. | Proprietário do aplicativo e AMS | 
| Abra um cliente SFTP. | Abra um cliente SFTP e configure a conexão para usar o host do endpoint SFTP. AWS SFTP suporta qualquer cliente SFTP padrão. Os clientes SFTP comumente usados incluem OpenSSH, WinSCP, Cyberduck e. FileZilla Você pode obter o nome do host do servidor SFTP no AWS SFTP console. | Proprietário do aplicativo e AMS | 

### Planejar e testar
<a name="plan-and-test"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Planeje a migração do aplicativo. | Planeje todas as alterações necessárias na configuração do aplicativo, defina a data da migração e determine o cronograma de testes. | Proprietário do aplicativo e AMS | 
| Teste a infraestrutura. | Teste em um ambiente que não seja de produção. | Proprietário do aplicativo e AMS | 

## Recursos relacionados
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-resources"></a>

**Referências**
+ [AWS Transfer for SFTP Guia do usuário](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS Direct Connect recursos](https://aws.amazon.com/directconnect/resources/) 
+ [VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)

**Tutoriais e vídeos**
+ [AWS Transfer for SFTP (vídeo)](https://www.youtube.com/watch?v=wcnGez5PP1E)
+ [AWS Transfer for SFTP guia do usuário](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS SA Whiteboard - Direct Connect (vídeo)](https://www.youtube.com/watch?v=uP68iqyuqTg)

# Migre um banco de dados Oracle local para o Oracle na Amazon EC2
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2"></a>

*Baji Shaik e Pankaj Choudhary, da Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-summary"></a>

Esse padrão orienta você pelas etapas de migração de um banco de dados Oracle local para a Oracle em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Ele descreve duas opções de migração: usar o AWS Data Migration Service (AWS DMS) ou usar ferramentas nativas da Oracle, como RMAN, importação/exportação do Data Pump, espaços de tabela transportáveis e Oracle. GoldenGate 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle de origem em um datacenter on-premises

**Limitações**
+ O sistema operacional (SO) de destino deve ser suportado pela Amazon EC2. Para obter uma lista completa dos sistemas compatíveis, consulte [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

**Versões do produto**
+ Oracle versões 10.2 e posterior (para versões 10.x), 11g e até 12.2 e 18c para as edições Enterprise, Standard, Standard One e Standard Two. Para obter a lista mais recente de versões suportadas pelo AWS DMS, consulte “Bancos de dados de EC2 instâncias locais e da Amazon” em [Fontes para migração de dados na documentação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) do AWS DMS.  

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Oracle on-premises

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados Oracle na Amazon EC2

**Arquitetura de destino**

![\[Configurando a replicação para um banco de dados Oracle na Amazon EC2.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/386d5b14-8633-4ecc-98fb-59872de99d41.png)


**Arquitetura de migração de dados**

*Uso do AWS DMS:*

![\[Migração de um banco de dados Oracle local para a Amazon com o EC2 AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/14954066-d22b-486a-a432-265296752878.png)


*Uso de ferramentas nativas da Oracle:*

![\[Migração de um banco de dados Oracle local para a Amazon EC2 com ferramentas da Oracle.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/82ba5fcb-8640-45fa-b432-2702dedc0774.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-tools"></a>
+ **AWS DMS: ** o [AWS Database Migration Services](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) oferece suporte a vários bancos de dados de origem e destino. Para obter informações sobre as versões e edições do banco de dados compatíveis, consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos.  
+ **Ferramentas nativas da Oracle -** RMAN, importação/exportação de Data Pump, espaços de tabela transportáveis, Oracle GoldenGate                                                         

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Valide as versões dos bancos de dados de origem e de destino. |  | DBA | 
|  Identifique a versão do sistema operacional de destino. |  | DBA, SysAdmin | 
| Identificar os requisitos de hardware para a instância do servidor de destino com base na lista de compatibilidade da Oracle e nos requisitos de capacidade. |  | DBA, SysAdmin | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Identifique os requisitos de rede (latência e largura de banda). |  | DBA, SysAdmin | 
| Escolher o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança de network/host acesso para bancos de dados de origem e destino. |  | DBA, SysAdmin | 
| Identifique uma lista de usuários do sistema operacional necessários para a instalação do software Oracle. |  | DBA, SysAdmin | 
| Faça o download da AWS Schema Conversion Tool (AWS SCT) e dos drivers. |  | DBA | 
| Crie um projeto AWS SCT para o workload e conecte-se ao banco de dados de origem. |  | DBA | 
| Gere arquivos SQL para a criação de objetos (tabelas, índices, sequências etc.). |  | DBA | 
| Determine uma estratégia de backup. |  | DBA, SysAdmin  | 
| Determine os requisitos de disponibilidade. |  | DBA | 
| Identifique a migração de aplicativos / a estratégia de transição. |  | DBA SysAdmin, proprietário do aplicativo | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma nuvem privada virtual (VPC) e sub-redes na sua conta da AWS. |  | SysAdmin | 
| Crie grupos de segurança e listas de controle de acesso à rede (ACLs). |  | SysAdmin | 
| Configure e inicie a EC2 instância. |  | SysAdmin | 

### Instalar o software Oracle
<a name="install-the-oracle-software"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie os usuários e grupos do sistema operacional necessários para o software Oracle. |  | DBA, SysAdmin | 
| Baixe a versão necessária do software Oracle. |  |  | 
| Instale o software Oracle na EC2 instância. |  | DBA, SysAdmin | 
| Crie objetos como tabelas, chaves primárias, visualizações e sequências usando os scripts gerados pelo AWS SCT. |  | DBA | 

### Migrar dados - opção 1
<a name="migrate-data---option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas da Oracle ou ferramentas de terceiros para migrar dados e objetos do banco de ados. | As ferramentas da Oracle incluem importação/exportação do Data Pump, RMAN, espaços de tabela transportáveis e. GoldenGate | DBA | 

### Migrar dados - opção 2
<a name="migrate-data---option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Determine o método de migração. |  | DBA | 
| Crie uma instância de replicação no console do AWS DMS. |  | DBA | 
| Crie endpoints de origem e de destino. |  | DBA | 
| Criar uma tarefa de replicação. |  | DBA | 
| Habilite a captura de dados de alteração (CDC) para capturar alterações para uma replicação contínua. |  | DBA | 
| Execute a tarefa de replicação e monitore os logs. |  | DBA | 
| Crie objetos secundários, como índices e chaves estrangeiras, quando o carregamento completo estiver concluído. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. |  | DBA SysAdmin, proprietário do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de substituição/transição de aplicativo. |  | DBA SysAdmin, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários do AWS Secrets Manager. |  | DBA, SysAdmin | 
| Revise e valide os documentos do projeto. |  | DBA SysAdmin, proprietário do aplicativo | 
| Reúna métricas sobre o tempo de migração, % de manual x ferramenta, economia de custos etc. |  | DBA SysAdmin, proprietário do aplicativo | 
| Feche o projeto e forneça feedback. |  |  | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-resources"></a>

**Referências**
+ [Estratégias para migrar bancos de dados Oracle para a AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html) 
+ [Migrar bancos de dados Oracle para a Nuvem AWS ](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/)
+ [ EC2 Site da Amazon](https://aws.amazon.com/ec2/)
+ [Site do AWS DMS](https://aws.amazon.com/dms/)
+ [Publicações no blog do AWS DMS](https://aws.amazon.com/blogs/database/category/dms/)
+ [ EC2 Preços da Amazon](https://aws.amazon.com/ec2/pricing/)
+ [Licenciamento do software Oracle no ambiente de computação em nuvem](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

**Tutoriais e vídeos**
+ [Começando com a Amazon EC2](https://aws.amazon.com/ec2/getting-started/)
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introdução à Amazon EC2 — Elastic Cloud Server e hospedagem com AWS (vídeo)](https://www.youtube.com/watch?v=TsRBftzZsQo) 

# Migre um banco de dados Oracle local para a Amazon EC2 usando o Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump"></a>

*Navakanth Talluri, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-summary"></a>

Ao migrar bancos de dados, você deve considerar fatores como os mecanismos e as versões do banco de dados de origem e de destino, ferramentas e serviços de migração e períodos de inatividade aceitáveis. Se você estiver migrando um banco de dados Oracle local para o Amazon Elastic Compute Cloud (Amazon EC2), você pode usar ferramentas da Oracle, como o Oracle Data Pump e o Oracle Recovery Manager (RMAN). Para obter mais informações sobre estratégias, consulte [Migração de bancos de dados Oracle para a nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html).

O Oracle Data Pump ajuda você a extrair o backup lógico e consistente do banco de dados e restaurá-lo na EC2 instância de destino. Esse padrão descreve como migrar um banco de dados Oracle local para uma EC2 instância usando o Oracle Data Pump e o `NETWORK_LINK` parâmetro, com o mínimo de tempo de inatividade. O `NETWORK_LINK` parâmetro inicia uma importação por meio de um link de banco de dados. O cliente Oracle Data Pump Import (impdp) na EC2 instância de destino se conecta ao banco de dados de origem, recupera dados dele e grava os dados diretamente no banco de dados na instância de destino. Não há arquivos de backup ou de *despejo* usados nessa solução.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados da Oracle no on-premises que:
  + Não é um banco de dados Oracle Real Application Clusters (RAC)
  + Não é um banco de dados Oracle Automatic Storage Management (Oracle ASM)
  + Está no modo leitura/gravação.
+ Você criou um link do AWS Direct Connect entre o datacenter on-premises e a AWS. Para obter mais informações, consulte [Criar uma conexão](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html) (documentação do Direct Connect).

**Versões do produto**
+ Oracle Database 10g Versão 1 (10.1) e posteriores

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-architecture"></a>

**Pilha de tecnologia de origem**
+ Um servidor de banco de dados Oracle autônomo (não RAC e não ASM) em um datacenter on-premises

**Pilha de tecnologias de destino**
+ Um banco de dados Oracle em execução na Amazon EC2

**Arquitetura de destino**

O [pilar de confiabilidade](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) do AWS Well-Architected Framework recomenda a criação de backups de dados para ajudar a fornecer alta disponibilidade e resiliência. Para obter mais informações, consulte [Arquitetura para alta disponibilidade](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-high-availability.html#amazon-ec2) em *Melhores práticas para execução do banco de dados Oracle na AWS*. Esse padrão configura bancos de dados primários e standby em EC2 instâncias usando o Oracle Active Data Guard. Para alta disponibilidade, as EC2 instâncias devem estar em zonas de disponibilidade diferentes. No entanto, as zonas de disponibilidade podem estar na mesma região da AWS ou em regiões da AWS diferentes.

O Active Data Guard fornece acesso somente de leitura a um banco de dados físico em espera e aplica alterações de redo continuamente a partir do banco de dados principal. Com base no objetivo de ponto de recuperação (RPO) e no objetivo de tempo de recuperação (RTO) da, você pode escolher entre as opções de transporte de redo síncrono e assíncrono.

A imagem a seguir mostra a arquitetura de destino se as EC2 instâncias primária e de espera estiverem em diferentes regiões da AWS.

![\[Aplicativo conectado ao novo banco de dados na EC2 instância primária\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/37fcd4dc-5516-416b-a280-0c5f002880de.png)


**Arquitetura de migração de dados**

Depois de concluir a configuração da arquitetura de destino, você usa o Oracle Data Pump para migrar os dados e esquemas locais para a instância primária. EC2 Durante a substituição, os aplicativos não podem acessar o banco de dados on-premises ou o banco de dados de destino. Você desliga esses aplicativos até que eles possam ser conectados ao novo banco de dados de destino na EC2 instância primária.

A imagem a seguir mostra a arquitetura durante a migração de dados. Neste exemplo de arquitetura, as EC2 instâncias primária e em espera estão em diferentes regiões da AWS.

![\[O banco de dados de origem se conecta ao banco de dados de destino. Os aplicativos estão desconectados da origem e do destino DBs\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/c58b669b-b11f-4d78-8911-c07b81b7c6a0.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-tools"></a>

**Serviços da AWS**
+ O [AWS Direct Connect](https://aws.amazon.com/directconnect/) conecta sua rede interna a um local do Direct Connect por meio de um cabo de fibra óptica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para serviços públicos da AWS, ignorando provedores de serviço da internet no caminho da sua rede.
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

**Outras ferramentas e serviços**
+ O [Oracle Active Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-5E73667D-4A56-445E-911F-1E99092DD8D7) ajuda você a criar, manter, gerenciar e monitorar bancos de dados em espera.
+ O [Oracle Data Pump](https://www.oracle.com/technetwork/documentation/data-pump-overview-084963.html) ajuda você a mover dados e metadados de um banco de dados para outro em alta velocidade.

## Práticas recomendadas
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-best-practices"></a>
+ [Melhores práticas para execução do Oracle Database na AWS](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-security-and-performance.html)
+ [Importação de dados usando NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-23E58D59-A477-4A87-BD0E-C82447581D0A.htm#SUTIL856)

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-epics"></a>

### Configure as EC2 instâncias na AWS
<a name="set-up-the-ec2-instances-on-aws"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique a configuração do hardware de origem para o host on-premises e os parâmetros do kernel. | Valide a configuração local, incluindo tamanho do armazenamento, input/output operações por segundo (IOPS) e CPU. Isso é importante para o licenciamento da Oracle, que é baseado em núcleos de CPU. | DBA, SysAdmin | 
| Crie a infraestrutura na AWS. | Crie nuvens privadas virtuais (VPCs), sub-redes privadas, grupos de segurança, listas de controle de acesso à rede (ACLs), tabelas de rotas e gateway de internet. Para obter mais informações, consulte o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | DBA, administrador de sistemas da AWS | 
| Configure as EC2 instâncias usando o Active Data Guard. | Configure EC2 instâncias da AWS usando uma configuração do Active Data Guard, conforme descrito no [AWS Well-Architected](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html) Framework. A versão do Oracle Database na EC2 instância pode ser diferente da versão local porque esse padrão usa backups lógicos. Observe o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html)Para obter mais informações, consulte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | DBA, administrador de sistemas da AWS | 

### Migre o banco de dados para a Amazon EC2
<a name="migrate-the-database-to-amazon-ec2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um dblink para o banco de dados local a partir da instância. EC2  | Crie um link de banco de dados (dblink) entre o banco de dados Oracle na EC2 instância e o banco de dados Oracle local. Para obter mais informações, consulte [Usando a importação de link de rede para mover dados](https://docs.oracle.com/database/121/SUTIL/GUID-3E1D4B46-E856-4ABE-ACC5-977A898BB0F1.htm#SUTIL806) (documentação da Oracle). | DBA | 
| Verifique a conexão entre a EC2 instância e o host local. | Use o dblink para confirmar se a conexão entre a EC2 instância e o banco de dados local está funcionando. Para obter instruções, consulte [CREATE DATABASE LINK](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm) (documentação da Oracle). | DBA | 
| Pare todos os aplicativos conectados ao banco de dados on-premises. | Depois que o tempo de inatividade do banco de dados for aprovado, encerre todos os aplicativos e trabalhos dependentes conectados ao seu banco de dados on-premises. Você pode fazer isso diretamente do aplicativo ou do banco de dados usando o cron. Para obter mais informações, consulte [Usar o utilitário Crontab para agendar tarefas no Oracle Linux](https://docs.oracle.com/en/learn/oracle-linux-crontab/index.html). | DBA, desenvolvedor de aplicativos | 
| Agende o trabalho de migração de dados.  | No host de destino, use o comando `impdb` para agendar a importação do Data Pump. Isso conecta o banco de dados de destino ao host on-premises e inicia a migração de dados. Para obter mais informações, consulte [Data Pump Import](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300) e [NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-0871E56B-07EB-43B3-91DA-D1F457CF6182.htm#SUTIL919) (documentação da Oracle). | DBA | 
| Valide a migração de dados. | A validação de dados é uma etapa crucial. Para validação de dados, você pode usar ferramentas personalizadas ou ferramentas Oracle, como uma combinação de consultas dblink e SQL. | DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Colocar o banco de dados de origem em um modo somente leitura. | Confirme se o aplicativo foi encerrado e se nenhuma alteração está sendo feita no banco de dados de origem. Abra o banco de dados de origem no modo somente leitura. Isso ajuda você a evitar transações abertas. Para ter mais informações, consulte `ALTER DATABASE`em [SQL Statements](https://docs.oracle.com/database/121/SQLRF/statements_1006.htm#i2135540) (documentação da Oracle). | DBA, DevOps engenheiro, desenvolvedor de aplicativos | 
| Valide a contagem de objetos e os dados. | Para validar os dados e o objeto, use ferramentas personalizadas ou ferramentas Oracle, como uma combinação de consultas dblink e SQL. | DBA, desenvolvedor de aplicativos | 
| Conecte os aplicativos ao banco de dados na EC2 instância primária. | Altere o atributo de conexão do aplicativo para apontar para o novo banco de dados que você criou na EC2 instância primária. | DBA, desenvolvedor de aplicativos | 
| Valide o desempenho do aplicativo. | Iniciar o aplicativo Valide a funcionalidade e o desempenho do aplicativo usando o [Automated Workload Repository](https://docs.oracle.com/database/121/RACAD/GUID-C3CD2DCE-38BD-46BA-BC32-7A28CAC9A7FD.htm#RACAD951) (documentação da Oracle). | Desenvolvedor de aplicativos, DevOps engenheiro, DBA | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-resources"></a>

**Referências da AWS**
+ [Migrar bancos de dados Oracle para a Nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Amazon EC2 para Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html)
+ [Migração de bancos de dados Oracle volumosos para a AWS para ambientes multiplataforma](https://docs.aws.amazon.com/prescriptive-guidance/latest/migrate-bulky-oracle-databases/welcome.html)
+ [VPCs e sub-redes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ [Tutorial: criar uma VPC para uso com uma instância de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html)

**Referências da Oracle**
+ [Configurações do Oracle Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-AB9DF863-2C7E-4767-81F2-56AD0FA30B49)
+ [Importação da bomba de dados](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300)

# Migre sistemas RHEL BYOL para instâncias com licença incluída da AWS usando o AWS MGN
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn"></a>

*Mike Kuznetsov, Amazon Web Services*

## Resumo
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-summary"></a>

Ao migrar suas workloads para a AWS usando o AWS Application Migration Service (AWS MGN), talvez você precise mover sem alterações (lift-and-shift) (redefinir a hospedagem) as suas instâncias do Red Hat Enterprise Linux (RHEL) e alterar a licença do modelo padrão traga a sua própria licença (BYOL) para um modelo AWS License Included (LI) durante a migração. O AWS MGN oferece suporte a uma abordagem escalável que usa os IDs de Imagem de máquina da Amazon (AMI). Esse padrão descreve como realizar a alteração da licença nos servidores RHEL durante a migração de redefinição de hospedagem em grande escala. Também explica como alterar a licença de um sistema RHEL que já esteja em execução no Amazon Elastic Compute Cloud (Amazon EC2).

## Pré-requisitos e limitações
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-prereqs"></a>

**Pré-requisitos **
+ Acesso à conta de destino da AWS
+ O AWS MGN foi inicializado na conta e região da AWS de destino para a migração (não é necessário se você já tiver migrado do seu sistema on-premises para a AWS)
+ Um servidor RHEL de origem com uma licença RHEL válida

## Arquitetura
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-architecture"></a>

Esse padrão abrange dois cenários:
+ Migração de um sistema on-premises diretamente para uma instância do AWS LI usando o AWS MGN. Para esse cenário, siga as instruções no primeiro épico (*Migrar para a instância de LI - opção 1*) e no terceiro épico.
+ Alteração do modelo de licenciamento de BYOL para LI para um sistema RHEL migrado anteriormente que já está em execução no Amazon EC2. Para esse cenário, siga as instruções no segundo épico (*Migrar para a instância de LI* - *opção 2*) e no terceiro épico.

**nota**  
O terceiro épico envolve a reconfiguração da nova instância do RHEL para usar os servidores Red Hat Update Infrastructure (RHUI) fornecidos pela AWS. Esse processo é o mesmo para os dois cenários.

## Ferramentas
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-tools"></a>

**Serviços da AWS**
+ O [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) ajuda você a redefinir a hospedagem aplicativos (mover sem alterações (lift-and-shift)) na nuvem AWS sem alterações e com o mínimo de tempo de inatividade.

## Épicos
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-epics"></a>

### Migrar para a instância LI - opção 1 (para um sistema RHEL on-premises)
<a name="migrate-to-li-instance---option-1-for-an-on-premises-rhel-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encontre o ID da AMI da instância RHEL AWS LI na região de destino. | Visite o [AWS Marketplace](https://aws.amazon.com/marketplace) ou use o [console do Amazon EC2](https://console.aws.amazon.com/ec2/) para encontrar a ID da AMI RHEL que corresponde à versão do sistema de origem do RHEL (por exemplo, RHEL-7.7) e anote o ID da AMI. No console do Amazon EC2, você pode filtrar o AMIs usando um dos seguintes termos de pesquisa:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de nuvem | 
| Defina as configurações de lançamento do AWS MGN.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)Agora, o AWS MGN usará essa versão do modelo de lançamento para iniciar instâncias de teste ou de substituição. Para obter mais informações, consulte a [documentação do AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/ec2-launch.html). | Administrador de nuvem | 
| Valide as configurações. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de nuvem | 
| Inicie a nova instância de LI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de nuvem | 

### Migrar para a instância LI - opção 2 (para uma instância RHEL BYOL EC2)
<a name="migrate-to-li-instance---option-2-for-a-rhel-byol-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre a instância do RHEL BYOL EC2 para uma instância do AWS LI. | Você pode alternar os sistemas RHEL que você migrou anteriormente para a AWS como BYOL para instâncias do AWS LI movendo seus discos (volumes do Amazon Elastic Block Store) e anexando-os a uma nova instância de LI. Para fazer essa troca, siga estas etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de nuvem | 

### Reconfigure o sistema operacional RHEL para usar o RHUI fornecido pela AWS – ambas as opções
<a name="reconfigure-rhel-os-to-use-aws-provided-rhui-ndash-both-options"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Cancele o registro do sistema operacional da assinatura e da licença da Red Hat. | Após a migração e a substituição bem-sucedida, o sistema RHEL precisa ser removido da assinatura da Red Hat para parar de consumir a licença da Red Hat e evitar a cobrança dupla.Para remover o sistema operacional do RHEL da assinatura Red Hat, consulte e siga o processo descrito na [documentação do Red Hat Subscription Management (RHSM)](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/installation_guide/chap-subscription-management-unregistering). Use o comando de CLI de :  <pre>subscription-manager unregister</pre>Você também pode desativar o plug-in do gerenciador de assinaturas para parar de verificar o status da assinatura em cada chamada do **yum**. Para fazer isso, edite o arquivo de configuração `/etc/yum/pluginconf.d/subscription-manager.conf` e altere o parâmetro `enabled=1` para `enabled=0`. | Administrador do Linux ou do sistema | 
| Substitua a configuração de atualização antiga (RHUI, rede Red Hat Satellite, repositórios yum) pela RHUI fornecida pela AWS. | Você deve reconfigurar o sistema RHEL migrado para usar os servidores RHUI fornecidos pela AWS. Isso lhe dá acesso aos servidores RHUI nas regiões da AWS sem exigir a infraestrutura de atualização externa. O processo inclui as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)Aqui estão as etapas e comandos detalhados:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador do Linux ou do sistema | 
| Valide a configuração. | Na instância migrada de destino, verifique se a nova configuração está correta:<pre>sudo yum clean all <br />sudo yum repolist </pre> | Administrador do Linux ou do sistema | 

## Recursos relacionados
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-resources"></a>
+ [Guia do usuário do AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Obtenha suporte para um pacote de cliente AWS RHUI IMDSv2](https://access.redhat.com/solutions/5009491) (artigo da Red Hat Knowledgebase)
+ [Modelos de lançamento do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) (documentação do Amazon EC2)

# Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-summary"></a>

Esse padrão descreve como migrar um banco de dados local do Microsoft SQL Server para o Microsoft SQL Server em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Ele abrange duas opções de migração: usar AWS Database Migration Service (AWS DMS) ou usar ferramentas nativas do Microsoft SQL Server, como backup e restauração, Copy Database Wizard ou copiar e anexar banco de dados. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-prereqs"></a>

**Pré-requisitos **
+ Uma AWS conta ativa
+ Um sistema operacional suportado pela Amazon EC2 (para obter uma lista completa das versões suportadas do sistema operacional, consulte [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/))
+ Um banco de dados de origem do Microsoft SQL Server em um datacenter on-premises

**Versões do produto**
+ Para bancos de dados locais e de EC2 instâncias da Amazon, AWS DMS oferece suporte a: 
  + SQL Server nas versões 2005, 2008, 2008R2, 2012, 2014, 2016, 2017 e 2019 
  + As eições Enterprise, Standard, Workgroup, Developer e Web
+ Para obter a lista mais atual de versões com suporte, consulte [Como usar um banco de dados do Microsoft SQL Server como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html).   

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados Microsoft SQL Server on-premises

**Pilha de tecnologias de destino**
+ Banco de dados Microsoft SQL Server em uma EC2 instância

**Arquitetura de destino**

![\[Instâncias primárias e em espera do Microsoft SQL Server em EC2 instâncias em duas zonas de disponibilidade.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/53e2c27d-ceb4-4d88-a022-93dd0b343eaf.png)


**Arquitetura de migração de dados**
+ Usando AWS DMS

![\[Migração de dados locais do SQL Server para uma EC2 instância usando o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/1cbe32ea-e285-4cac-9153-4428bad9b229.png)

+ Usando ferramentas nativas do SQL Server 

![\[Migração de dados locais do SQL Server para uma EC2 instância usando ferramentas nativas do SQL Server.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/ad2caf54-7399-4038-91a3-acba9fa7da29.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) ajuda você a migrar seus dados de e para bancos de dados comerciais e de código aberto amplamente usados, incluindo Oracle, SQL Server, MySQL e PostgreSQL. Você pode usar AWS DMS para migrar seus dados para o Nuvem AWS, entre instâncias locais (por meio de uma Nuvem AWS configuração) ou entre combinações de configurações na nuvem e no local.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de banco de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.
+ As ferramentas nativas do Microsoft SQL Server incluem o backup e a restauração, o Copy Database Wizard e a cópia e a anexação de banco de dados.

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique a versão do sistema operacional de destino. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de hardware para a instância do servidor de destino com base na lista de compatibilidade e nos requisitos de capacidade do Microsoft SQL Server. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento para tipo e capacidade. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de rede, incluindo latência e largura de banda. |  | DBA, administrador de sistemas | 
| Escolha o tipo de EC2 instância com base na capacidade, nos recursos de armazenamento e nos recursos de rede. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança de acesso à rede e host para os bancos de dados de origem e de destino. |  | DBA, administrador de sistemas | 
| Identifique uma lista de usuários necessários para a instalação do software Microsoft SQL Server. |  | DBA, administrador de sistemas | 
| Determine a estratégia de backup. |  | DBA | 
| Determine os requisitos de disponibilidade. |  | DBA | 
| Identifique a estratégia de migração e substituição de aplicativos. |  | DBA, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC) e sub-redes. |  | Administrador de sistemas | 
| Criar grupos de segurança e lista de controle de acesso (ACL) de rede. |  | Administrador de sistemas | 
| Configure e inicie uma EC2 instância. |  | Administrador de sistemas | 

### Instale o software
<a name="install-the-software"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie os usuários e grupos necessários para o software Microsoft SQL Server. |  | DBA, administrador de sistemas | 
| Faça o download do software Microsoft SQL Server. |  | DBA, administrador de sistemas | 
| Instale o software Microsoft SQL Server na EC2 instância e configure o servidor. |  | DBA, administrador de sistemas | 

### Migrar os dados - opção 1
<a name="migrate-the-data---option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas do Microsoft SQL Server ou ferramentas de terceiros para migrar os objetos e dados do banco de dados. | As ferramentas incluem backup e restauração, Copy Database Wizard e cópia e anexação de banco de dados. Para obter mais informações, consulte o guia [Migrar bancos de dados do Microsoft SQL Server para a Nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/). | DBA | 

### Migrar os dados - opção 2
<a name="migrate-the-data---option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre os dados usando o AWS DMS. | Para obter mais informações sobre o uso AWS DMS, consulte os links na seção [Recursos relacionados](#migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources). | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. | Use AWS Schema Conversion Tool (AWS SCT) para analisar e modificar o código SQL incorporado ao código-fonte do aplicativo. | DBA, proprietário do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de troca de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desligue todos os AWS recursos temporários. | Os recursos temporários incluem a instância AWS DMS de replicação e a EC2 instância para AWS SCT. | DBA, administrador de sistemas | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Reúna métricas sobre a hora de migrar, porcentagem de economia de custos manuais versus ferramentas e assim por diante. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Feche o projeto e forneça feedback. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources"></a>

**Referências**
+ [Migrando bancos de dados Microsoft SQL Server para o Nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [ EC2 Preços da Amazon](https://aws.amazon.com/ec2/pricing/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Produtos Microsoft em AWS](https://aws.amazon.com/windows/products/)
+ [Licenciamento da Microsoft em AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server em AWS](https://aws.amazon.com/windows/products/sql/)

**Tutoriais e vídeos**
+ [Começando com a](https://aws.amazon.com/ec2/getting-started/) Amazon EC2
+ [Conceitos básicos do ](https://aws.amazon.com/dms/getting-started/)AWS Database Migration Service
+ [Associe uma EC2 instância da Amazon ao seu Simple AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/simple_ad_join_instance.html)
+ [Associe uma EC2 instância da Amazon ao seu AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (vídeo)
+ [Introdução à Amazon EC2 — Elastic Cloud Server e hospedagem com AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vídeo)

# Redefinir a hospedagem de workloads on-premises na Nuvem AWS: lista de verificação de migração
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Resumo
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-summary"></a>

A redefinição da hospedagem de workloads on-premises na Nuvem da Amazon Web Services (AWS) envolve as seguintes fases de migração: planejamento, pré-descoberta, descoberta, compilação, teste e substituição. Esse padrão descreve as fases e as tarefas relacionadas. As tarefas são descritas em alto nível e são compatíveis com cerca de 75% de todas as workloads de aplicativos. Você pode implementar essas tarefas em duas a três semanas em um ciclo de sprint ágil.

Você deve analisar e examinar essas tarefas com sua equipe de migração e consultores. Após a análise, você pode coletar as informações, eliminar ou reavaliar tarefas conforme necessário para atender aos seus requisitos e modificar outras tarefas para serem compatíveis com pelo menos 75% das workloads de aplicativos em seu portfólio. Em seguida, você pode usar uma ferramenta de gerenciamento de projetos ágil, como Atlassian Jira ou Rally Software, para importar as tarefas, atribuí-las aos recursos e rastrear suas atividades de migração. 

O padrão pressupõe que você esteja usando o [AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html) para redefinir a hospedagem de suas workloads, mas é possível usar a ferramenta de migração de sua escolha.

O Amazon Macie pode ajudar a identificar dados sensíveis em suas bases de conhecimento, armazenados como fontes de dados, logs de invocação de modelos e armazenamentos de prompts em buckets do Amazon Simple Storage Service (Amazon S3). Para obter mais informações, consulte a [documentação do Macie](https://docs.aws.amazon.com/macie/latest/user/data-classification.html).

## Pré-requisitos e limitações
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-prereqs"></a>

**Pré-requisitos **
+ Ferramenta de gerenciamento de projetos para rastrear tarefas de migração (por exemplo, Atlassian Jira ou Rally Software)
+ Ferramenta de migração para redefinir a hospedagem suas workloads na AWS (por exemplo, [Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html))

## Arquitetura
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-architecture"></a>

**Plataforma de origem  **
+ Pilha de origem on-premises (incluindo tecnologias, aplicativos, bancos de dados e infraestrutura)  

**Plataforma de destino**
+ Pilha de destinos da Nuvem AWS (incluindo tecnologias, aplicativos, bancos de dados e infraestrutura) 

**Arquitetura**

O diagrama a seguir ilustra a redefinição da hospedagem (descobrindo e migrando servidores de um ambiente de origem on-premises para a AWS) usando o Cloud Migration Factory e o AWS Application Migration Service.

![\[Redefinição da hospedagem de servidores na AWS usando o Cloud Migration Factory e o Application Migration Service\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/images/735ad65b-2646-4803-82c9-f7f93369b3a5.png)


## Ferramentas
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-tools"></a>
+ Você pode usar uma ferramenta de migração e gerenciamento de projetos de sua escolha.

## Épicos
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-epics"></a>

### Fase de planejamento
<a name="planning-phase"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe a pendência de pré-descoberta. | Conduza a sessão de trabalho de limpeza da pendência de pré-descoberta com líderes de departamento e proprietários de aplicativos.  | Gerente de projetos, líder de scrum ágil | 
|  Conduza a sessão de trabalho de planejamento do sprint. | Como exercício de definição de escopo, distribua os aplicativos que você deseja migrar entre sprints e ondas. | Gerente de projetos, líder de scrum ágil | 

### Fase pré-descoberta
<a name="pre-discovery-phase"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Confirme o conhecimento do aplicativo. | Confirme e documente o proprietário do aplicativo e conhecimento dele sobre o aplicativo. Determine se há outra pessoa responsável para questões técnicas. | Especialista em migração (entrevistador) | 
| Determine os requisitos de conformidade do aplicativo. | Confirme com o proprietário do aplicativo que o aplicativo não precisa estar em conformidade com os requisitos do Padrão de segurança de dados do Setor de cartões de pagamento (PCI DSS), da Lei Sarbanes-Oxley (SOX), das informações de identificação pessoal (PII) ou de outros padrões. Se existirem requisitos de conformidade, as equipes devem concluir as verificações de conformidade nos servidores que serão migrados. | Especialista em migração (entrevistador) | 
| Confirme os requisitos da versão de produção.  | Confirme os requisitos para liberar o aplicativo migrado para produção (como data de lançamento e duração do tempo de inatividade) com o proprietário do aplicativo ou com o contato técnico. | Especialista em migração (entrevistador) | 
| Obtenha a lista de servidores. | Obtenha a lista de servidores associados ao aplicativo de destino. | Especialista em migração (entrevistador) | 
| Obtenha o diagrama lógico que mostra o estado atual. | Obtenha o diagrama do estado atual do aplicativo a partir do arquiteto corporativo ou do proprietário do aplicativo. | Especialista em migração (entrevistador) | 
| Crie um diagrama lógico que mostre o estado de destino. | Crie um diagrama lógico do aplicativo que mostre a arquitetura de destino na AWS. Esse diagrama deve ilustrar os servidores, a conectividade e os fatores de mapeamento. | Arquiteto corporativo, Proprietário da empresa | 
| Obtenha informações sobre o servidor. | Colete informações sobre os servidores associados ao aplicativo, incluindo detalhes de configuração. | Especialista em migração (entrevistador) | 
| Adicione informações do servidor ao modelo de descoberta. | Adicione informações detalhadas do servidor ao modelo de descoberta de aplicativos (consulte `mobilize-application-questionnaire.xlsx` no anexo para esse padrão). Esse modelo inclui todos os detalhes de segurança, infraestrutura, sistema operacional e rede relacionados ao aplicativo. | Especialista em migração (entrevistador) | 
| Publique o modelo de descoberta de aplicativos. | Compartilhe o modelo de descoberta do aplicativo com o proprietário do aplicativo e a equipe de migração para acesso e uso comuns. | Especialista em migração (entrevistador) | 

### Fase de descoberta
<a name="discovery-phase"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Confirme a lista de servidores. | Confirme a lista de servidores e a finalidade de cada servidor com o proprietário do aplicativo ou o líder técnico. | Especialista em migração | 
| Identifique e adicione grupos de servidores. | Identifique grupos de servidores, como servidores web ou servidores de aplicativos, e adicione essas informações ao modelo de descoberta de aplicativos. Selecione a camada do aplicativo (web, aplicativo, banco de dados) à qual cada servidor deve pertencer. | Especialista em migração | 
| Preencha o modelo de descoberta do aplicativo. | Preencha os detalhes do modelo de descoberta de aplicativos com a ajuda da equipe de migração, da equipe de aplicativos e da AWS. | Especialista em migração | 
| Adicione detalhes ausentes do servidor (equipes de middleware e SO). | Peça às equipes de middleware e sistema operacional (SO) que analisem o modelo de descoberta de aplicativos e adicionem todos os detalhes ausentes do servidor, incluindo informações do banco de dados. | Especialista em migração | 
| Obtenha regras inbound/outbound de trânsito (equipe de rede). | Peça à equipe de rede que obtenha as regras de inbound/outbound tráfego para os servidores de origem e destino. A equipe de rede também deve adicionar regras de firewall existentes, exportá-las para um formato de grupo de segurança e adicionar balanceadores de carga existentes ao modelo de descoberta de aplicativos. | Especialista em migração | 
| Identifique a marcação necessária. | Determine os requisitos de marcação para o aplicativo. | Especialista em migração | 
| Crie detalhes de solicitação de firewall. | Capture e filtre as regras de firewall necessárias para se comunicar com o aplicativo.  | Especialista em migração, arquiteto de soluções, líder de rede  | 
| Atualize o tipo de EC2 instância. | Atualize o tipo de instância do Amazon Elastic Compute Cloud (Amazon EC2) a ser usado no ambiente de destino, com base nos requisitos de infraestrutura e servidor.  | Especialista em migração, arquiteto de soluções, líder de rede | 
| Identifique o diagrama do estado atual. | Identifique ou crie o diagrama que mostra o estado atual do aplicativo. Esse diagrama será usado na solicitação de segurança da informação (InfoSec).  | Especialista em migração, arquiteto de soluções | 
| Finalize o diagrama de estados futuros. | Finalize o diagrama que mostra o estado futuro (destino) do aplicativo. Esse diagrama também será usado na InfoSec solicitação.   | Especialista em migração, arquiteto de soluções | 
| Crie solicitações de serviço de firewall ou grupo de segurança. | Crie solicitações de serviço de firewall ou grupo de segurança (para desenvolvimento/controle de qualidade, pré-produção e produção). Se você estiver usando o Cloud Migration Factory, inclua portas específicas de replicação, caso elas ainda não estejam abertas.  | Especialista em migração, arquiteto de soluções, líder de rede | 
| Analise as solicitações de firewall ou grupo de segurança (InfoSec equipe). | Nessa etapa, a InfoSec equipe analisa e aprova as solicitações do firewall ou do grupo de segurança que foram criadas na etapa anterior.  | InfoSec engenheiro, especialista em migração | 
| Implemente solicitações do grupo de segurança de firewall (equipe de rede). | Depois que a InfoSec equipe aprova as solicitações de firewall, a equipe de rede implementa as regras de inbound/outbound firewall necessárias.  | Especialista em migração, arquiteto de soluções, líder de rede | 

### Fase de compilação (repetição para ambientes de desenvolvimento/QA, pré-produção e produção)
<a name="build-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Importe os dados do aplicativo e do servidor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.html)Se você não estiver usando o Cloud Migration Factory, siga as instruções para configurar sua ferramenta de migração. | Especialista em migração, administrador em nuvem | 
| Verifique os pré-requisitos dos servidores de origem. | Conecte-se aos servidores de origem dentro do escopo para verificar os pré-requisitos, como porta TCP 1500, porta TCP 443, espaço livre do volume raiz, versão do .NET Framework e outros parâmetros. Eles são necessários para a replicação. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#prerequisites-2). | Especialista em migração, administrador em nuvem | 
| Crie uma solicitação de serviço para instalar agentes de replicação.  | Crie uma solicitação de serviço para instalar agentes de replicação nos servidores dentro do escopo para desenvolvimento/controle de qualidade, pré-produção ou produção. | Especialista em migração, administrador em nuvem | 
| Instale os agentes de replicação. | Instale os agentes de replicação nos servidores de origem dentro do escopo nas máquinas de desenvolvimento/controle de qualidade, pré-produção ou produção. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#install-the-replication-agents). | Especialista em migração, administrador em nuvem | 
| Envie os scripts de pós-inicialização. | O Application Migration Service oferece suporte a scripts de pós-inicialização para ajudar você a automatizar atividades a nível do sistema operacional, como instalar ou desinstalar software após a inicialização das instâncias de destino. Essa etapa envia os scripts de pós-inicialização para máquinas Windows ou Linux, dependendo dos servidores identificados para migração. Para obter instruções, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#push-the-post-launch-scripts). | Especialista em migração, administrador em nuvem | 
| Verifique o status da replicação | Confirme automaticamente o status da replicação dos servidores de origem dentro do escopo usando o script fornecido. O script se repete a cada cinco minutos até que o status de todos os servidores de origem em determinada onda mude para **Integridade**. Para obter instruções, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#verify-the-replication-status). | Especialista em migração, administrador em nuvem | 
| Crie o usuário administrador. | Talvez seja necessário um administrador local ou usuário sudo nas máquinas de origem para solucionar quaisquer problemas após a substituição da migração, indo dos servidores de origem dentro do escopo para a AWS. A equipe de migração usa esse usuário para fazer login no servidor de destino quando o servidor de autenticação (por exemplo, o servidor DC ou LDAP) não está acessível. Para obter instruções para esta etapa, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/step4.html#add-a-user-to-the-admin-group). | Especialista em migração, administrador em nuvem | 
| Valide o modelo de inicialização. | Valide os metadados do servidor para garantir que funcionem com êxito e não tenham dados inválidos. Essa etapa valida os metadados de teste e de substituição. Para obter instruções, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#validate-launch-template-1). | Especialista em migração, administrador em nuvem | 

### Fase de teste (repetição para ambientes de desenvolvimento/QA, pré-produção e produção)
<a name="test-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma solicitação de serviço. | Crie uma solicitação de serviço para que a equipe de infraestrutura e outras equipes realizem a substituição de aplicativos para instâncias de desenvolvimento/controle de qualidade, pré-produção ou produção.  | Especialista em migração, administrador em nuvem | 
| Defina um balanceador de carga (opcional). | Defina os balanceadores de carga necessários, como um [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) ou um [balanceador de carga F5](https://www.f5.com/resources/white-papers/load-balancing-101-nuts-and-bolts) com iRules. | Especialista em migração, administrador em nuvem | 
| Inicialize instâncias para testes. | Inicialize todas as máquinas de destino para uma determinada onda no Application Migration Service no modo de teste. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-testing). | Especialista em migração, administrador em nuvem | 
| Verifique o status da instância de destino. | Verifique o status da instância de destino verificando o processo de inicialização de todos os servidores de origem dentro do escopo na mesma onda. A inicialização das instâncias de destino pode levar até 30 minutos. Você pode verificar o status manualmente fazendo login no EC2 console da Amazon, pesquisando o nome do servidor de origem e revisando a coluna **Verificação de status**. O status **verificações 2/2 aprovadas** indicam que a instância está íntegra do ponto de vista da infraestrutura. | Especialista em migração, administrador em nuvem | 
| Modifique as entradas de DNS. | Modifique as entradas de Sistema de Nomes de Domínio (DNS) (Use `resolv.conf` ou `host.conf` para um ambiente Microsoft Windows.) Configure cada EC2 instância para apontar para o novo endereço IP desse host.Certifique-se de que não haja conflitos de DNS entre servidores on-premises e na Nuvem AWS. Essa etapa e as etapas a seguir são opcionais, dependendo do ambiente em que o servidor está hospedado. | Especialista em migração, administrador em nuvem | 
| Teste a conectividade com hosts de back-end a partir de EC2 instâncias. | Verifique os logins usando as credenciais de domínio dos servidores migrados. | Especialista em migração, administrador em nuvem | 
| Atualize o registro DNS A. | Atualize o registro DNS A de cada host para apontar para o novo endereço IP EC2 privado da Amazon. | Especialista em migração, administrador em nuvem | 
| Atualize o registro DNS CNAME. | Atualize o registro DNS CNAME para servidores virtuais IPs (nomes de balanceadores de carga) para apontar para o cluster para servidores web e de aplicativos. | Especialista em migração, administrador em nuvem | 
| Teste o aplicativo em ambientes aplicáveis. | Faça login na nova EC2 instância e teste o aplicativo nos ambientes de desenvolvimento/controle de qualidade, pré-produção e produção. | Especialista em migração, administrador em nuvem | 
| Marque como pronto para a substituição. | Quando o teste estiver concluído, altere o status do servidor de origem para indicar que ele está pronto para a substituição, para que os usuários possam inicializar uma instância de substituição. Para obter instruções, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#mark-as-ready-for-cutover). | Especialista em migração, administrador em nuvem | 

### Fase de substituição
<a name="cutover-phase"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um plano de implantação de produção. | Crie um plano de implantação de produção (incluindo um plano de retrocesso). | Especialista em migração, administrador em nuvem | 
| Notifique a equipe de operações sobre o tempo de inatividade. | Notifique a equipe de operações sobre a agenda de inatividade dos servidores. Algumas equipes podem exigir um tíquete de solicitação de mudança ou de solicitação de serviço (CR/SR) para essa notificação. | Especialista em migração, administrador em nuvem | 
| Replique as máquinas de produção. | Replique as máquinas de produção usando o Application Migration Service ou outra ferramenta de migração. | Especialista em migração, administrador em nuvem | 
| Desligue os servidores de origem dentro do escopo. | Depois de verificar o status de replicação dos servidores de origem, você pode desligar os servidores de origem para interromper as operações dos aplicativos de clientes para os servidores. Você pode desligar os servidores de origem na janela de substituição. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#shut-down-the-in-scope-source-servers). | Administrador de nuvem | 
| Inicialize instâncias para substituição. | Inicialize todas as máquinas de destino para uma determinada onda no Application Migration Service no modo de substituição. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-cutover). | Especialista em migração, administrador em nuvem | 
| Recupere a instância IPs de destino. | Recupere as quatro instâncias IPs de destino. Se a atualização do DNS for um processo manual em seu ambiente, você precisará obter os novos endereços IP para todas as instâncias de destino. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#retrieve-the-target-instance-ip). | Especialista em migração, administrador em nuvem | 
| Verifique as conexões do servidor de destino. | Depois de atualizar os registros DNS, conecte-se às instâncias de destino com o nome do host para verificar as conexões. Para obter mais informações, consulte [Guia de implementação do Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#verify-the-target-server-connections). | Especialista em migração, administrador em nuvem | 

## Recursos relacionados
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-resources"></a>
+ [Como migrar](https://aws.amazon.com/migrate-modernize-build/cloud-migration/how-to-migrate/)
+ [Guia de implementação do AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html)
+ [Automatizar migrações de servidores em grande escala com o Cloud Migration Factory](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-factory-cloudendure/welcome.html)
+ [Guia do usuário do serviço de migração de aplicativos da AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Programa de Aceleração da Migração da AWS](https://aws.amazon.com/migration-acceleration-program/) 

## Anexos
<a name="attachments-8e2d2d72-30cc-4e98-8abd-ac2ef95e599b"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/attachments/attachment.zip)

# Configure a infraestrutura Multi-AZ para um SQL Server Always On FCI usando a Amazon FSx
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, T.V.R.L.Phani Kumar Dadi, Nishad Mankar e Rajneesh Tyagi, Amazon Web Services*

## Resumo
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Se você precisar migrar rapidamente um grande número de instâncias de cluster de failover Always On do Microsoft SQL Server (FCIs), esse padrão pode ajudá-lo a minimizar o tempo de provisionamento. Ao usar a automação e o Amazon FSx for Windows File Server, ele reduz os esforços manuais, os erros cometidos pelo homem e o tempo necessário para implantar um grande número de clusters.

Esse padrão configura a infraestrutura do SQL Server FCIs em uma implantação de Zona de Multidisponibilidade (Multi-AZ) na Amazon Web Services (AWS). O provisionamento dos serviços da AWS necessários para essa infraestrutura é automatizado usando modelos da [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). A instalação do SQL Server e a criação de nós de cluster em uma instância do [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) são realizadas usando PowerShell comandos.

Essa solução usa um sistema de arquivos [Amazon FSx para Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) Multi-AZ altamente disponível como testemunha compartilhada para armazenar os arquivos do banco de dados do SQL Server. O sistema de FSx arquivos da Amazon e as instâncias EC2 do Windows que hospedam o SQL Server são unidos ao mesmo domínio do AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD).

## Pré-requisitos e limitações
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um usuário da AWS com permissões suficientes para provisionar recursos usando CloudFormation modelos da AWS
+ AWS Directory Service para Microsoft Active Directory
+ Credenciais no AWS Secrets Manager para autenticação no AWS Managed Microsoft AD em um par de valores-chave:
  + `ADDomainName`: <Nome do domínio>
  + `ADDomainJoinUserName`: <Nome de usuário do domínio>
  + `ADDomainJoinPassword`: <Senha do usuário do domínio>
  + `TargetOU`: <Valor OU Alvo>
**nota**  
Você usará o mesmo nome de chave no AWS Systems Manager Automation para a atividade de junção no AWS Managed Microsoft AD.
+ Arquivos de mídia do SQL Server para instalação do SQL Server e contas de serviço ou domínio do Windows criadas, que serão usados durante a criação do cluster
+ Uma nuvem privada virtual (VPC), com duas sub-redes públicas em zonas de disponibilidade separadas, duas sub-redes privadas nas zonas de disponibilidade, um gateway da internet, gateways NAT, associações de tabelas de rotas e um servidor de salto

**Versões do produto**
+ Windows Server 2012 R2 e Microsoft SQL Server 2016

## Arquitetura
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Pilha de tecnologia de origem**
+ SQL Server local com o FCIs uso de um drive compartilhado

**Pilha de tecnologias de destino**
+  EC2 Instâncias da AWS
+ Servidor FSx de arquivos Amazon para Windows
+ Runbook do AWS Systems Manager Automation
+ Configurações de rede (VPC, sub-redes, gateway da internet, gateways NAT, servidor de salto, grupos de segurança)
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ Amazon EventBridge
+ AWS Identity and Access Management (IAM)

**Arquitetura de destino**

O diagrama a seguir mostra uma conta da AWS em uma única região da AWS, com uma VPC que inclui duas zonas de disponibilidade, duas sub-redes públicas com gateways NAT, um servidor de salto na primeira sub-rede pública, duas sub-redes privadas, cada uma com uma EC2 instância para um nó do SQL Server em um grupo de segurança de nós e um sistema de FSx arquivos da Amazon conectado a cada um dos nós do SQL Server. AWS Directory Service, Amazon EventBridge, AWS Secrets Manager e AWS Systems Manager também estão incluídos.

![\[Arquitetura multi-AZ com recursos em sub-redes públicas e privadas, utilizando grupos de segurança de nós.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automação e escala**
+ Você pode usar o AWS Systems Manager para se juntar ao AWS Managed Microsoft AD e realizar a instalação do SQL Server.

## Ferramentas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Serviços da AWS**
+  CloudFormationA [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) ajuda você a configurar recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em todas as contas e regiões da AWS.
+ O [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) fornece várias maneiras de usar o Microsoft Active Directory (AD) com outros serviços da AWS, como Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) para SQL Server e FSx Amazon para Windows File Server.
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, funções do Lambda, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outras contas da AWS.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ajuda você a substituir credenciais codificadas em seu código, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo programaticamente.
+ O [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) ajuda você a gerenciar seus aplicativos e infraestrutura em execução na nuvem AWS. Isso simplifica o gerenciamento de aplicações e recursos, diminui o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus recursos da AWS de modo seguro e em grande escala.

**Outras ferramentas**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)é um programa de gerenciamento de automação e configuração da Microsoft executado em Windows, Linux e macOS. Esse padrão usa PowerShell scripts.

**Repositório de código**

O código desse padrão está disponível no repositório GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Práticas recomendadas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ Os perfis do IAM usados para implantar essa solução devem seguir o princípio do privilégio mínimo. Para ter mais informações, consulte a [documentação do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Siga as [ CloudFormation melhores práticas da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Épicos
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Implante a infraestrutura
<a name="deploy-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante a CloudFormation pilha do Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps engenheiro | 
| Implante a pilha de infraestrutura. | Após a implantação bem-sucedida da pilha do Systems Manager, crie a `infra` pilha, que inclui nós de EC2 instância, grupos de segurança, o sistema de arquivos Amazon FSx for Windows File Server e a função do IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps engenheiro | 

### Configurar o Windows SQL Server Always On FCI
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale as ferramentas do Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps engenheiro, DBA | 
| Pré-configure os objetos do computador do cluster nos serviços de domínio do Active Directory. | Para pré-configurar o objeto de nome de cluster (CNO) nos serviços de domínio do Active Directory (AD DS) e pré-configurar um objeto de computador virtual (VCO) para um perfil em cluster, siga as instruções na [documentação do Windows Server](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds). | AWS DevOps, DBA, engenheiro DevOps  | 
| Crie o WSFC. | Para criar o cluster do Windows Server Failover Clustering (WSFC), faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DBA, engenheiro DevOps  | 
| Instale o cluster de failover do SQL Server. | Depois que o cluster do WSFC estiver configurado, instale o cluster do SQL Server na instância primária (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, engenheiro DevOps  | 
| Adicione um nó secundário ao cluster. | Para adicionar o SQL Server ao nó secundário (nó 2), execute o PowerShell comando a seguir.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, engenheiro DevOps  | 
| Teste a FCI do SQL Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, engenheiro DevOps  | 

### Limpar os recursos
<a name="clean-up-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpar os recursos | Para limpar os recursos, use o processo de exclusão de CloudFormation pilhas da AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Após a conclusão da exclusão da pilha, as pilhas estarão no estado `DELETE_COMPLETE`. As pilhas no `DELETE_COMPLETE` estado não são exibidas no CloudFormation console por padrão. Para exibir as pilhas excluídas, você deve alterar o filtro de visualização da pilha conforme descrito em [Visualização das pilhas excluídas no console da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html). CloudFormation Se houver falha na exclusão, uma pilha estará no estado `DELETE_FAILED`. Para obter soluções, consulte Falhas na [exclusão da pilha](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) na CloudFormation documentação. | AWS DevOps, DBA, engenheiro DevOps  | 

## Solução de problemas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Falha no CloudFormation modelo da AWS | Se o CloudFormation modelo falhar durante a implantação, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Falha na junção do AWS Managed Microsoft AD | Para solucionar os problemas de junção, siga estas etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Recursos relacionados
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Simplifique suas implantações de alta disponibilidade do Microsoft SQL Server usando o Amazon FSx para Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Usando FSx o Windows File Server com o Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)

# Use as consultas do BMC Discovery para extrair dados de migração para o planejamento da migração
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning"></a>

*Ben Tailor-Hamblin, Emma Baldry, Simon Cunningham e Shabnam Khan, Amazon Web Services*

## Resumo
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-summary"></a>

Este guia fornece exemplos de consultas e etapas para ajudá-lo a extrair dados de sua infraestrutura e aplicativos on-premises usando o BMC Discovery. O padrão mostra como usar as consultas do BMC Discovery para escanear sua infraestrutura e extrair informações de software, serviços e dependências. Os dados extraídos são necessários para as fases avaliar e mobilizar de uma migração em grande escala para a nuvem da Amazon Web Services (AWS). Você poderá usar esses dados para tomar decisões críticas sobre quais aplicativos migrar juntos como parte do seu plano de migração.

## Pré-requisitos e limitações
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-prereqs"></a>

**Pré-requisitos **
+ Uma licença para o BMC Discovery (antigo BMC ADDM) ou a versão de software como serviço (SaaS) do BMC Helix Discovery
+ Versão on-premises ou de SaaS do BMC Discovery, [instalada](https://docs.bmc.com/docs/discovery/221/installing-1050933835.html) 
**nota**  
Para versões on-premises do BMC Discovery, é necessário instalar a aplicação em uma rede do cliente com acesso a todos os dispositivos de rede e servidores que estão no escopo de uma migração entre vários data centers. O acesso à rede do cliente deve ser concedido conforme as instruções de instalação da aplicação. Se for necessário realizar a verificação das informações do Windows Server, você deve configurar um dispositivo de gerenciamento de proxy do Windows na rede.
+ [Acesso à rede](https://docs.bmc.com/docs/discovery/221/network-ports-used-for-discovery-communications-1050933821.html) para permitir que o aplicativo escaneie dispositivos em datacenters, se você estiver usando o BMC Helix Discovery

**Versões do produto**
+ BMC Discovery 22.2 (12.5)
+ BMC Discovery 22.1 (12.4)
+ BMC Discovery 21.3 (12.3)
+ BMC Discovery 21.05 (12.2)
+ BMC Discovery 20.08 (12.1)
+ BMC Discovery 20.02 (12.0)
+ BMC Discovery 11.3
+ BMC Discovery 11.2
+ BMC Discovery 11.1
+ BMC Discovery 11.0
+ BMC Atrium Discovery 10.2
+ BMC Atrium Discovery 10.1
+ BMC Atrium Discovery 10.0

## Arquitetura
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-architecture"></a>

O diagrama a seguir mostra como os gerentes de ativos poderão usar as consultas do BMC Discovery para escanear aplicativos modelados pelo BMC em ambientes SaaS e on-premises.

![\[Arquitetura que usa o BMC Discovery para extrair informações de software, serviços e dependências.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5e549882-8deb-4459-8891-e39bbf80e320/images/0ebb3e68-5828-45aa-86f4-c741c7b6cd94.jpeg)


O diagrama mostra o seguinte fluxo de trabalho: um gerenciador de ativos usa o BMC Discovery ou o BMC Helix Discovery para verificar instâncias de banco de dados e software em execução em servidores virtuais hospedados em vários servidores físicos. A ferramenta poderá modelar aplicativos com componentes que abrangem vários servidores virtuais e físicos.

**Pilha de tecnologia**
+ BMC Discovery
+ BMC Helix Discovery

## Ferramentas
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-tools"></a>
+ O [BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) é uma ferramenta de descoberta de datacenter que ajuda você a descobrir automaticamente seu datacenter.
+ O [BMC Helix Discovery](https://www.bmc.com/it-solutions/bmc-helix-discovery.html) é um sistema de modelagem de dependências e descoberta baseado em SaaS que ajuda você a modelar dinamicamente seus ativos de dados e suas dependências.

## Práticas recomendadas
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-best-practices"></a>

É uma prática recomendada para mapear dados de aplicativos, dependências e infraestrutura ao migrar para a nuvem. O mapeamento ajuda a entender a complexidade do ambiente atual e as dependências entre vários componentes.

As informações sobre ativos que essas consultas fornecem são importantes por vários motivos:

1. **Planejamento**: compreender as dependências entre os componentes ajuda a planejar o processo de migração com mais eficácia. Por exemplo, talvez seja necessário migrar alguns componentes primeiro para garantir que outros possam ser migrados com êxito.

1. **Avaliação de riscos**: o mapeamento das dependências entre os componentes poderá ajudá-lo a identificar possíveis riscos ou problemas que possam surgir durante o processo de migração. Por exemplo, você poderá descobrir que certos componentes dependem de tecnologias desatualizadas ou sem suporte que poderão causar problemas na nuvem.

1. **Arquitetura de nuvem**: mapear seus dados de aplicativo e infraestrutura também poderá ajudá-lo a projetar uma arquitetura de nuvem adequada que atenda às suas necessidades organizacionais. Por exemplo, talvez seja necessário projetar uma arquitetura de várias camadas para oferecer suporte aos requisitos de alta disponibilidade ou escalabilidade.

No geral, mapear dados de aplicativos, dependências e infraestrutura é uma etapa crucial no processo de migração para a nuvem. O exercício de mapeamento poderá ajudá-lo a entender melhor seu ambiente atual, identificar possíveis problemas ou riscos e projetar uma arquitetura de nuvem adequada.

## Épicos
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-epics"></a>

### Identificar e avaliar as ferramentas de descoberta
<a name="identify-and-evaluate-discovery-tooling"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique os proprietários do ITSM. | Identifique os proprietários do Gerenciamento de Serviços de TI (ITSM) (geralmente, entrando em contato com as equipes de suporte operacional). | Líder de migração | 
| Verificar o CMDB.  | Identifique o número de bancos de dados de gerenciamento de configuração (CMDBs) que contêm informações sobre ativos e, em seguida, identifique as fontes dessas informações. | Líder de migração | 
| Identifique as ferramentas de descoberta e verifique o uso do BMC Discovery. | Se sua organização estiver usando o BMC Discovery para enviar dados sobre seu ambiente para a ferramenta CMDB, verifique o escopo e a cobertura de seus escaneamentos. Por exemplo, verifique se o BMC Discovery está examinando todos os data centers e se os servidores de acesso estão localizados em zonas perimetrais. | Líder de migração | 
| Verifique o nível de modelagem do aplicativo. | Verifique se os aplicativos foram modelados no BMC Discovery. Caso contrário, recomende o uso da ferramenta BMC Discovery para modelar quais instâncias de software em execução fornecem um aplicativo e um serviço comercial. | Engenheiro de migração, líder de migração | 

### Extrair dados da infraestrutura
<a name="extract-infrastructure-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Extraia dados em servidores físicos e virtuais. | Para extrair dados nos servidores físicos e virtuais examinados pelo BMC Discovery, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search Host show key as 'Serverid', virtual, name as 'HOSTNAME', os_type as 'osName', os_version as 'OS Version', num_logical_processors as 'Logical Processor Counts', cores_per_processor as 'Cores per Processor', logical_ram as 'Logical RAM', #Consumer:StorageUse:Provider:DiskDrive.size as 'Size'</pre>É possível usar os dados extraídos para determinar os tamanhos de instância mais adequados para a migração. | Engenheiro de migração, líder de migração | 
| Extraia dados em aplicativos modelados. | Se seus aplicativos forem modelados no BMC Discovery, você poderá extrair dados sobre os servidores que executam o software do aplicativo. Para obter os nomes dos servidores, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search SoftwareInstance show key as 'ApplicationID', #RunningSoftware:HostedSoftware:Host:Host.key as 'ReferenceID', type, name</pre>As aplicações são modeladas no BMC Discovery por meio de uma coleção de instâncias de software em execução. O aplicativo depende de todos os servidores que executam o software do aplicativo. | Proprietário do aplicativo BMC Discovery | 
| Extraia dados em bancos de dados. | Para obter uma lista de todos os bancos de dados escaneados e dos servidores em que esses bancos de dados estão sendo executados, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search Database show key as 'Key', name, type as 'Source Engine Type', #Detail:Detail:ElementWithDetail:SoftwareInstance.name as 'Software Instance', #Detail:Detail:ElementWithDetail:SoftwareInstance.product_version as 'Product Version', #Detail:Detail:ElementWithDetail:SoftwareInstance.edition as 'Edition', #Detail:Detail:ElementWithDetail:SoftwareInstance.#RunningSoftware:HostedSoftware:Host:Host.key as 'ServerID'</pre> | Proprietário do App | 
| Extraia dados na comunicação com o servidor. | Para obter informações sobre todas as comunicações de rede entre servidores coletadas pelo BMC Discovery a partir de registros históricos de comunicações de rede, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search Host<br /> TRAVERSE InferredElement:Inference:Associate:DiscoveryAccess<br /> TRAVERSE DiscoveryAccess:DiscoveryAccessResult:DiscoveryResult:NetworkConnectionList<br /> TRAVERSE List:List:Member:DiscoveredNetworkConnection<br /> PROCESS WITH networkConnectionInfo</pre> | Proprietário do aplicativo BMC Discovery | 
| Extraia dados sobre a descoberta de aplicativos. | Para obter informações sobre dependências do aplicativo, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search SoftwareInstance show key as 'SRC App ID', #Dependant:Dependency:DependedUpon:SoftwareInstance.key as 'DEST App ID'</pre> | Proprietário do aplicativo BMC Discovery | 
| Extraia dados sobre serviços comerciais. | Para extrair dados sobre serviços comerciais fornecidos por hosts, use o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para executar a seguinte consulta:<pre>search Host show name, #Host:HostedSoftware:AggregateSoftware:BusinessService.name as 'Name'</pre> | Proprietário do aplicativo BMC Discovery | 

## Solução de problemas
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| A consulta falha ao ser executada ou contém colunas não preenchidas. | Analise os registros de ativos no BMC Discovery e determine quais campos você precisa. Em seguida, substitua esses campos na consulta usando o [Criador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html). | 
| Os detalhes de um ativo dependente não serão preenchidos. | Isso provavelmente se deve às permissões de acesso ou à conectividade de rede. A ferramenta de descoberta poderá não ter as permissões necessárias para acessar determinados ativos, especialmente se eles estiverem em redes ou ambientes diferentes.Recomendamos que você trabalhe em estreita colaboração com especialistas no assunto de descoberta para garantir que todos os ativos pertinentes sejam identificados. | 

## Recursos relacionados
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-resources"></a>

**Referências**
+ [Direito ao licenciamento BMC Discovery](https://docs.bmc.com/docs/discovery/bmc-discovery-licensing-entitlement-531336348.html) (Documentação da BMC)
+ [Recursos e componentes do BMC Discovery](https://docs.bmc.com/docs/discovery/221/bmc-discovery-features-and-components-1052418000.html) (Documentação do BMC)
+ [Guia do usuário do BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) (Documentação da BMC)
+ [Pesquisando dados (no BMC Discovery)](https://docs.bmc.com/docs/discovery/120/searching-for-data-911457232.html) (Documentação da BMC)
+ [Descoberta e análise de portfólio para migração](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-portfolio-discovery/welcome.html) (Recomendações da AWS)

**Tutoriais e vídeos**
+ [BMC Discovery: Webinar - Melhores práticas de consulta de relatórios (Parte 1) ()](https://www.youtube.com/watch?v=iwXy6x40kO8) YouTube

# Realocar
<a name="migration-relocate-pattern-list"></a>

**Topics**
+ [Migre um banco de dados Amazon RDS for Oracle para Conta da AWS outro Região da AWS e AWS DMS use-o para replicação contínua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migrar uma instância do banco de dados Amazon RDS para outra VPC ou outra conta](migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.md)
+ [Migre um cluster do Amazon Redshift para uma região da AWS na China](migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china.md)
+ [Transporte bancos de dados PostgreSQL entre duas instâncias de banco de dados Amazon RDS usando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Migre um banco de dados Amazon RDS for Oracle para Conta da AWS outro Região da AWS e AWS DMS use-o para replicação contínua
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication"></a>

*Durga Prasad Cheepuri e Eduardo Valentim, Amazon Web Services*

## Resumo
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-summary"></a>


| 
| 
| Avsio: os usuários do IAM têm credenciais de longo prazo, o que representa um risco de segurança. Para ajudar a reduzir esse risco, recomendamos que você forneça a esses usuários somente as permissões necessárias para realizar a tarefa e que você os remova quando não forem mais necessários. | 
| --- |

Esse padrão orienta você pelas etapas de migração de um banco de dados de origem do Amazon Relational Database Service (Amazon RDS) para Oracle para um banco de dados de origem diferente e. Conta da AWS Região da AWS O padrão usa um DB snapshot para uma única carga de dados completa e habilita AWS Database Migration Service (AWS DMS) para replicação contínua.

## Pré-requisitos e limitações
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS que contém o banco de dados Amazon RDS for Oracle de origem, que foi criptografado usando uma chave AWS Key Management Service não padrão AWS KMS()
+ Um ativo Conta da AWS em um banco de dados Região da AWS diferente do de origem, para usar no banco de dados Amazon RDS for Oracle de destino
+ Emparelhamento de nuvem privada virtual (VPC) entre a origem e o destino VPCs
+ Familiaridade com [o uso de um banco de dados Oracle como fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) para AWS DMS
+ Familiaridade com [o uso de um banco de dados Oracle como alvo](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) para AWS DMS 

**Versões do produto**
+ Oracle para as versões 11g (versões 11.2.0.3.v1 e posteriores) até 12.2 e 18c. Para obter a lista mais recente de versões e edições suportadas, consulte [Usando um banco de dados Oracle como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e com [o uso de um banco de dados Oracle como destino AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) na AWS documentação. Para versões do Oracle compatíveis com o Amazon RDS, consulte [Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html). 

## Arquitetura
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-architecture"></a>

**Pilhas de tecnologia de origem e de destino**
+ Instância do banco de dados Amazon RDS para Oracle

![\[Conta da AWS de origem conectando-se à conta da AWS de destino, que contém as regiões de origem e de destino.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/e17fa7fe-d924-4f35-9707-b93572fa1227.png)


**Arquitetura de replicação contínua**

![\[Banco de dados em uma EC2 instância conectada por meio de emparelhamento VPC a uma instância de replicação e ao Amazon RDS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/b60b3500-5d29-487a-bbab-0ae9f3f386aa.png)


## Ferramentas
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-tools"></a>

**Ferramentas usadas para carregamento completo de dados de uma só vez**
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) cria um snapshot do volume de armazenamento da instância de banco de dados, fazendo backup de toda a instância e não apenas de bancos de dados individuais. Ao criar um snapshot de banco de dados, você precisa identificar de qual instância de banco de dados deseja fazer backup e, em seguida, dar um nome para a sua instância de banco de dados para que você possa restaurar a partir dela depois. O tempo necessário para criar um snapshot varia com o tamanho dos bancos de dados. Como o snapshot inclui todo o volume de armazenamento, o tamanho de arquivos, como arquivos temporários, também afeta o tempo necessário para criar o snapshot. Para obter mais informações para usar snapshots de banco de dados, consulte [Criar um snapshot do banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) na documentação do Amazon RDS. 
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) cria uma**** chave para a**** criptografia**** do Amazon RDS. Ao criar uma instância de banco de dados criptografada, você também pode fornecer o [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)identificador da chave de criptografia. Se você não especificar um identificador de chave do [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html), o Amazon RDS usará a chave de criptografia padrão para sua nova instância de banco de dados. O [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) cria a chave de criptografia padrão para sua Conta da AWS. Conta da AWS A sua tem uma chave de criptografia padrão diferente para cada uma Região da AWS. Para este padrão, a instância de banco de dados do Amazon RDS deve ser criptografada usando uma chave do [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) que não seja a chave padrão. Para obter mais informações sobre o uso de chaves do [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) para criptografia do Amazon RDS, consulte [Criptografar recursos do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) na documentação do Amazon RDS.

**Ferramentas usadas para replicação contínua**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) é usado para replicar mudanças contínuas e manter os bancos de dados de origem e destino sincronizados. Para obter mais informações sobre o uso AWS DMS para replicação contínua, consulte Como [trabalhar com uma instância de AWS DMS replicação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) na AWS DMS documentação. 

## Épicos
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-epics"></a>

### Configure sua fonte Conta da AWS
<a name="configure-your-source-aws-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar a instância de origem do banco de dados Oracle. | Deixe a instância do banco de dados Amazon RDS para Oracle ser executada no modo ARCHIVELOG e defina o período de retenção. Para obter detalhes, consulte [Trabalhando com um banco de dados Oracle AWS gerenciado como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | DBA | 
| Defina o log complementar para a instância do banco de dados Oracle de origem. | Configure o registro em log complementar em nível de banco de dados e em nível de tabela para a instância Amazon RDS para Oracle. Para obter detalhes, consulte [Trabalhando com um banco de dados Oracle AWS gerenciado como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | DBA | 
| Atualize a política de AWS KMS chaves na conta de origem. | Atualize a política de AWS KMS chaves na origem Conta da AWS para permitir que o destino use Conta da AWS a AWS KMS chave criptografada do Amazon RDS. Para obter detalhes, consulte a [documentação do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts). | SysAdmin | 
| Crie um snapshot manual do banco de dados do Amazon RDS da instância do banco de dados de origem. |  | Usuário do IAM AWS | 
| Compartilhe o snapshot manual criptografado do Amazon RDS com a Conta da AWS de destino. | Para obter detalhes, consulte [Compartilhar um snapshot de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html). | Usuário do IAM AWS | 

### Configure seu alvo Conta da AWS
<a name="configure-your-target-aws-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Associar política. | No destino Conta da AWS, anexe uma política AWS Identity and Access Management (IAM) ao usuário raiz do IAM, para permitir que o usuário do IAM copie um DB snapshot criptografado usando a AWS KMS chave compartilhada. | SysAdmin | 
| Altere para a Região da AWS de origem. |  | Usuário do IAM AWS | 
| Copie o snapshot compartilhado. | No console do Amazon RDS, no painel **Snapshots**, escolha **Compartilhados comigo** e selecione o snapshot compartilhado. Copie o snapshot para o Região da AWS mesmo banco de dados de origem usando o Amazon Resource Name (ARN) para AWS KMS a chave usada pelo banco de dados de origem. Para obter detalhes, consulte [Copiar um snapshot de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html). | Usuário do IAM AWS | 
| Mude para o destino Região da AWS e crie uma nova AWS KMS chave. |  | Usuário do IAM AWS | 
| Copie o snapshot. | Altere para a Região da AWS de origem. No console do Amazon RDS, no painel **Snapshots**, escolha **De minha propriedade** e selecione o snapshot copiado. Copie o instantâneo para o destino Região da AWS usando a AWS KMS chave para o novo destino Região da AWS. | Usuário do IAM AWS | 
| Restaure o snapshot. | Mude para o alvo Região da AWS. No console do Amazon RDS, no painel **Snapshots**, escolha **De minha propriedade**. Selecione o snapshot copiado e restaure-o para uma instância do banco de dados Amazon RDS para Oracle. Para obter detalhes, consulte [Restauração a partir de um snapshot de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Usuário do IAM AWS | 

### Prepare seu banco de dados de origem para replicação contínua
<a name="prepare-your-source-database-for-ongoing-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um usuário da Oracle com as permissões apropriadas. | Crie um usuário da Oracle com as permissões necessárias para usar a Oracle como origem para o AWS DMS. Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | DBA | 
| Configure o banco de dados de origem para Oracle LogMiner ou Oracle Binary Reader. |  | DBA | 

### Prepare seu banco de dados de origem para replicação contínua
<a name="prepare-your-target-database-for-ongoing-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um usuário da Oracle com as permissões apropriadas. | Crie um usuário da Oracle com as permissões necessárias para usar a Oracle como destino para o AWS DMS. Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Privileges). | DBA | 

### Crie AWS DMS componentes
<a name="create-dms-components"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de replicação no destino. Região da AWS | Crie uma instância de replicação na VPC do destino. Região da AWS Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance). | Usuário do IAM AWS | 
| Crie endpoints de origem e destino com as conexões necessárias de criptografia e teste. | Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints). | DBA | 
| Criar tarefas de replicação. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.html)Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks). | IAM user (Usuário do IAM) | 
| Inicie e monitore as tarefas. | Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Usuário do IAM AWS | 
| Habilite a validação da tarefa, se necessário. | Observe que habilitar a validação tem um impacto no desempenho da replicação. Para obter detalhes, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Usuário do IAM AWS | 

## Recursos relacionados
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-resources"></a>
+ [Alterando uma política fundamental](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)
+ [Criação de um snapshot manual de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
+ [Criação de um snapshot manual de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [Copiar um snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) 
+ [Restaurar um snapshot de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) 
+ [Começando com AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 
+ [Usando um banco de dados Oracle como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 
+ [Usando um banco de dados Oracle como alvo para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 
+ [AWS DMS configuração usando emparelhamento de VPC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) 
+ [Como compartilho snapshots manuais de banco de dados do Amazon RDS ou snapshots de cluster de banco de dados do Aurora com outra Conta da AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (Artigo do Centro de Conhecimentos da AWS) 

# Migrar uma instância do banco de dados Amazon RDS para outra VPC ou outra conta
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account"></a>

*Dhrubajyoti Mukherjee, Amazon Web Services*

## Resumo
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-summary"></a>

Este padrão fornece orientação sobre como migrar uma instância do banco de dados Amazon Relational Database Service (Amazon RDS) de uma nuvem privada virtual (VPC) para outra na mesma conta da AWS ou de uma conta da AWS para outra conta da AWS.

Esse padrão é útil se você quiser migrar suas instâncias de banco de dados do Amazon RDS para outra VPC ou conta por motivos de separação ou segurança (por exemplo, quando quiser colocar a pilha de aplicativos e o banco de dados em lugares diferentes). VPCs 

A migração de uma instância de banco de dados para outra conta da AWS envolve etapas como obter um snapshot manual, compartilhá-lo e restaurá-lo na conta de destino. Esse processo pode ser demorado, dependendo das alterações do banco de dados e das taxas de transação. Também acarreta tempo de inatividade do banco de dados, portanto, planeje a migração com antecedência. Considere uma estratégia de blue/green implantação para minimizar o tempo de inatividade. Como alternativa, você pode avaliar o AWS Data Migration Service (AWS DMS) para minimizar o tempo de inatividade devido à alteração. No entanto, esse padrão não cobre essa opção. Para saber mais, consulte a [documentação do AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)

## Pré-requisitos e limitações
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Permissões do AWS Identity and Access Management (IAM) necessárias para VPC, sub-redes e console do Amazon RDS

**Limitações**
+ Alterações em uma VPC acarretam a reinicialização do banco de dados, resultando em interrupções no aplicativo. Recomendamos migrar em horários fora de pico.
+ Limitações ao migrar o Amazon RDS para outra VPC:
  + A instância de banco de dados que você está migrando deve ser uma única instância sem espera. Ela não deve ser membro de um cluster.
  + O Amazon RDS não deve estar em diversas zonas de disponibilidade.
  + O Amazon RDS não deve ter nenhuma réplica de leitura.
  + O grupo de sub-redes criado na VPC de destino deve ter sub-redes da zona de disponibilidade em que o banco de dados de origem está sendo executado.
+ Limitações ao migrar o Amazon RDS para outra conta da AWS:
  + Atualmente, não há compatibilidade para o compartilhamento de snapshots criptografados com a chave de serviço padrão do Amazon RDS.

## Arquitetura
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-architecture"></a>

**Migração para uma VPC na mesma conta da AWS**

O diagrama a seguir mostra o fluxo de trabalho para migrar uma instância do banco de dados Amazon RDS para uma VPC diferente na mesma conta da AWS.

![\[Fluxo de trabalho para migrar uma instância do banco de dados Amazon RDS para uma VPC diferente na mesma conta da AWS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/73e16544-6276-4f03-9ae2-42b8c7c20315.png)


Consiste das etapas a seguir. Para obter instruções detalhadas, consulte a seção [Tópicos](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics).

1. Crie um grupo de sub-redes de banco de dados na VPC de destino. Um grupo de sub-redes de banco de dados é uma coleção de sub-redes que você pode usar para especificar uma VPC específica ao criar instâncias de banco de dados.

1. Configure a instância do banco de dados Amazon RDS na VPC de origem para usar o novo grupo de sub-redes de banco de dados.

1. Aplique as alterações para migrar o banco de dados do Amazon RDS para a VPC de destino.

**Migrar para uma conta da AWS diferente**

O diagrama a seguir mostra o fluxo de trabalho para migrar uma instância do banco de dados Amazon RDS para uma conta diferente da AWS.

![\[Fluxo de trabalho para migrar uma instância do banco de dados Amazon RDS para uma conta diferente da AWS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/5536e69e-3965-4ca2-8a0b-2573659b5f8f.png)


Consiste das etapas a seguir. Para obter instruções detalhadas, consulte a seção [Tópicos](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics).

1. Acesse a instância do banco de dados Amazon RDS na conta de origem da AWS.

1. Crie um snapshot do Amazon RDS na conta de origem da AWS.

1. Compartilhe o snapshot do Amazon RDS com a conta de destino da AWS.

1. Acesse o snapshot do Amazon RDS n conta de destino da AWS.

1. Crie uma instância do banco de dados do Amazon RDS na conta de destino da AWS.

## Ferramentas
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-tools"></a>

**Serviços da AWS**
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS.
+ A [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda a iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

## Práticas recomendadas
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-best-practices"></a>
+ Se o tempo de inatividade do banco de dados for uma preocupação ao migrar uma instância do banco de dados Amazon RDS para outra conta, recomendamos que você use o [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). Esse serviço fornece replicação de dados, o que acarreta menos de cinco minutos de interrupção.

## Épicos
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics"></a>

### Migrar para uma VPC diferente na mesma conta da AWS
<a name="migrate-to-a-different-vpc-in-the-same-aws-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma nova VPC. | No [console da Amazon VPC](https://console.aws.amazon.com/vpc/), crie uma nova VPC e sub-redes com as propriedades e os intervalos de endereços IP desejados. Para obter instruções detalhadas, consulte a [Documentação do Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html). | Administrador | 
| Criar um grupo de sub-redes de banco de dados. | No [console do Amazon RDS](https://console.aws.amazon.com/rds/):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Para obter mais informações, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.CreateDBSubnetGroup). | Administrador | 
| Modifique a instância do banco de dados Amazon RDS para usar o novo grupo de sub-redes. | No console do Amazon RDS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Quando a migração para a VPC de destino é concluída, o grupo de segurança padrão da VPC de destino é atribuído à instância do banco de dados Amazon RDS. Você pode configurar um novo grupo de segurança para essa VPC com as regras de entrada e de saída necessárias para a instância do seu banco de dados.Como alternativa, use a AWS Command Line Interface (AWS CLI) para realizar a migração para a VPC de destino fornecendo explicitamente o novo ID do grupo de segurança da VPC. Por exemplo:<pre>aws rds modify-db-instance \<br />    --db-instance-identifier testrds \<br />    --db-subnet-group-name new-vpc-subnet-group \<br />    --vpc-security-group-ids sg-idxxxx \<br />    --apply-immediately</pre> | Administrador | 

### Migrar para uma conta diferente da AWS
<a name="migrate-to-a-different-aws-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma nova VPC e um novo grupo de sub-redes na conta de destino da AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrador | 
| Compartilhe um snapshot manual do banco de dados com a conta de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrador | 
| Iniciar uma instância nova de banco de dados do Amazon RDS. | Iniciar uma instância nova do banco de dados do Amazon RDS a partir do snapshot na conta de destino da AWS. Para obter instruções, consulte a [Documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Administrador | 

## Recursos relacionados
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-resources"></a>
+ [Documentação da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
+ [Documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)
+ [Como altero a VPC para uma instância de banco de dados do Amazon RDS?](https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-rds-db-instance/) (Artigo do AWS ref:Post)
+ [Como faço para transferir a propriedade dos recursos do Amazon RDS para uma conta diferente da AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-rds/) (Artigo do AWS ref:Post)
+ [Como faço para compartilhar snapshots manuais de banco de dados do Amazon RDS ou snapshots de cluster de banco de dados do Aurora?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (Artigo do AWS ref:Post)
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)

# Migre um cluster do Amazon Redshift para uma região da AWS na China
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china"></a>

*Jing Yan, Amazon Web Services*

## Resumo
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-summary"></a>

Esse padrão fornece uma step-by-step abordagem para migrar um cluster do Amazon Redshift de outra região da AWS para uma região da AWS na China.

Este padrão usa comandos SQL para recriar todos os objetos do banco de dados, além do comando UNLOAD para mover esses dados do Amazon Redshift para um bucket do Amazon Simple Storage Service (Amazon S3) na região de origem. Em seguida, os dados são migrados para um bucket do S3 na região da AWS na China. O comando COPY é usado para carregar dados do bucket do S3 e transferi-los para o cluster de destino do Amazon Redshift.

Atualmente, o Amazon Redshift não é compatível com os recursos entre regiões, como cópia de snapshots para regiões da AWS na China. Este padrão fornece uma maneira de contornar essa limitação. Você também pode reverter as etapas deste padrão para migrar dados de uma região da AWS na China para outra região da AWS.

## Pré-requisitos e limitações
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-prereqs"></a>

*Pré-requisitos *
+ Contas ativas da AWS em uma região da China e em uma região da AWS fora da China
+ Clusters existentes do Amazon Redshift em uma região da China e em uma região da AWS fora da China

*Limitações*
+ Essa é uma migração off-line, o que significa que o cluster de origem do Amazon Redshift não pode realizar operações de gravação durante a migração.

## Arquitetura
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-architecture"></a>

**Pilha de tecnologia de origem**
+ Migre um cluster do Amazon Redshift para uma região da AWS na China

**Pilha de tecnologias de destino**
+ Migre um cluster do Amazon Redshift para uma região da AWS na China

**Arquitetura de destino**

![\[Migração dos dados do cluster do Amazon Redshift armazenados em um bucket do S3 em uma região da AWS para um bucket em uma região da China.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f7d241d9-b700-406b-95a0-3e47e7f0fa60/images/b6016e3d-76db-4176-8f99-f804da94d3f2.png)


## Ferramentas
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-tools"></a>

**Ferramentas**
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html): o Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance. Você pode usar o Amazon S3 para armazenar dados do Amazon Redshift e copiar dados de um bucket do S3 para o Amazon Redshift.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html): o Amazon Redshift é um serviço de data warehouse em escala de petabytes totalmente gerenciado na nuvem. 
+ [psql](https://www.postgresql.org/docs/8.4/app-psql.html): o psql é um frontend baseado em terminal para o PostgreSQL. 

## Épicos
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-epics"></a>

### Prepare-se para a migração na região de origem
<a name="prepare-for-migration-in-the-source-region"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie e configure uma EC2 instância na região de origem. | Faça login no AWS Management Console e abra o console Amazon Elastic Compute Cloud (Amazon EC2). Na barra de navegação na parte superior da tela, a região atual é exibida. Essa região não pode ser uma região da AWS na China. No painel do EC2 console da Amazon, escolha “Launch instance” e crie e configure uma EC2 instância. Importante: garanta que seus grupos de EC2 segurança para regras de entrada permitam acesso irrestrito à porta TCP 22 de sua máquina de origem. Para obter instruções sobre como iniciar e configurar uma EC2 instância, consulte a seção “Recursos relacionados”. | DBA, Desenvolvedor | 
| Instale a ferramenta psql. | Baixe e instale o PostgreSQL. O Amazon Redshift não fornece a ferramenta psql; ele é instalado com PostgreSQL. Para obter mais informações sobre como usar o psql e instalar as ferramentas do PostgreSQL, consulte a seção “Recursos relacionados”. | DBA | 
| Registre os detalhes do cluster do Amazon Redshift.  | Abra o console do Amazon Redshift e escolha “Clusters” no painel de navegação. Em seguida, escolha o nome do cluster do Amazon Redshift na lista. Na guia “Propriedades”, na seção “Configurações do banco de dados”, registre o “Nome do banco de dados” e a “Porta”. Abra a seção “Detalhes da conexão” e registre o “Endpoint”, que está no formato “endpoint:<port>/<databasename>”. Importante: garanta que seus grupos de segurança do Amazon Redshift para regras de entrada permitam acesso irrestrito à porta TCP 5439 de sua instância. EC2  | DBA | 
| Conecte o psql ao cluster do Amazon Redshift.  | Em um prompt de comando, especifique as informações de conexão executando o comando “psql -h <endpoint> -U <userid> -d <databasename> -p <port>”. No prompt de senha do psql, insira a senha do usuário “<userid>”. Assim você está conectado ao cluster do Amazon Redshift e pode inserir os comandos interativamente. | DBA | 
| Criar um bucket do S3.  | Abra o console do Amazon S3 e crie um bucket do S3 para armazenar os arquivos exportados do Amazon Redshift. Para obter instruções sobre como criar um bucket do S3, consulte a seção “Recursos relacionados”. | DBA, AWS geral | 
| Crie uma política do IAM que forneça suporte ao descarregamento de dados. | Abra o console do AWS Identity and Access Management (IAM) e escolha “Políticas”. Escolha “Criar política” e selecione a guia “JSON”. Copie e cole a política do IAM para descarregar dados da seção “Informações adicionais”. Importante: substitua “s3\$1bucket\$1name” pelo nome do seu bucket do S3. Escolha “Analisar política” e insira um nome e uma descrição para a política. Escolha “Criar política”. | DBA | 
| Crie um perfil do IAM para permitir a operação UNLOAD no Amazon Redshift. | Abra o console do IAM e selecione “Perfis”. Escolha “Criar perfil” e selecione “Serviço da AWS” em “Selecionar tipo de entidade confiável”. Escolha “Redshift” para o serviço, selecione “Redshift – Personalizável” e, em seguida, clique em “Próximo”. Escolha a política “Descarregar” que você criou anteriormente e selecione “Próximo”. Insira um “Nome do perfil” e selecione “Criar perfil”. | DBA | 
| Associe um perfil do IAM ao cluster do Amazon Redshift.  | Abra o console do Amazon Redshift e escolha “Gerenciar perfis IAM”. Escolha “Perfis disponíveis” no menu suspenso e selecione o perfil que você criou anteriormente. Selecione “Aplicar alterações”. Quando o “Status” do perfil do IAM na seção “Gerenciar perfis do IAM” aparecer como “Em sincronização”, você poderá executar o comando UNLOAD. | DBA | 
| Pare as operações de gravação no cluster do Amazon Redshift. | Você deve se lembrar de interromper todas as operações de gravação no cluster de origem do Amazon Redshift até que a migração seja concluída. | DBA | 

### Prepare para a migração na região de destino
<a name="prepare-for-migration-in-the-target-region"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie e configure uma EC2 instância na região de destino. | Faça login no Console de Gerenciamento da AWS de uma região na China, seja Pequim ou Ningxia. No EC2 console da Amazon, escolha “Launch instance” e crie e configure uma EC2 instância. Importante: certifique-se de que seus grupos EC2 de segurança da Amazon para regras de entrada permitam acesso irrestrito à porta TCP 22 de sua máquina de origem. Para obter mais instruções sobre como iniciar e configurar uma EC2 instância, consulte a seção “Recursos relacionados”. | DBA | 
| Registre os detalhes do cluster do Amazon Redshift.  | Abra o console do Amazon Redshift e escolha “Clusters” no painel de navegação. Em seguida, escolha o nome do cluster do Amazon Redshift na lista. Na guia “Propriedades”, na seção “Configurações do banco de dados”, registre o “Nome do banco de dados” e a “Porta”. Abra a seção “Detalhes da conexão” e registre o “Endpoint”, que está no formato “endpoint:<port>/<databasename>”. Importante: certifique-se de que seus grupos de segurança do Amazon Redshift para regras de entrada permitam acesso irrestrito à porta TCP 5439 da sua instância. EC2  | DBA | 
| Conecte o psql ao cluster do Amazon Redshift.  | Em um prompt de comando, especifique as informações de conexão executando o comando “psql -h <endpoint> -U <userid> -d <databasename> -p <port>”. No prompt de senha do psql, insira a senha do usuário “<userid>”. Assim você está conectado ao cluster do Amazon Redshift e pode inserir os comandos interativamente. | DBA | 
| Criar um bucket do S3.  | Abra o console do Amazon S3 e crie um bucket do S3 para armazenar os arquivos exportados do Amazon Redshift. Para obter ajuda com esta e outras histórias, consulte a seção “Recursos relacionados”. | DBA | 
| Crie uma política do IAM que seja compatível com cópia de dados. | Abra o console do IAM e selecione “Políticas”. Escolha “Criar política” e selecione a guia “JSON”. Copie e cole a política do IAM para copiar dados da seção “Informações adicionais”. Importante: substitua “s3\$1bucket\$1name” pelo nome do seu bucket do S3. Escolha “Analisar política” e insira um nome e uma descrição para a política. Escolha “Criar política”. | DBA | 
| Crie um perfil do IAM para permitir a operação COPY no Amazon Redshift. | Abra o console do IAM e selecione “Perfis”. Escolha “Criar perfil” e selecione “Serviço da AWS” em “Selecionar tipo de entidade confiável”. Escolha “Redshift” para o serviço, selecione “Redshift – Personalizável” e, em seguida, clique em “Próximo”. Escolha a política “Copiar” que você criou anteriormente e selecione “Próximo”. Insira um “Nome do perfil” e selecione “Criar perfil”. | DBA | 
| Associe um perfil do IAM ao cluster do Amazon Redshift.  | Abra o console do Amazon Redshift e escolha “Gerenciar perfis IAM”. Escolha “Perfis disponíveis” no menu suspenso e selecione o perfil que você criou anteriormente. Selecione “Aplicar alterações”. Quando o “Status” do perfil do IAM na seção “Gerenciar perfis do IAM” aparecer como “Em sincronização”, você poderá executar o comando COPY. | DBA | 

### Verifique os dados de origem e as informações do objeto antes de iniciar a migração
<a name="verify-source-data-and-object-information-before-beginning-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique as linhas nas tabelas de origem do Amazon Redshift. | Use os scripts apresentados na seção “Informações adicionais” para verificar e registrar o número de linhas nas tabelas de origem do Amazon Redshift. Lembre-se de dividir os dados uniformemente para os scripts UNLOAD e COPY. Isso melhorará a eficiência do descarregamento e carregamento dos dados, pois a quantidade de dados abrangida por cada script será equilibrada. | DBA | 
| Verifique o número de objetos de banco de dados no cluster de origem do Amazon Redshift. | Use os scripts na seção “Informações adicionais” para verificar e registrar o número de bancos de dados, usuários, esquemas, tabelas, visualizações e funções definidas pelo usuário (UDFs) em seu cluster de origem do Amazon Redshift. | DBA | 
| Verifique os resultados da instrução SQL antes da migração. | Algumas instruções SQL para validação de dados devem ser classificadas de acordo com as situações reais de negócios e dados. Isso serve para verificar os dados importados a fim de garantir que sejam consistentes e exibidos corretamente. | DBA | 

### Migrar dados e objetos para a região de destino
<a name="migrate-data-and-objects-to-the-target-region"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere scripts DDL do Amazon Redshift.  | Gere scripts de linguagem de definição de dados (DDL, na sigla em inglês) usando os links da seção “Instruções SQL para consultar o Amazon Redshift” na seção “Informações adicionais”. Esses scripts de DDL devem incluir as consultas “criar usuário”, “criar esquema”, “privilégios sobre o esquema para usuário”, “criar tabela/visualização”, “privilégios sobre objetos para usuário” e “criar função”. | DBA | 
| Crie objetos no cluster do Amazon Redshift para a região de destino. | Execute os scripts DDL usando a AWS Command Line Interface (AWS CLI) na região da AWS na China. Crie objetos no cluster do Amazon Redshift para a região de destino. | DBA | 
| Descarregue os dados de origem do cluster do Amazon Redshift no bucket do S3. | Execute o comando UNLOAD para descarregar dados do cluster do Amazon Redshift na região de origem para o bucket do S3. | DBA, Desenvolvedor  | 
| Transfira os dados do bucket do S3 da região de origem para o bucket do S3 da região de destino. | Transfira os dados de origem do bucket da região S3 para o bucket da região S3 de destino. Como não é possível usar o comando “\$1 aws s3 sync”, garanta que você empregue o processo descrito no artigo “Transferring Amazon S3 data from AWS Regions to AWS Regions in China”, disponibilizado na seção “Recursos relacionados”. | Desenvolvedor | 
|  Carregue dados no cluster de destino do Amazon Redshift.  | Na ferramenta psql da sua região de destino, execute o comando COPY para carregar dados do bucket do S3 para o cluster de destino do Amazon Redshift. | DBA | 

### Verifique os dados nas regiões de origem e de destino após a migração
<a name="verify-the-data-in-the-source-and-target-regions-after-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique e compare o número de linhas nas tabelas de origem e de destino. | Verifique e compare o número de linhas nas tabelas de origem e de destino. | DBA | 
| Verifique e compare o número de linhas nas tabelas de origem e de destino. | Verifique e compare o número de linhas nas tabelas de origem e de destino. | DBA | 
| Verifique e compare os resultados do script SQL nas regiões de origem e de destino. | Execute os scripts SQL preparados antes da migração. Verifique e compare os dados para garantir que os resultados do SQL estejam corretos. | DBA | 
| Redefina as senhas de todos os usuários no cluster de destino do Amazon Redshift.  | Depois que a migração for concluída e todos os dados forem verificados, você deverá redefinir todas as senhas de usuário do cluster do Amazon Redshift na região da AWS na China. | DBA | 

## Recursos relacionados
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-resources"></a>
+ [Transferência de dados do Amazon S3 de regiões da AWS para regiões da AWS na China](https://aws.amazon.com/cn/blogs/storage/transferring-amazon-s3-data-from-aws-regions-to-aws-regions-in-china/)
+ [Criar um bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)
+ [Redefinição de uma senha de usuário do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html)
+ [Documentação do JDBC](https://www.postgresql.org/docs/8.4/static/app-psql.html)

## Mais informações
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-additional"></a>

*Política do IAM para descarregar dados*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Política do IAM para copiar dados*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Instruções SQL para consultar o Amazon Redshift*

```
##Database

select * from pg_database where datdba>1;

##User

select * from pg_user where usesysid>1;

##Schema

SELECT n.nspname AS "Name",

  pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"

FROM pg_catalog.pg_namespace n

WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'

ORDER BY 1;

##Table

select count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema');

select schemaname,count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema') group by schemaname order by 1;

##View

SELECT 

    n.nspname AS schemaname,c.relname AS viewname,pg_catalog.pg_get_userbyid(c.relowner) as "Owner"

FROM 

    pg_catalog.pg_class AS c

INNER JOIN

    pg_catalog.pg_namespace AS n

    ON c.relnamespace = n.oid

WHERE relkind = 'v' and n.nspname not in ('information_schema','pg_catalog');

##UDF

SELECT 

   n.nspname AS schemaname,

   p.proname AS proname,

   pg_catalog.pg_get_userbyid(p.proowner) as "Owner"

FROM pg_proc p

LEFT JOIN pg_namespace n on n.oid = p.pronamespace

WHERE p.proowner != 1;
```

*Scripts SQL para gerar instruções DDL*
+ [Script Get\$1schema\$1priv\$1by\$1user](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_get_schema_priv_by_user.sql)
+ [Script Generate\$1tbl\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_tbl_ddl.sql)
+ [Generate\$1view\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_view_ddl.sql)
+ [Generate\$1user\$1grant\$1revoke\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_user_grant_revoke_ddl.sql)
+ [Generate\$1udf\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_udf_ddl.sql)

# Transporte bancos de dados PostgreSQL entre duas instâncias de banco de dados Amazon RDS usando pg\$1transport
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport"></a>

*Raunak Rishabh e Jitender Kumar, Amazon Web Services*

## Resumo
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-summary"></a>

Esse padrão descreve as etapas para migrar bancos de dados extremamente grandes entre duas instâncias de banco de dados Amazon Relational Database Service (Amazon RDS) para PostgreSQL usando a extensão **pg\$1transport**. Esta extensão fornece um mecanismo de transporte físico para mover cada banco de dados. Ao fazer streaming dos arquivos do banco de dados com o mínimo de processamento, ele fornece um método extremamente rápido para migrar grandes bancos de dados entre instâncias de banco de dados com o mínimo de tempo de inatividade. Essa extensão usa um modelo pull, em que a instância do banco de dados de destino importa o banco de dados da instância de banco de dados de origem.

## Pré-requisitos e limitações
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-prereqs"></a>

**Pré-requisitos **
+ Ambas as instâncias de banco de dados devem executar a mesma versão principal do PostgreSQL.
+ O banco de dados não deve existir no destino. Caso contrário, ocorrerá uma falha no transporte.
+ Nenhuma extensão diferente de **pg\$1transport** deve ser habilitada no banco de dados de origem.
+ Todos os objetos do banco de dados de origem devem estar no espaço de tabela padrão **pg\$1default**.
+ O grupo de segurança da instância de banco de dados de origem deveria permitir tráfego da instância de banco de dados de destino.
+ Instale um cliente PostgreSQL, [como](https://www.postgresql.org/docs/11/app-psql.html) o psql, [PgAdmin](https://www.pgadmin.org/)ou para trabalhar com a instância de banco de dados PostgreSQL do Amazon RDS. Você pode instalar o cliente em seu sistema local ou usar uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Nesse padrão, usamos psql em uma EC2 instância.

**Limitações**
+ Você não pode transportar bancos de dados entre diferentes versões principais do Amazon RDS para PostgreSQL.
+ Os privilégios de acesso e a propriedade do banco de dados de origem não são transferidos para o banco de dados de destino.
+ Não é possível transportar bancos de dados em réplicas de leitura nem em instâncias pai de réplicas de leitura.
+ Não é possível usar os tipos de dados **reg** em nenhuma tabela de banco de dados que você planeja transportar com esse método.
+ É possível executar até 32 transportes totais ao mesmo tempo (inclusive importações e exportações) em uma instância de banco de dados.
+ Você não pode renomear nossas include/exclude tabelas. Tudo é migrado como está.

**Cuidado**
+ Faça backups antes de remover a extensão, pois a remoção da extensão também remove objetos dependentes e alguns dados essenciais para a operação do banco de dados.
+ Considere a classe da instância e os processos em execução em outros bancos de dados na instância de origem ao determinar o número de operadores e os valores `work_mem` para **pg\$1transport**.
+ Quando o transporte é iniciado, todas as conexões no banco de dados de origem são encerradas e o banco de dados é colocado no modo somente leitura.

**nota**  
Quando o transporte está em execução em um banco de dados, ele não afeta os outros bancos de dados no mesmo servidor.** **

**Versões do produto**
+ Amazon RDS para PostgreSQL 10.10 e posterior e Amazon RDS para PostgreSQL 11.5 e posterior. Para obter as informações sobre a versão mais recente, consulte [Transporte de bancos de dados PostgreSQL entre instâncias de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) na documentação do Amazon RDS.

## Arquitetura
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-architecture"></a>

![\[Transporte de bancos de dados PostgreSQL entre instâncias de banco de dados Amazon RDS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/d5fb7ea3-32b7-4602-b382-3cf5c075c7c9/images/aec4d8d2-37a8-4136-9042-f9667ac4aebb.png)


## Ferramentas
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-tools"></a>
+ **pg\$1transport** fornece um mecanismo de transporte físico para mover cada banco de dados. Ao fazer streaming dos arquivos do banco de dados com o mínimo de processamento, o transporte físico move os dados muito mais rapidamente que os processos tradicionais de despejo e carregamento e leva um tempo de inatividade mínimo. Os bancos de dados PostgreSQL transportáveis usam um modelo pull, em que a instância do banco de dados de destino importa o banco de dados da instância de banco de dados de origem. Você instala essa extensão em suas instâncias de banco de dados ao preparar os ambientes de origem e de destino, conforme explicado nesse padrão.
+ O [psql](https://www.postgresql.org/docs/11/app-psql.html) permite que você se conecte e trabalhe com suas instâncias de banco de dados PostgreSQL. Para instalar o **psql** em seu sistema, consulte a página de downloads do [PostgreSQL.](https://www.postgresql.org/download/)

## Épicos
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-epics"></a>

### Crie o grupo de parâmetros de destino
<a name="create-the-target-parameter-group"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um grupo de parâmetros para o sistema de destino. | Especifique um nome de grupo que o identifique como um grupo de parâmetros de destino; por exemplo, `pgtarget-param-group`. Para obter instruções, consulte a documentação do [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | DBA | 
| Modificar os parâmetros no grupo de parâmetros. | Defina os seguintes parâmetros:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Para obter mais informações sobre estes parâmetros, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | DBA | 

### Criar o grupo de parâmetros de origem
<a name="create-the-source-parameter-group"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um grupo de parâmetros para o sistema de origem. | Especifique um nome de grupo que o identifique como um grupo de parâmetros de origem; por exemplo, `pgsource-param-group`. Para obter instruções, consulte a documentação do [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | DBA | 
| Modificar os parâmetros no grupo de parâmetros. | Defina os seguintes parâmetros:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Para obter mais informações sobre estes parâmetros, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | DBA | 

### Prepare o ambiente de destino
<a name="prepare-the-target-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma nova instância de banco de dados Amazon RDS para PostgreSQL para a qual transportar seu banco de dados de origem. | Determine a classe da instância e a versão do PostgreSQL com base nos requisitos da sua empresa. | DBA, administrador de sistemas, arquiteto de banco de dados | 
| Modifique o grupo de segurança do destino para permitir conexões na porta da instância de banco de dados a partir da EC2 instância. | A porta padrão para a instância PostgreSQL é 5432. Se você estiver usando outra porta, as conexões com essa porta devem estar abertas para a EC2 instância. | DBA, administrador de sistemas | 
| Modifique a instância e atribua o novo grupo de parâmetros de destino. | Por exemplo, .`pgtarget-param-group` | DBA | 
| Reiniciar a instância de banco de dados do Amazon RDS.  | Os parâmetros `shared_preload_libraries` e `max_worker_processes` são parâmetros estáticos e exigem a reinicialização da instância. | DBA, administrador de sistemas | 
| Conecte-se ao banco de dados a partir da EC2 instância usando psql. | Use o comando: <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Crie a extensão pg\$1transport. | Execute a consulta a seguir como usuário com a função `rds_superuser`:<pre>create extension pg_transport;</pre> | DBA | 

### Prepare o ambiente de destino
<a name="prepare-the-source-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Modifique o grupo de segurança da origem para permitir conexões na porta da instância de banco de dados da instância Amazon e da EC2 instância de banco de dados de destino | A porta padrão para a instância PostgreSQL é 5432. Se você estiver usando outra porta, as conexões com essa porta devem estar abertas para a EC2 instância. | DBA, administrador de sistemas | 
| Modifique a instância e atribua o novo grupo de parâmetros de origem. | Por exemplo, .`pgsource-param-group` | DBA | 
| Reinicie a origem de banco de dados do Amazon RDS.  | Os parâmetros `shared_preload_libraries` e `max_worker_processes` são parâmetros estáticos e exigem a reinicialização da instância. | DBA | 
| Conecte-se ao banco de dados a partir da EC2 instância usando psql. | Use o comando: <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Crie a extensão pg\$1transport e remova todas as outras extensões dos bancos de dados a serem transportados. | O transporte falhará se houver alguma extensão diferente de **pg\$1transport** instalada no banco de dados de origem. Esse comando deve ser executado por um usuário com a função `rds_superuser`. | DBA | 

### Execute o transporte
<a name="perform-the-transport"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute uma simulação. | Use a função `transport.import_from_server` para executar uma simulação primeiro:<pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', 'true');</pre>O último parâmetro dessa função (determinado como `true`) define a operação a seco. Essa função exibe todos os erros que você veria ao executar o transporte principal. Resolva os erros antes de executar o transporte principal.  | DBA | 
| Se a execução a seco for bem-sucedida, inicie o transporte do banco de dados. | Execute a função `transport.import_from_server` para realizar o transporte. Ele se conecta à fonte e importa os dados. <pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);</pre>O último parâmetro dessa função (definido como `false`) indica que isso não é um ensaio. | DBA | 
| Execute as etapas pós-transporte. | Depois que o transporte do banco de dados estiver concluído:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html) | DBA | 

## Recursos relacionados
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-resources"></a>
+ [Documentação do Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [documentação pg\$1transport](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB.Setup)
+ [Migração de bancos de dados usando bancos de dados transportáveis PostgreSQL do RDS](https://aws.amazon.com/blogs/database/migrating-databases-using-rds-postgresql-transportable-databases/) (postagem do blog)
+ [Downloads do PostgreSQL](https://www.postgresql.org/download/linux/redhat/)
+ [utilitário psql](https://www.postgresql.org/docs/11/app-psql.html)
+ [Criação de um parameter group de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Creating)
+ [Modificar parâmetros em um grupo de parâmetros de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Modifying)
+ [Downloads do PostgreSQL](https://www.postgresql.org/download/)

# Redefinir a plataforma
<a name="migration-replatform-pattern-list"></a>

**Topics**
+ [Exportar um banco de dados do Microsoft SQL Server para o Amazon S3 usando o AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Migrar valores do Oracle CLOB para linhas individuais no PostgreSQL na AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migre o Oracle PeopleSoft para o Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migre a funcionalidade Oracle ROWID para o PostgreSQL na AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migre códigos de erro do banco de dados Oracle para um banco de dados compatível com Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migre o SAP ASE na Amazon EC2 para o Amazon Aurora compatível com PostgreSQL usando o AWS SCT e o AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)
+ [Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Migrar uma fila de mensagens do Microsoft Azure Service Bus para o Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migre um banco de dados Oracle JD Edwards EnterpriseOne para a AWS usando o Oracle Data Pump e o AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migre um PeopleSoft banco de dados Oracle para a AWS usando o AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migrar um banco de dados MySQL on-premises para o Amazon RDS para MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migre dados do Microsoft Azure Blob para o Amazon S3 usando o Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migre do Couchbase Server para o Couchbase Capella na AWS](migrate-from-couchbase-server-to-couchbase-capella-on-aws.md)
+ [Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)
+ [Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2 com o Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migre uma aplicação .NET do Microsoft Azure App Service para o AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migre do Oracle WebLogic para o Apache Tomcat (TomEE) no Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for Oracle usando o AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle usando o Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migre do PostgreSQL na Amazon para o EC2 Amazon RDS for PostgreSQL usando pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migrar um banco de dados PostgreSQL on-premises para o Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migre um banco de dados local do Microsoft SQL Server para o Microsoft SQL Server na Amazon executando Linux EC2](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando servidores vinculados](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Saiba como migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando backup e restauração nativos.](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migre um banco de dados Microsoft SQL Server para o Aurora MySQL usando o AWS DMS e o AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migre um banco de dados MariaDB on-premises para o Amazon RDS para MariaDB usando ferramentas nativas](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migrar um banco de dados MySQL on-premises para o Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migre bancos de dados MySQL locais para o Aurora MySQL usando XtraBackup Percona, Amazon EFS e Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migrar aplicações Java on-premises para a AWS usando o App2Container da AWS](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migre sistemas de arquivos compartilhados em uma AWS grande migração](migrate-shared-file-systems-in-an-aws-large-migration.md)
+ [Migre um banco de dados Oracle para o Amazon RDS for Oracle usando adaptadores de arquivo simples GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Altere os aplicativos Python e Perl para oferecer suporte à migração do banco de dados do Microsoft SQL Server para o Amazon Aurora Edição Compatível com PostgreSQL](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)

# Exportar um banco de dados do Microsoft SQL Server para o Amazon S3 usando o AWS DMS
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms"></a>

*Sweta Krishna, Amazon Web Services*

## Resumo
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-summary"></a>

Muitas vezes, as organizações precisam copiar bancos de dados para o Amazon Simple Storage Service (Amazon S3) para migração de banco de dados, backup e restauração, arquivamento de dados e análise de dados. Esse padrão descreve como você pode exportar um banco de dados Microsoft SQL Server para o Amazon S3. O banco de dados de origem pode ser hospedado localmente ou no Amazon Elastic Compute Cloud (Amazon EC2) ou no Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server na Amazon Web Services (AWS) Cloud.

Os dados são exportados usando o AWS Database Migration Service (AWS DMS). Por padrão, o AWS DMS grava dados completos de captura de dados de alteração e carga (CDC) no formato de valores separados por vírgula (.csv). Para um armazenamento mais compacto e opções de consulta mais rápidas, esse padrão usa a opção de formato Apache Parquet (.parquet).

## Pré-requisitos e limitações
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um perfil do AWS Identity and Access Management (IAM) para a conta com acesso de gravação, exclusão e tag ao bucket do S3 de destino, e o AWS DMS (`dms.amazonaws.com`) adicionado como uma entidade confiável a esse perfil do IAM
+ Um banco de dados Microsoft SQL Server local (ou Microsoft SQL Server em uma EC2 instância ou um banco de dados Amazon RDS for SQL Server)
+ Conectividade de rede entre a nuvem privada virtual (VPC) na AWS e a rede on-premises fornecida pelo AWS Direct Connect ou uma rede privada virtual (VPN)

**Limitações**
+ Atualmente, um bucket do S3 habilitado para VPC (gateway VPC) não é compatível com as versões do AWS DMS anteriores à 3.4.7.
+ As alterações na estrutura da tabela de origem durante a carga máxima não são compatíveis.
+ O modo completo do Large Binary Object (LOB) do AWS DMS não é compatível.

**Versões do produto**
+ Versões do Microsoft SQL Server 2005 ou superior para as edições Enterprise, Standard, Workgroup e Developer.
+ O suporte para o Microsoft SQL Server versão 2019 como origem está disponível no AWS DMS versões 3.3.2 e posterior.

## Arquitetura
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Microsoft SQL Server local (ou Microsoft SQL Server em uma EC2 instância ou um banco de dados Amazon RDS for SQL Server)**** 

**Pilha de tecnologias de destino**
+ AWS Direct Connect
+ AWS DMS
+ Amazon S3

**Arquitetura de destino**

![\[A migração de dados do banco de dados do SQL Server ocorre por meio do Direct Connect para o AWS DMS e, posteriormente, para o bucket do S3.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/75b8b20f-a1a8-4633-9816-1b370cc7e92c/images/85bd433c-4a0a-4825-8661-e53f53265191.png)


## Ferramentas
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) vincula a rede interna a um local do Direct Connect por meio de um cabo de fibra ótica Ethernet padrão. Com essa conexão, você pode criar interfaces virtuais diretamente para serviços públicos da AWS, ignorando provedores de serviço da internet no caminho da sua rede.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

## Épicos
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar a versão do banco de dados. | Valide a versão do banco de dados de origem e certifique-se de que ela seja compatível com o AWS DMS. Para obter informações sobre as versões compatíveis do banco de dados do SQL Server, consulte [Usar um banco de dados do Microsoft SQL Server como fonte para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). | DBA | 
| Criar um grupo de segurança e de VPC. | Na sua conta da AWS, crie uma VPC e um grupo de segurança. Para obter mais informações, consulte a [documentação da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). | Administrador de sistema | 
| Criar um usuário para a tarefa do AWS DMS. | Crie um usuário do AWS DMS no banco de dados de origem e conceda a ele permissões READ. Esse usuário será usado pelo AWS DMS. | DBA | 
| Testar a conectividade do banco de dados. | Teste a conectividade do usuário do AWS DMS com a instância de banco de dados do SQL Server. | DBA | 
| Criar um bucket do S3. | Crie o bucket do S3 de destino. Esse bucket conterá os dados da tabela migrada. | Administrador de sistemas | 
| Criar uma política e um perfil do IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.html) | Administrador de sistemas | 

### Migrar dados usando o AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de replicação do AWS DMS. | Faça login no console de gerenciamento da AWS e abra o console do AWS DMS. No painel de navegação, escolha **Instâncias de replicação**, **Criar instância de replicação**. Para obter instruções, consulte a [etapa 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.ReplicationInstance) na documentação do AWS DMS. | DBA | 
| Criar endpoints de origem e de destino. | Criar endpoints de origem e de destino. Teste a conexão da instância de replicação aos endpoints de origem e de destino. Para obter instruções, consulte a [etapa 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Endpoints) na documentação do AWS DMS. | DBA | 
| Criar uma tarefa de replicação. | Crie uma tarefa de replicação e selecione carga total ou carga total com captura de dados de alteração (CDC) para migrar dados do SQL Server para o bucket do S3. Para obter instruções, consulte a [etapa 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks) na documentação do AWS DMS. | DBA | 
| Iniciar a replicação dos dados.  | Inicie a tarefa de replicação e monitore os logs em busca de erros. | DBA | 

### Validar os dados
<a name="validate-the-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar os dados migrados. | No console, navegue até o seu bucket do S3 de destino. Abra a subpasta com nome idêntico ao do banco de dados de origem. Confirme se a pasta contém todas as tabelas que foram migradas do banco de dados de origem. | DBA | 

### Limpar os recursos
<a name="clean-up-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerrar e excluir os recursos temporários da AWS. | Encerre os recursos temporários da AWS que você criou para a migração de dados, como a instância de replicação do AWS DMS, e exclua-os depois de validar a exportação. | DBA | 

## Recursos relacionados
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-resources"></a>
+ [Guia do usuário do AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Usar um banco de dados do Microsoft SQL Server como origem para o DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Usar o Amazon S3 como destino para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html)
+ [Usar um bucket do S3 como destino do AWS DMS](https://repost.aws/knowledge-center/s3-bucket-dms-target) (AWS ref: Post)

## Mais informações
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-additional"></a>

Use o código a seguir para adicionar uma política do IAM com permissões de bucket do S3 para a função do AWS DMS. Substitua `bucketname` pelo nome do seu bucket.

```
{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject",
                 "s3:DeleteObject"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         },
         {
             "Effect": "Allow",
             "Action": [
                 "s3:ListBucket"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         }
     ]
 }
```

# Migrar valores do Oracle CLOB para linhas individuais no PostgreSQL na AWS
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws"></a>

*Sai Krishna Namburu e Sindhusha Paturu, Amazon Web Services*

## Resumo
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-summary"></a>

Este padrão descreve como dividir os valores do Oracle Character Large Object (CLOB) em linhas individuais no Amazon Aurora Edição Compatível com PostgreSQL e no Amazon Relational Database Service (Amazon RDS) para o PostgreSQL. O PostgreSQL não dá suporte ao tipo de dados CLOB. 

As tabelas com partições de intervalo são identificadas no banco de dados Oracle de origem, e o nome da tabela, o tipo de partição, o intervalo da partição e outros metadados são capturados e carregados no banco de dados de destino. Você pode carregar dados CLOB com menos de 1 GB em tabelas de destino como texto usando o AWS Database Migration Service (AWS DMS) ou pode exportar os dados no formato CSV, carregá-los em um bucket do Amazon Simple Storage Service (Amazon S3) e migrá-los para o banco de dados PostgreSQL de destino.

Após a migração, você pode usar o código PostgreSQL personalizado fornecido com esse padrão para dividir os dados CLOB em linhas individuais com base no novo identificador de caracteres de linha (`CHR(10)`) e preencher a tabela** de **destino. 

## Pré-requisitos e limitações
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-prereqs"></a>

**Pré-requisitos **
+ Uma tabela de banco de dados Oracle que tem partições de intervalo e registros com um tipo de dados CLOB.
+ Um banco de dados compatível com o Aurora PostgreSQL ou Amazon RDS para PostgreSQL que tem uma estrutura de tabela semelhante à tabela de origem (mesmas colunas e tipos de dados).

**Limitações**
+ O valor do CLOB não pode exceder 1 GB.
+ Cada linha na tabela de destino deve ter um novo identificador de caractere de linha.

**Versões do produto**
+ Oracle 12c
+ Aurora Postgres 11.6

## Arquitetura
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-architecture"></a>

O diagrama a seguir mostra uma tabela Oracle de origem com dados CLOB e a tabela PostgreSQL equivalente na versão 11.6 compatível com o Aurora PostgreSQL.

![\[Tabela CLOB de origem e tabela PostgreSQL de destino equivalente.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/55806ee7-6a9f-4058-9a47-a07de68223ca/images/79b9d4b9-6f20-4db5-8ca8-2a599769a498.png)


## Ferramentas
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-tools"></a>

**Serviços da AWS**
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID, que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ O [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) ajuda você a configurar, operar e escalar um banco de dados relacional PostgreSQL na Nuvem AWS.
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

**Outras ferramentas**

Você pode usar as seguintes ferramentas de cliente para se conectar, acessar e gerenciar seus bancos de dados compatíveis com o Aurora PostgreSQL e o Amazon RDS para PostgreSQL. (Essas ferramentas não são usadas nesse padrão).
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.
+ [DBeaver](https://dbeaver.io/)é uma ferramenta de banco de dados de código aberto para desenvolvedores e administradores de banco de dados. Você pode usar a ferramenta para manipular, monitorar, analisar, administrar e migrar seus dados.

## Práticas recomendadas
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-best-practices"></a>

Para obter as práticas recomendadas para migrar seu banco de dados do Oracle para o PostgreSQL, consulte a [Publicação de blog da AWS práticas recomendadas para migrar um banco de dados Oracle para o Amazon RDS PostgreSQL ou o Amazon Aurora PostgreSQL: considerações sobre o processo de migração e a infraestrutura](https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/).

Para obter as melhores práticas de configuração da tarefa do AWS DMS para migrar objetos binários grandes, consulte [Migração de objetos binários grandes () LOBs na](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.LOBS) documentação do AWS DMS.

## Épicos
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-epics"></a>

### Identificar os dados do CLOB
<a name="identify-the-clob-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analisar os dados do CLOB. | No banco de dados Oracle de origem, analise os dados CLOB para ver se eles contêm cabeçalhos de coluna, para que você possa determinar o método para carregar os dados na tabela de destino. Para analisar os dados de entrada, use a consulta a seguir.`SELECT * FROM clobdata_or;  ` | Desenvolvedor | 
| Carregar os dados do CLOB no banco de dados de destino. | Migre a tabela que tem dados CLOB para uma tabela provisória (de teste) no banco de dados de destino do Aurora ou do Amazon RDS. Você pode usar o AWS DMS ou carregar os dados como um arquivo CSV em um bucket do Amazon S3.Para obter informações sobre o uso do AWS DMS para essa tarefa, consulte [Usar um banco de dados Oracle como fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Usar um banco de dados PostgreSQL como destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) na documentação do AWS DMS.Para obter informações sobre o uso do Amazon S3 para essa tarefa, consulte [Usar o Amazon S3 como destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html) na documentação do AWS DMS. | Engenheiro de migração, DBA | 
| Validar a tabela PostgreSQL de destino. | Valide os dados de destino, incluindo cabeçalhos, em relação aos dados de origem usando as seguintes consultas no banco de dados de destino.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre>Compare os resultados com os resultados da consulta do banco de dados de origem (da primeira etapa). | Desenvolvedor | 
| Dividir os dados do CLOB em linhas separadas. | Execute o código PostgreSQL personalizado fornecido na seção [Informações adicionais](#migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional) para dividir os dados CLOB e inseri-los em linhas separadas na tabela PostgreSQL de destino. | Desenvolvedor | 

### Valide os dados.
<a name="validate-the-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar os dados na tabela de destino. | Valide os dados inseridos na tabela de destino usando as seguintes consultas.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre> | Desenvolvedor | 

## Recursos relacionados
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-resources"></a>
+ [Tipo de dados CLOB](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF0021) (documentação da Oracle)
+ [Tipos de dados](https://www.postgresql.org/docs/11/datatype.html) (documentação do PostgreSQL)

## Mais informações
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional"></a>

**Função PostgreSQL para dividir dados CLOB**

```
do
$$
declare
totalstr varchar;
str1 varchar;
str2 varchar;
pos1 integer := 1;
pos2 integer ;
len integer;


begin
        select rawdata||chr(10) into totalstr from clobdata_pg;
        len :=  length(totalstr) ;
        raise notice 'Total length : %',len;
        raise notice 'totalstr : %',totalstr;
        raise notice 'Before while loop';


        while pos1 < len  loop


                  select position (chr(10) in totalstr) into pos2;
                 raise notice '1st position of new line : %',pos2;


                str1 := substring (totalstr,pos1,pos2-1);
                raise notice 'str1 : %',str1;


                   insert into clobdatatarget(data) values (str1);
                   totalstr := substring(totalstr,pos2+1,len);
                   raise notice 'new totalstr :%',totalstr;
                len :=  length(totalstr) ;


        end loop;
end
$$
LANGUAGE 'plpgsql' ;
```

**Exemplos de entrada e saída**

Você pode usar os exemplos a seguir para testar o código PostgreSQL antes de migrar seus dados.

Crie um banco de dados Oracle com três linhas de entrada.

```
CREATE TABLE clobdata_or (
id INTEGER GENERATED ALWAYS AS IDENTITY,
rawdata clob  );


insert into clobdata_or(rawdata) values (to_clob('test line 1') || chr(10) || to_clob('test line 2') || chr(10) || to_clob('test line 3') || chr(10));
COMMIT;


SELECT * FROM clobdata_or;
```

Ele exibe a seguinte saída.


|  |  | 
| --- |--- |
| id | dados brutos | 
| 1 | linha de teste 1 linha de teste 2 linha de teste 3 | 

Carregue os dados de origem em uma tabela de preparação do PostgreSQL (`clobdata_pg`) para processamento.

```
SELECT * FROM clobdata_pg;

CREATE TEMP TABLE clobdatatarget (id1 SERIAL,data VARCHAR );

<Run the code in the additional information section.>

SELECT * FROM clobdatatarget;
```

Ele exibe a seguinte saída.


|  |  | 
| --- |--- |
| id1 | dados | 
| 1 | linha de teste 1 | 
| 2 | linha de teste 2 | 
| 3 | linha de teste 3 | 

# Migre o Oracle PeopleSoft para o Amazon RDS Custom
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom"></a>

*Gaurav Gupta, Amazon Web Services*

## Resumo
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-summary"></a>

 PeopleSoftO [Oracle](https://www.oracle.com/applications/peoplesoft/) é uma solução de planejamento de recursos corporativos (ERP) para processos em toda a empresa. PeopleSoft tem uma arquitetura de três camadas: cliente, aplicativo e banco de dados. PeopleSoft pode ser executado no [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Agora, você também pode executar PeopleSoft no [Amazon RDS Custom](https://aws.amazon.com/rds/custom/), que fornece acesso ao sistema operacional subjacente.

O [Amazon RDS Custom para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) é um serviço de banco de dados gerenciado para aplicações herdadas, personalizadas e em pacote que exigem acesso ao sistema operacional subjacente e ao ambiente de banco de dados. Quando você migra seu banco de dados Oracle para o Amazon RDS Custom, o Amazon Web Services (AWS) pode gerenciar tarefas de backup e alta disponibilidade, enquanto você pode se concentrar na manutenção de seu PeopleSoft aplicativo e funcionalidade. Para ver os principais fatores a considerar em uma migração, consulte as [Estratégias de migração do banco de dados Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) no Recomendações da AWS.

Esse padrão se concentra nas etapas para migrar um PeopleSoft banco de dados no Amazon Elastic Compute Cloud (Amazon EC2) para o Amazon RDS Custom usando um backup do Oracle Recovery Manager (RMAN). Ele usa um sistema de arquivos compartilhado [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) entre a instância EC2 e o Amazon RDS Custom, embora você também possa usar o Amazon FSx ou qualquer drive compartilhado. O padrão usa um backup completo do RMAN (às vezes chamado de backup de nível 0). 

## Pré-requisitos e limitações
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-prereqs"></a>

**Pré-requisitos **
+ Um banco de dados de origem Oracle versão 19C que está sendo executado no Amazon EC2 com Oracle Linux 7, Oracle Linux 8, Red Hat Enterprise Linux (RHEL) 7 ou RHEL 8. Nos exemplos desse padrão, o nome do banco de dados de origem é `FSDMO92`, mas isso não é um requisito.
**nota**  
Você também pode usar esse padrão com bancos de dados de origem Oracle on-premises. É necessário ter a conectividade de rede adequada entre a rede on-premises e uma nuvem privada virtual (VPC).
+ Uma instância de demonstração PeopleSoft 9.2.
+ Um único nível PeopleSoft de aplicativo. No entanto, você pode adaptar esse padrão para trabalhar com vários níveis de aplicativos.
+ Amazon RDS Custom configurado com pelo menos 8 GB de espaço de troca.

**Limitações**

Esse padrão não é compatível com as seguintes configurações:
+ Definindo o parâmetro `ARCHIVE_LAG_TARGET` do banco de dados para um valor fora do intervalo de 60 a 7200
+ Desabilitando o modo de log da instância de banco de dados (`NOARCHIVELOG`)
+ A desativação do atributo otimizado Amazon Elastic Block Store (Amazon EBS) da instância do EC2
+ Modificando os volumes originais do EBS anexados à instância do EC2
+ Adicionar novos volumes do EBS ou alterar o tipo de volume de gp2 para gp3
+ Alterar o formato da extensão para o parâmetro `LOG_ARCHIVE_FORMAT` (obrigatório `*.arc`)
+ Multiplexar ou alterar a localização e o nome do arquivo de controle (tem que ser `/rdsdbdata/db/*DBNAME*/controlfile/control-01.ctl`)

Para obter informações adicionais sobre essas e outras configurações não suportadas, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-troubleshooting.html#custom-troubleshooting.fix-unsupported).

**Versões do produto**

Para versões do banco de dados Oracle e classes de instância suportadas pelo Amazon RDS Custom, consulte [Requisitos e limitações do Amazon RDS Custom for Oracle](https://docs.amazonaws.cn/en_us/AmazonRDS/latest/UserGuide/custom-reqs-limits.html).

## Arquitetura
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-architecture"></a>

**Pilha de tecnologias de destino**
+ Application Load Balancer
+ Amazon EFS
+ Amazon RDS Custom para Oracle
+ AWS Secrets Manager
+ Amazon Simple Storage Service (Amazon S3)

**Arquitetura de destino**

O diagrama de arquitetura a seguir representa um PeopleSoft sistema em execução em uma única [zona de disponibilidade](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) na AWS. Não é possível acessar o aplicativo por meio de um [Application Load Balancer](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/). Tanto o aplicativo quanto os bancos de dados estão em sub-redes privadas, e a instância de banco de dados Amazon RDS Custom e Amazon EC2 usam um sistema de arquivos compartilhado Amazon EFS para armazenar e acessar os arquivos de backup do RMAN. O Amazon S3 é usado para criar o mecanismo Oracle RDS personalizado e para armazenar os metadados de logs redo.

![\[Servidores web, servidores de aplicações, Amazon RDS Custom, uma instância de banco de dados EC2 e Amazon EFS em sub-redes privadas.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bd423dfe-f3c8-42d9-ac84-bf3d093c52bc/images/0e9a6431-e6c7-4047-ae6c-85311938041f.jpeg)


## Ferramentas
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-tools"></a>

**Ferramentas**

*Serviços da AWS*
+ O [Amazon RDS Custom para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) é um serviço de banco de dados gerenciado para aplicações herdadas, personalizadas e em pacote que exigem acesso ao sistema operacional subjacente e ao ambiente de banco de dados. Ele automatiza as tarefas de administração do banco de dados, como backups e alta disponibilidade. 
+ O [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS. Esse padrão usa um sistema de arquivos compartilhado Amazon EFS para armazenar e acessar os arquivos de backup do RMAN.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ajuda você a substituir credenciais codificadas em seu código, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo programaticamente. Nesse padrão, você recupera as senhas de usuário do banco de dados do Secrets Manager para criar os usuários `RDSADMIN` e `ADMIN`, e alterar as senhas `sys` e `system`.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ O [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribui o tráfego de entrada de aplicativos ou de rede em vários destinos. Por exemplo, é possível distribuir o tráfego entre instâncias, contêineres e endereços IP do Amazon Elastic Compute Cloud (Amazon EC2) em uma ou mais Zonas de disponibilidade. Este padrão usa um Application Load Balancer.

*Outras ferramentas*
+ O Oracle Recovery Manager (RMAN) fornece suporte de backup e recuperação para bancos de dados Oracle. Esse padrão usa o RMAN para realizar um backup dinâmico do banco de dados Oracle de origem no Amazon EC2, que é restaurado no Amazon RDS Custom.

## Práticas recomendadas
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-best-practices"></a>
+ Para parâmetros de inicialização do banco de dados, personalize o perfil padrão fornecido pela instância de banco de dados personalizada do Amazon RDS PeopleSoft em vez de usar o spfile do banco de dados de origem da Oracle. Isso ocorre porque espaços em branco e comentários causam problemas ao criar réplicas de leitura no Amazon RDS Custom. Para obter mais informações sobre os parâmetros de inicialização do banco de dados, consulte a Observação de Suporte Oracle 1100831.1 (requer uma conta do [Oracle Support](https://support.oracle.com/portal/)).
+ O Amazon RDS Custom usa o gerenciamento automático de memória Oracle por padrão. Se quiser usar o kernel Hugemem, você pode configurar o Amazon RDS Custom para usar o gerenciamento automático de memória compartilhada em vez disso.
+ Deixe o `memory_max_target` parâmetro habilitado por padrão. A estrutura usa isso em segundo plano para criar réplicas de leitura.
+ Ative o banco de dados Oracle Flashback. Esse atributo é útil ao restabelecer o modo de espera em cenários de teste de failover (não transição).

## Épicos
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-epics"></a>

### Configurar a instância de banco de dados e o sistema de arquivos
<a name="set-up-the-db-instance-and-file-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar a instância de banco de dados. | No console do Amazon RDS, crie uma instância de banco de dados Amazon RDS Custom for Oracle com um nome de banco de dados chamado FSDMO92 (ou o nome do seu banco de dados de origem).Para obter instruções, consulte [Como trabalhar com o Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html) na documentação da AWS e a postagem do blog [Amazon RDS Custom for Oracle: New Control Capabilities in Database Environment](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/). Isso garante que o nome do banco de dados seja definido com o mesmo nome do banco de dados de origem. (Se mantido em branco, a instância do EC2 e o nome do banco de dados serão definidos como `ORCL`.) | DBA | 

### Execute um backup completo do RMAN do banco de dados de origem Amazon EC2
<a name="perform-an-rman-full-backup-of-the-source-amazon-ec2-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um script de backup. | Crie um script de backup RMAN para fazer backup do banco de dados no sistema de arquivos Amazon EFS que você montou (`/efs`no exemplo a seguir). Você pode usar o código de exemplo ou executar um dos scripts RMAN existentes.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/u01/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />SQL "ALTER SYSTEM SWITCH LOGFILE";<br />SQL "ALTER SESSION SET NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"";<br />RUN<br />{<br />  ALLOCATE CHANNEL ch11 TYPE DISK MAXPIECESIZE 5G;<br />  ALLOCATE CHANNEL ch12 TYPE DISK MAXPIECESIZE 5G;<br />  BACKUP AS COMPRESSED BACKUPSET FULL DATABASE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_FULL' ;<br />  SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";<br />  BACKUP FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_ARCHIVE' ARCHIVELOG ALL DELETE ALL INPUT ;<br />  BACKUP CURRENT CONTROLFILE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_CONTROL';<br />}<br />EXIT;<br />EOF<br />  </pre> | DBA | 
| Execute o script de backup. | Para executar o script de backup do RMAN, faça login como Oracle Home User e execute o script.<pre>$  chmod a+x rman_backup.sh<br />$ ./rman_backup.sh &</pre> | DBA | 
| Verifique se há erros e anote o nome do arquivo de backup. | Verifique se há erros no arquivo de log RMAN. Se tudo estiver bem, liste o backup do arquivo de controle executando o comando a seguir.<pre>RMAN> list backup of controlfile;<br /><br />using target database control file instead of recovery catalog<br /></pre>Anote o nome do arquivo de saída.<pre>List of Backup Sets<br />===================<br /><br />BS Key  Type LV Size       Device Type Elapsed Time Completion Time<br />------- ---- -- ---------- ----------- ------------ ---------------<br />12      Full    21.58M     DISK        00:00:01     13-JUL-22<br />        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20220713T150155<br />        Piece Name: /efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL<br /> Control File Included: Ckp SCN: 16559159985898   Ckp time: 13-JUL-22<br /></pre>Você usará o arquivo de controle de backup `/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL` ao restaurar o banco de dados no Amazon RDS Custom. | DBA | 

### Encerre o nível do aplicativo de origem
<a name="shut-down-the-source-application-tier"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Feche o aplicativo.  | Para desligar a camada do aplicativo de origem, use o utilitário `psadmin` ou o utilitário de linha de comando `psadmin`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA, administrador PeopleSoft  | 

### Configurar o banco de dados do Amazon RDS Custom de destino
<a name="configure-the-target-amazon-rds-custom-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o pacote rpm nfs-utils. | Para instalar o pacote `nfs-utils rpm`, execute o seguinte comando.<pre>$ yum install -y nfs-utils<br /></pre> | DBA | 
| Monte o armazenamento EFS. | Obtenha o comando de montagem do Amazon EFS na página do console do Amazon EFS. Monte o sistema de arquivos EFS na instância do Amazon RDS usando um cliente de Sistema de arquivos de rede (NFS).<pre>sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs<br />sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs</pre> | DBA | 

### Elimine o banco de dados inicial e crie os diretórios para armazenar os arquivos do banco de dados
<a name="drop-the-starter-database-and-create-the-directories-to-store-the-database-files"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Pausar o modo de automação. | Você precisa pausar o [modo de automação](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-managing.html#custom-managing.pausing) em sua instância de banco de dados do Amazon RDS Custom antes de prosseguir com as próximas etapas, para garantir que a automação não interfira na atividade de restauração do RMAN.É possível pausar a automação usando o console da AWS ou o comando AWS Command Line Interface (AWS CLI) (AWS CLI) (certifique-se de configurar a [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) primeiro).<pre>aws rds modify-db-instance \<br />--db-instance-identifier peoplesoft-fscm-92 \<br />--automation-mode all-paused \<br />--resume-full-automation-mode-minute 360 \<br />--region eu-west-1<br /></pre>Ao especificar a duração da pausa, certifique-se de deixar tempo suficiente para a restauração do RMAN. Isso depende do tamanho do banco de dados de origem, portanto modifique o valor 360 devidamente.Além disso, certifique-se de que o tempo total da automação pausada não se sobreponha à janela de backup ou manutenção do banco de dados. | DBA | 
| Crie e modifique o arquivo de parâmetros para PeopleSoft | Para criar e modificar o pfile para PeopleSoft, use o pfile padrão criado com a instância de banco de dados personalizada do Amazon RDS. Adicione os parâmetros de que você precisa PeopleSoft.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Remova o banco de dados inicial. | Para remover o banco de dados Amazon RDS Custom existente, use o código a seguir.<pre>$ sqlplus / as sysdba<br />SQL> shutdown immediate;<br />SQL> startup mount exclusive restrict;<br />SQL> drop database;<br />SQL> exit</pre> |  | 
| Restaure o banco de dados do Amazon RDS Custom a partir do backup. | Restaure o banco de dados usando o script a seguir. O script primeiro restaurará o arquivo de controle e, em seguida, restaurará todo o banco de dados a partir das partes de backup armazenadas na montagem do EFS.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/rdsdbdata/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />restore controlfile from "/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL";<br />alter database mount;<br />run<br />{<br />set newname for database to '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />SET NEWNAME FOR TEMPFILE 1 TO '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />RESTORE DATABASE;<br />SWITCH DATAFILE ALL;<br />SWITCH TEMPFILE ALL;<br />RECOVER DATABASE;<br />}<br />EOF<br />sqlplus / as sysdba >> $LOGPATH/rman-${ORACLE_SID}-$Dt<<-EOF<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo01.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo01.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo02.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo02.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo03.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo03.log';<br />alter database clear unarchived logfile group 1;<br />alter database clear unarchived logfile group 2;<br />alter database clear unarchived logfile group 3;<br />alter database open resetlogs;<br />EXIT<br />EOF<br /></pre> | DBA | 

### Recupere as senhas do Secrets Manager, crie usuários e altere senhas
<a name="retrieve-passwords-from-secrets-manager-create-users-and-change-passwords"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Recupere a senha do Secrets Manager. | É possível executar esta etapa usando o console da AWS ou a CLI da AWS. As etapas a seguir mostram instruções para o console.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Crie o usuário RDSADMIN. | `RDSADMIN` é o usuário do banco de dados para monitorar e orquestrar a instância de banco de dados do Amazon RDS Custom. Como o banco de dados inicial foi descartado e o banco de dados de destino foi restaurado da origem usando o RMAN, você deverá recriar esse usuário após a operação de restauração para garantir que o monitoramento do Amazon RDS Custom funcione conforme o esperado. Você também precisa criar um perfil e um espaço de tabela separados para o usuário `RDSADMIN`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Crie o usuário mestre. | Como o banco de dados inicial foi descartado e o banco de dados de destino foi restaurado da origem usando o RMAN, você deverá recriar o usuário mestre. Neste exemplo, o nome do usuário mestre é `admin`.<pre>SQL> create user admin identified by <password>;<br />SQL> grant dba to admin</pre> | DBA | 
| Alterar as senhas do sistema. | Altere as senhas do sistema usando a senha que você recuperou do Secrets Manager.<pre>SQL> alter user sys identified by xxxxxxxxxxx;<br />SQL> alter user system identified by xxxxxxxxxx;</pre>Se você não alterar essas senhas, o Amazon RDS Custom exibirá a mensagem de erro “O usuário de monitoramento do banco de dados ou as credenciais do usuário foram alteradas”. | DBA | 

### Configure as entradas de TNS para Amazon RDS Custom e PeopleSoft
<a name="configure-the-tns-entries-for-amazon-rds-custom-and-peoplesoft"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o arquivo tnsnames. | Para se conectar ao banco de dados a partir da camada do aplicativo, configure o arquivo `tnsnames.ora` para que você possa se conectar ao banco de dados a partir da camada do aplicativo. No exemplo a seguir, você pode ver que há um link virtual para o `tnsnames.ora` arquivo, mas o arquivo está vazio por padrão. <pre>$ cd /rdsdbbin/oracle/network/admin<br />$ ls -ltr<br />-rw-r--r-- 1 rdsdb database 1536 Feb 14  2018 shrept.lst<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 listener.ora -> /rdsdbdata/config/listener.ora<br />lrwxrwxrwx 1 rdsdb database   28 Apr  5 13:19 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora</pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Crie o softlink spfile
<a name="create-the-spfile-softlink"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o softlink spfile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Execute etapas de pós-migração
<a name="perform-post-migration-steps"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide o esquema, as conexões e as tarefas de manutenção. | Para finalizar a migração, realize as tarefas a seguir.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

## Recursos relacionados
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-resources"></a>
+ [Trabalhar com o Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html)
+ [Amazon RDS Custom para Oracle: novos recursos de controle no ambiente de banco de dados](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/) (publicação no blog)
+ [Integre o Amazon RDS Custom for Oracle com o Amazon EFS](https://aws.amazon.com/blogs/database/integrate-amazon-rds-custom-for-oracle-with-amazon-efs/) (publicação no blog)
+ [Configurando o Amazon RDS como um PeopleSoft banco de dados Oracle (whitepaper](https://d1.awsstatic.com/whitepapers/configuring-amazon-rds-as-peoplesoft-database.pdf) da AWS)

# Migre a funcionalidade Oracle ROWID para o PostgreSQL na AWS
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws"></a>

*Rakesh Raghav e Ramesh Pathuri, Amazon Web Services*

## Resumo
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-summary"></a>

Esse padrão descreve as opções para migrar a funcionalidade de `ROWID` pseudocoluna no Oracle Database para um banco de dados PostgreSQL no Amazon Relational Database Service (Amazon RDS) para PostgreSQL, Amazon Aurora PostgreSQL Compatible Edition ou Amazon Elastic Compute Cloud (Amazon). EC2

Em um banco de dados Oracle, a pseudocoluna `ROWID` é o endereço físico de uma linha em uma tabela. Essa pseudocoluna é usada para identificar de forma exclusiva uma linha, mesmo que a chave primária não esteja presente em uma tabela. O PostgreSQL tem uma pseudocoluna similar chamada `ctid`, mas ela não pode ser usada como a `ROWID`. Conforme explicado na documentação do [PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html), `ctid` pode mudar se for atualizado ou após cada processo `VACUUM`.

Há três maneiras de criar a funcionalidade de pseudocoluna `ROWID` no PostgreSQL:
+ Use uma coluna de chave primária em vez de `ROWID` para identificar uma linha em uma tabela.
+ Use uma primary/unique chave lógica (que pode ser uma chave composta) na tabela. 
+ Adicione uma coluna com valores gerados automaticamente e torne-a uma primary/unique chave para `ROWID` imitar.

Esse padrão mostra todas as três implementações e descreve as vantagens e desvantagens de cada opção.

## Pré-requisitos e limitações
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Experiência em codificação processual Language/PostgreSQL (PL/pgSQL)
+ Origem: banco de dados Oracle
+ Um cluster compatível com o Amazon RDS for PostgreSQL ou Aurora PostgreSQL, ou uma instância para hospedar o banco de dados PostgreSQL EC2 

**Limitações**
+ Esse padrão fornece soluções alternativas para a funcionalidade `ROWID`. O PostgreSQL não fornece um equivalente a `ROWID` do Oracle Database.

**Versões do produto**
+ PostgreSQL 11.9 ou superior

## Arquitetura
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-architecture"></a>

**Pilha de tecnologia de origem**
+ Oracle Database

**Pilha de tecnologias de destino**
+ Compatível com Aurora PostgreSQL, Amazon RDS for PostgreSQL ou uma instância com um banco de dados PostgreSQL EC2 

![\[Conversão de um banco de dados Oracle em PostgreSQL na AWS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/9a2ce994-4f68-4975-aab2-796cc20a3c82/images/6e7c2ef6-f440-476a-9003-f1f166718e15.png)


**Opções de implementação**

Há três opções para contornar a falta de suporte de `ROWID` no PostgreSQL, dependendo se sua tabela tem uma chave primária ou um índice exclusivo, uma chave primária lógica ou um atributo de identidade. Sua escolha depende dos cronogramas do projeto, da fase atual de migração e das dependências do código do aplicativo e do banco de dados.


| 
| 
| Opção | Description | Vantagens | Desvantagens | 
| --- |--- |--- |--- |
| **Chave primária ou índice exclusivo** | Se sua tabela Oracle tiver uma chave primária, você poderá usar os atributos dessa chave para identificar uma linha de forma exclusiva.  | Sem dependência de atributos de banco de dados proprietários.Impacto mínimo no desempenho, pois os campos da chave primária são indexados. | Requer alterações no código do aplicativo e do banco de dados que depende da mudança `ROWID` para campos de chave primária.  | 
| ** primary/unique Chave lógica** | Se sua tabela Oracle tiver uma chave primária, lógica, você poderá usar os atributos dessa chave para identificar uma linha de forma exclusiva. Uma chave primária lógica consiste em um atributo ou conjunto de atributos que pode identificar uma linha de forma exclusiva, mas não é aplicada ao banco de dados por meio de uma restrição. | Sem dependência de atributos de banco de dados proprietários. | Requer alterações no código do aplicativo e do banco de dados que depende da mudança `ROWID` para campos de chave primária.Impacto significativo no desempenho se os atributos da chave primária lógica não forem indexados. No entanto, você pode adicionar um índice exclusivo para evitar problemas de desempenho. | 
| **Atributo de identidade** | se sua tabela Oracle não tiver uma chave primária, você poderá criar um campo adicional como `GENERATED ALWAYS AS IDENTITY`. Esse atributo gera um valor exclusivo sempre que os dados são inseridos na tabela, portanto, ele pode ser usado para identificar de forma exclusiva uma linha para operações de linguagem de manipulação de dados (DML). | Sem dependência de atributos de banco de dados proprietários.O banco de dados PostgreSQL preenche o atributo e mantém sua exclusividade. | Requer alterações no código do aplicativo e do banco de dados que depende de `ROWID` para mudar para o atributo de identidade.Impacto significativo no desempenho se o campo adicional não estiver indexado. No entanto, você pode adicionar um índice para evitar problemas de desempenho. | 

## Ferramentas
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-tools"></a>
+ [O Amazon Relational Database Service (Amazon RDS) para PostgreSQL ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)ajuda você a configurar, operar e escalar um banco de dados relacional PostgreSQL na Nuvem AWS.
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ A ‭[AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)‭ é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando. Nesse padrão, você pode usar a AWS CLI para executar comandos SQL por meio do **pGADmin**.
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento de código aberto para PostgreSQL. Ele fornece uma interface gráfica que ajuda você a criar, manter e usar objetos de banco de dados.
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.

## Épicos
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-epics"></a>

### Identificar as tabelas de fontes
<a name="identify-the-source-tables"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique as tabelas da Oracle que usam o atributo `ROWID`. | Use a AWS Schema Conversion Tool (AWS SCT) para identificar tabelas Oracle que tenham a funcionalidade `ROWID`. Para obter mais informações, consulte a [documentação da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html#CHAP_Source.Oracle.ToPostgreSQL.ConvertRowID).—ou—No Oracle, use a visualização `DBA_TAB_COLUMNS` para identificar tabelas que tenham um atributo `ROWID`. Esses campos podem ser usados para armazenar caracteres alfanuméricos de 10 bytes. Determine o uso e converta-os em um campo `VARCHAR`, se for apropriado. | DBA ou desenvolvedor | 
| Identifique o código que faz referência a essas tabelas. | Use o AWS SCT para gerar um relatório de avaliação de migração para identificar procedimentos afetados por `ROWID`. Para obter mais informações, consulte a [documentação da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.html).—ou—No banco de dados Oracle de origem, use o campo de texto da tabela `dba_source` para identificar objetos que usam a funcionalidade `ROWID`. | DBA ou desenvolvedor | 

### Determine o uso de chaves primárias
<a name="determine-primary-key-usage"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique tabelas que não têm chaves primárias. | No banco de dados Oracle de origem, use `DBA_CONSTRAINTS` para identificar tabelas que não têm chaves primárias. Essas informações ajudarão você a determinar a estratégia para cada tabela. Por exemplo:<pre>select dt.*<br />from dba_tables dt<br />where not exists (select 1<br />                  from all_constraints ct<br />                  where ct.owner = Dt.owner<br />                    and ct.table_name = Dt.table_name<br />                    and ct.constraint_type = 'P'<br />                  )<br />and dt.owner = '{schema}'</pre> | DBA ou desenvolvedor | 

### Identifique e aplique a solução
<a name="identify-and-apply-the-solution"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Aplique alterações em tabelas que tenham uma chave primária lógica ou definida.  | Faça as alterações no código do aplicativo e do banco de dados mostradas na seção [Informações adicionais](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional) para usar uma chave primária exclusiva ou uma chave primária lógica para identificar uma linha na tabela. | DBA ou desenvolvedor | 
| Inclua um campo adicional às tabelas que não tenham uma chave primária lógica ou definida. | Adicione um atributo do tipo `GENERATED ALWAYS AS IDENTITY`. Faça as alterações no código do aplicativo e do banco de dados mostradas na seção de [Informações adicionais](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional). | DBA ou desenvolvedor | 
| Adicione um índice, se necessário. | Inclua um índice ao campo adicional ou à chave primária lógica para melhorar o desempenho do SQL. | DBA ou desenvolvedor | 

## Recursos relacionados
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-resources"></a>
+ [PostgreSQL CTID](https://www.postgresql.org/docs/current/ddl-system-columns.html) (Documentação do PostgreSQL)
+ [Colunas geradas](https://www.postgresql.org/docs/current/ddl-generated-columns.html) (Documentação do PostgreSQL)
+ [Pseudocoluna ROWID](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html#GUID-F6E0FBD2-983C-495D-9856-5E113A17FAF1) (Documentação da Oracle)

## Mais informações
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional"></a>

As seções a seguir fornecem códigos de exemplos Oracle e PostgreSQL para ilustrar as três abordagens.

**Cenário 1: usar uma chave primária exclusiva**

Nos exemplos a seguir, você cria a tabela `testrowid_s1` com `emp_id` como a chave primária.

*Código Oracle:*

```
create table testrowid_s1 (emp_id integer, name varchar2(10), CONSTRAINT testrowid_pk PRIMARY KEY (emp_id));
INSERT INTO testrowid_s1(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s1(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s1(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s1(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 empname2
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4

UPDATE testrowid_s1 SET name = 'Ramesh' WHERE rowid = 'AAAF3pAAAAAAAMOAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 Ramesh
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s1
(
    emp_id integer,
    name character varying,
    primary key (emp_id)
);

insert into public.testrowid_s1 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s1 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Cenário 2: usar uma chave primária lógica**

Nos exemplos a seguir, você cria a tabela `testrowid_s2` com `emp_id` a chave primária.

*Código Oracle:*

```
create table testrowid_s2 (emp_id integer, name varchar2(10) );
INSERT INTO testrowid_s2(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s2(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s2(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s2(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 empname2
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4

UPDATE testrowid_s2 SET name = 'Ramesh' WHERE rowid = 'AAAF3rAAAAAAAMeAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 Ramesh
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s2
(
    emp_id integer,
    name character varying
);

insert into public.testrowid_s2 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s2 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Cenário 3: usar um atributo de identidade**

Nos exemplos a seguir, você cria a tabela `testrowid_s3` sem chave primária e usando um atributo de identidade.

*Código Oracle:*

```
create table testrowid_s3 (name varchar2(10));
INSERT INTO testrowid_s3(name) values ('empname1');
INSERT INTO testrowid_s3(name) values ('empname2');
INSERT INTO testrowid_s3(name) values ('empname3');
INSERT INTO testrowid_s3(name) values ('empname4');
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB empname2
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4

UPDATE testrowid_s3 SET name = 'Ramesh' WHERE rowid = 'AAAF3sAAAAAAAMmAAB' ;
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB Ramesh
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s3
(
    rowid_seq bigint generated always as identity,
    name character varying
);

insert into public.testrowid_s3 (name) values 
('empname1'),('empname2'),('empname3'),('empname4');

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         2 | empname2
         3 | empname3
         4 | empname4

update testrowid_s3 set name = 'Ramesh' where rowid_seq = 2 ;

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         3 | empname3
         4 | empname4
         2 | Ramesh
```

# Migre códigos de erro do banco de dados Oracle para um banco de dados compatível com Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database"></a>

*Sai Parthasaradhi e Veeranjaneyulu Grandhi, Amazon Web Services*

## Resumo
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-summary"></a>

Esse padrão mostra como migrar códigos de erro do banco de dados Oracle para um banco de dados do [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) usando uma tabela de metadados predefinida.

Os códigos de erro do Oracle Database nem sempre têm um código de erro PostgreSQL correspondente. Essa diferença nos códigos de erro pode dificultar a configuração da lógica de processamento dos procedimentos ou funções na arquitetura PostgreSQL de destino.

Você pode simplificar o processo armazenando os códigos de erro do banco de dados de origem e destino que são significativos para o seu PL/pgSQL programa em uma tabela de metadados. Em seguida, configure a tabela para sinalizar códigos de erro válidos do banco de dados Oracle e mapeá-los para seus equivalentes do PostgreSQL antes de continuar com a lógica restante do processo. Se o código de erro do Oracle Database não estiver na tabela de metadados, o processo será encerrado com a exceção. Em seguida, você pode revisar manualmente os detalhes do erro e adicionar o novo código de erro à tabela, se o programa exigir.

Ao usar essa configuração, seu banco de dados compatível com Amazon Aurora PostgreSQL pode lidar com erros da mesma forma que seu banco de dados Oracle de origem.

**nota**  
A configuração de um banco de dados do PostgreSQL para lidar adequadamente com os códigos de erro do Oracle Database normalmente exige alterações no banco de dados e no código da aplicação.

## Pré-requisitos e limitações
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle de origem com serviços de instância e de receptor em execução
+ Um cluster compatível com o Amazon Aurora PostgreSQL que está em execução
+ Familiaridade com o Oracle Database
+ Familiaridade com bancos de dados PostgreSQL

## Arquitetura
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-architecture"></a>

O diagrama a seguir mostra um exemplo de fluxo de trabalho de banco de dados compatível com Amazon Aurora PostgreSQL para validação e tratamento de códigos de erro de dados:

![\[Validação e tratamento de códigos de erro de dados para um banco de dados do Aurora compatível com PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/82751f40-2fd9-4ce7-ab61-0874552d857b/images/b7ab627e-8f34-4635-8660-93c5c80ce38d.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Uma tabela contém os códigos de erro e as classificações do Oracle Database e seus códigos de erro e classificações equivalentes do PostgreSQL. A tabela inclui uma coluna **valid\$1error** que classifica se códigos de erro específicos e predefinidos são válidos ou não.

1. **Quando uma PL/pgSQL função (**func\$1processdata**) lança uma exceção, ela invoca uma segunda função (error\$1validation). PL/pgSQL **

1. A função **error\$1validation** aceita o código de erro do Oracle Database como argumento de entrada. Em seguida, a função verifica o código de erro recebido em relação à tabela para ver se o erro está incluído na tabela.

1. Se o código de erro do banco de dados Oracle estiver incluído na tabela, a função **error\$1validation** retornará um valor **VERDADEIRO** e a lógica do processo continuará. Se o código de erro não estiver incluído na tabela, a função retornará um valor **FALSO **e a lógica do processo será encerrada com uma exceção.

1. Quando a função retorna um valor **FALSE**, os detalhes do erro são revisados manualmente pelo líder funcional do aplicativo para determinar sua validade.

1. O novo código de erro é então adicionado manualmente à tabela ou não. Se o código de erro for válido e adicionado à tabela, a função **error\$1validation** retornará um valor **TRUE** na próxima vez que a exceção ocorrer. Se o código de erro não for válido e o processo falhar quando a exceção ocorrer, o código de erro não será adicionado à tabela.

**Pilha de tecnologia**
+ Amazon Aurora PostgreSQL
+ pgAdmin
+ Oracle SQL Developer

## Ferramentas
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-tools"></a>
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID, que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ O [pgAdmin](https://www.pgadmin.org/) é uma ferramenta de gerenciamento e desenvolvimento de código aberto para o PostgreSQL. Fornece uma interface gráfica que simplifica a criação, manutenção e uso de objetos de banco de dados.
+ [O Oracle SQL Developer](https://www.oracle.com/in/database/technologies/appdev/sqldeveloper-landing.html) é um ambiente de desenvolvimento gratuito e integrado que simplifica o desenvolvimento e o gerenciamento do Oracle Database em implantações tradicionais e na nuvem.

## Épicos
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-epics"></a>

### Migre códigos de erro do banco de dados Oracle para seu banco de dados compatível com Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-your-amazon-aurora-postgresql-compatible-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma tabela no Amazon Aurora compatível com PostgreSQL. | Execute o seguinte comando [CREATE TABLE](https://www.postgresql.org/docs/current/sql-createtable.html) do PostgreSQL:<pre>(<br /><br />    source_error_code numeric NOT NULL,<br /><br />    target_error_code character varying NOT NULL,<br /><br />    valid_error character varying(1) NOT NULL<br /><br />); </pre> | Desenvolvedor do PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Adicione os códigos de erro do PostgreSQL e seus códigos de erro do Oracle Database correspondentes à tabela. | Execute o comando [INSERT](https://www.postgresql.org/docs/current/sql-insert.html) do PostgreSQL para adicionar os valores de código de erro necessários à tabela **error\$1codes**.Os códigos de erro do PostgreSQL devem usar o tipo de dados variável de caracteres (valor **SQLSTATE**). Os códigos de erro do Oracle devem usar o tipo de dados numéricos (valor **SQLCODE**).**Exemplo de instruções de inserção:**<pre>insert into error_codes values (-1817,'22007','Y');<br />insert into error_codes values (-1816,'22007','Y');<br />insert into error_codes values (-3114,'08006','N');</pre>Se você estiver capturando exceções específicas da Oracle na conectividade Java com o banco de dados (JDBC), será necessário substituir essas exceções por exceções genéricas compatíveis com diversos bancos de dados ou usar exceções específicas do PostgreSQL. | Desenvolvedor do PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Crie uma PL/pgSQL função para validar códigos de erro. | Crie uma PL/pgSQL função executando o comando CREATE FUNCTION do [PostgreSQL](https://www.postgresql.org/docs/current/sql-createfunction.html). Certifique-se de que a função faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.html) | Desenvolvedor do PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Revise manualmente os novos códigos de erro conforme eles são registrados pela PL/pgSQL função. | Revise manualmente os novos códigos de erro.Se um novo código de erro for válido para seu caso de uso, adicione-o à tabela **error\$1codes** executando o comando **INSERT** do PostgreSQL.- ou -Se um novo código de erro não for válido para seu caso de uso, não o adicione à tabela. A lógica do processo continuará falhando e será encerrada, com exceção, quando o erro ocorrer. | Desenvolvedor do PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 

## Recursos relacionados
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-resources"></a>

[Apêndice A. Códigos de erro do PostgreSQL](https://www.postgresql.org/docs/11/errcodes-appendix.html) (Documentação do PostgreSQL)

[Mensagens de erro do banco de dados](https://docs.oracle.com/cd/E11882_01/server.112/e17766/toc.htm) (Documentação do Oracle Database)

# Migre o SAP ASE na Amazon EC2 para o Amazon Aurora compatível com PostgreSQL usando o AWS SCT e o AWS DMS
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms"></a>

*Amit Kumar e Ankit Gupta, Amazon Web Services*

## Resumo
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-summary"></a>

Esse padrão descreve como migrar um banco de dados SAP Adaptive Server Enterprise (SAP ASE) hospedado em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para a edição compatível com Amazon Aurora PostgreSQL usando o AWS Schema Conversion Tool (AWS SCT) e o AWS Database Migration Service (AWS DMS). O padrão se concentra nas conversões de linguagem de definição de dados (DDL) para objetos armazenados e na migração de dados.

O Aurora compatível com PostgreSQL oferece suporte a workloads de processamento de transações online (OLTP). Esse serviço gerenciado fornece configurações que escalam automaticamente sob demanda. Ele pode iniciar, desligar, aumentar e reduzir a escala verticalmente e automaticamente do seu banco de dados com base nas necessidades do seu aplicativo. Você pode executar seu banco de dados na nuvem sem gerenciar nenhuma instância de banco de dados. O Aurora compatível com PostgreSQL oferece uma opção econômica para workloads pouco frequentes, intermitentes ou imprevisíveis.

O processo de migração consiste em duas fases principais:
+ Converter esquema de bancos de dados usando a AWS SCT
+ Migração dos dados usando o AWS DMS

Instruções detalhadas para ambas as fases são fornecidas na seção *Épicos*. Para obter informações sobre a solução de problemas específicos do uso do AWS DMS com bancos de dados SAP ASE, consulte [Solução de problemas com o SAP ASE](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.SAP) na documentação do AWS DMS.

## Pré-requisitos e limitações
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados SAP ASE de origem em uma EC2 instância com serviços de servidor, banco de dados e ouvinte em execução
+ Um banco de dados de destino compatível com o Aurora PostgreSQL

**Limitações**
+ O número da porta para conexões deve ser 5432.
+ O atributo [huge\$1pages](https://www.postgresql.org/docs/9.6/static/runtime-config-resource.html) está ativado por padrão, mas pode ser modificado.
+ Point-in-time a granularidade de recuperação (PITR) é de 5 minutos.
+ Atualmente, a replicação entre regiões não está disponível.
+ O tamanho de armazenamento máximo para um banco de dados do Aurora é de 128 TiB.
+ É possível criar até 15 réplicas de leitura.
+ O limite de tamanho da tabela é limitado somente pelo tamanho do volume do cluster do Aurora, portanto, o tamanho máximo da tabela para um cluster de banco de dados Aurora compatível com PostgreSQL é de 32 TiB. Recomendamos que você siga as práticas recomendadas do design de tabelas, como o particionamento de tabelas grandes.

**Versões do produto**
+ Banco de dados de origem: o AWS DMS atualmente oferece suporte ao SAP ASE 15, 15.5, 15.7 e 16.x. Consulte o [Guia do usuário do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html) para obter as informações mais recentes sobre o suporte à versão SAP ASE.
+ Banco de dados de destino: PostgreSQL 9.4 e versões posteriores (para a versão 9.x), 10.x, 11.x, 12.x, 13.x e 14.x. Consulte o [Guia do usuário do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) para ver as versões mais recentes suportadas do PostgreSQL.
+ Amazon Aurora 1.x ou superior. Para as informações mais recentes, consulte as [versões do Aurora compatível com PostgreSQL e versões de mecanismo](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) na documentação do Aurora.

## Arquitetura
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados SAP ASE em execução na Amazon EC2

**Pilha de tecnologias de destino**
+ Banco de dados Aurora compatível com PostgreSQL

**Arquitetura de migração**

![\[Migração de um banco de dados do SAP ASE para o Aurora compatível com PostgreSQL usando o AWS SCT e o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/07fbdea1-0242-40ae-8e5f-2ce4a620a047/images/a3b018f3-2e7b-4c37-a218-870c56132acb.png)


## Ferramentas
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-tools"></a>
+ O [Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID que ajuda você a configurar, operar e escalar as implantações de PostgreSQL.
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.
+ O [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) oferece suporte a vários bancos de dados de origem e destino diferentes. Para obter mais informações, consulte [Origens para migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) e [Destinos para migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) na documentação do AWS DMS. Para obter suporte mais abrangente à versão e aos atributos, recomendamos que você use a versão mais recente do AWS DMS. 

## Épicos
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-epics"></a>

### Configurar o ambiente
<a name="set-up-the-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o acesso à rede na EC2 instância de origem. | Configure grupos de segurança na EC2 instância que hospeda seu banco de dados SAP ASE de origem.Para obter instruções, consulte [Grupos EC2 de segurança da Amazon para instâncias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html?icmpid=docs_ec2_console) na EC2 documentação da Amazon. | Administrador de sistemas | 
| Crie seu cluster de banco de dados de destino Aurora compatível com PostgreSQL. | Instale, configure e execute um cluster Aurora compatível com PostgreSQL para seu banco de dados de destino.Para obter mais informações, consulte [Criar um cluster de banco de dados do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) na documentação do Aurora. | DBA | 
| Configure a autorização para o cluster de banco de dados de destino. | Configure grupos de segurança e firewalls para o banco de dados de destino.Para obter instruções, consulte [Criar um cluster de banco de dados do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) na documentação do Aurora. | DBA, administrador de sistemas | 

### Converta seu esquema do banco de dados com a AWS SCT
<a name="convert-your-database-schema-with-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie a AWS SCT. | Inicie a AWS SCT seguindo as instruções na [documentação da AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)A AWS SCT oferece uma interface de usuário baseada em projeto que permite converter automaticamente o esquema do banco de dados de origem do SAP ASE em um formato que seja compatível com a instância do banco de dados Aurora de destino compatível com PostgreSQL. | DBA | 
| Crie endpoints da AWS SCT. | Crie endpoints para os bancos de dados de origem do SAP ASE e destino do PostgreSQL.Para obter instruções, consulte a [documentação da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers). | DBA | 
| Crie um relatório de avaliação. | Crie um relatório de avaliação da migração do banco de dados para avaliar a migração e detectar quaisquer objetos e funções incompatíveis.Para obter instruções, consulte a [documentação da AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport). | DBA | 
| Converta o esquema.  | Converta o esquema do banco de dados seguindo as instruções na documentação da [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) | DBA | 
| Valide objetos do banco de dados. | Se a AWS SCT não puder converter um objeto de banco de dados, ela identificará seu nome e outros detalhes. Você deve converter esses objetos manualmente.Para identificar essas incompatibilidades, siga as instruções na postagem do blog da AWS [Validar objetos de banco de dados após migrar do SAP ASE para o Amazon RDS para PostgreSQL ou Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/validate-database-objects-after-migrating-from-sap-ase-to-amazon-rds-for-postgresql-or-amazon-aurora-postgresql/). | DBA | 

### Analise a migração do AWS DMS
<a name="analyze-the-aws-dms-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões dos bancos de dados de origem e de destino. | Verifique as versões do banco de dados SAP ASE para verificar a compatibilidade com o AWS DMS. Para obter mais informações, consulte [Fontes do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html#CHAP_Introduction.Sources.title) e [Destinos do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) na documentação do AWS DMS. | DBA | 
| Identifique os requisitos para o tipo e capacidade de armazenamento. | Escolha a capacidade de armazenamento apropriada para o banco de dados de destino com base no tamanho do seu banco de dados de origem. | DBA, administrador de sistemas | 
| Escolha o tipo de instância, a capacidade e outros atributos da instância de replicação. | Escolha o tipo de instância, a capacidade, os atributos de armazenamento e os atributos de rede que atendem às suas necessidades.Para obter orientação, consulte [Escolher a instância de replicação do AWS DMS correta para sua migração](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) na documentação do AWS DMS. | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança de acesso à rede. | Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino.Siga as orientações em [Como configurar uma rede para uma instância de replicação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html) na documentação do AWS DMS. | DBA, administrador de sistemas | 

### Migrar os dados
<a name="migrate-the-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre os dados criando uma tarefa de migração no AWS DMS. | Para migrar os dados, crie uma tarefa e siga as instruções na [documentação do AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. | DBA | 
| Valide os dados. | Para validar se seus dados foram migrados com precisão do banco de dados de origem para o banco de dados de destino, siga as [diretrizes de validação de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) fornecidas na documentação do AWS DMS. | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique a estratégia de migração de aplicativos. | Escolha uma das [sete estratégias (7Rs)](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/planning-phase.html) para migrar aplicativos para a nuvem. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Siga a estratégia de migração de aplicativos. | Conclua as tarefas do banco de dados identificadas pela equipe do aplicativo, incluindo a atualização dos detalhes da conexão DNS do banco de dados de destino e a atualização das consultas dinâmicas.  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. | Mude a conexão do banco de dados de origem ao banco de dados de destino. Para obter mais informações, consulte a seção [Substituição](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/cut-over.html) da *estratégia de migração para bancos de dados relacionais*. | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. | Encerre todas as tarefas de migração, instâncias de replicação, endpoints e outros recursos da AWS SCT e do AWS DMS. Para obter mais informações, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Deleting). | DBA, administrador de sistemas | 
| Revise e valide os documentos do projeto. | Valide todas as etapas na documentação do projeto para garantir que todas as tarefas tenham sido concluídas com êxito. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Fechar o projeto. | Feche o projeto de migração e forneça qualquer feedback. | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-resources"></a>

**Referências**
+ [Habilite conexões criptografadas para instâncias de banco de dados PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds.html) (Recomendações da AWS)
+ [Transporte bancos de dados PostgreSQL entre duas instâncias de banco de dados Amazon RDS usando pg\$1transport](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg_transport.html) (Recomendações da AWS)
+ [Preço do Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Práticas recomendadas com o Amazon Aurora Edição Compatível com PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.BestPractices.html) (documentação do Amazon Aurora)
+ [Documentação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Uso de um banco de dados SAP ASE como fonte para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)

**Tutoriais e vídeos**
+ [Introdução ao AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (vídeo)

# Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm"></a>

*Chandra Sekhar Yaratha e Igor Kovalchuk, Amazon Web Services*

## Resumo
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-summary"></a>

O padrão fornece orientação para o uso do AWS Certificate Manager (ACM) para migrar certificados Secure Sockets Layer (SSL) existentes de sites hospedados em servidores locais ou instâncias do Amazon Elastic Compute Cloud (Amazon EC2) no Microsoft Internet Information Services (IIS). Os certificados SSL podem, então, ser usados com o Elastic Load Balancing na AWS. 

O SSL protege seus dados, confirma sua identidade, fornece melhores classificações nos mecanismos de pesquisa, ajuda a atender aos requisitos do Padrão de segurança de dados do Setor de cartões de pagamento (PCI DSS) e aumenta a confiança do cliente. Os desenvolvedores e as equipes de TI que gerenciam essas workloads querem que seus aplicativos e infraestrutura web, incluindo o servidor IIS e o Windows Server, permaneçam em conformidade com suas políticas de referência.

Esse padrão abrange a exportação manual de certificados SSL existentes do Microsoft IIS, convertendo-os do formato Personal Information Exchange (PFX) para o formato Private Enhanced Mail (PEM) compatível com o ACM e, em seguida, importando-os para o ACM em sua conta da AWS. Também descreve como criar um Application Load Balancer para seu aplicativo e configurar o Application Load Balancer para usar seus certificados importados. Em seguida, as conexões HTTPS são encerradas no Application Load Balancer e você não precisa de mais sobrecarga de configuração no servidor web. Para obter mais informações, consulte [Criar um receptor HTTPS para seu Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html).

Os servidores Windows usam arquivos .pfx ou .p12 para conter o arquivo de chave pública (certificado SSL) e seu arquivo de chave privada exclusivo. A Autoridade de certificação (CA) fornece seu arquivo de chave pública. Você usa seu servidor para gerar o arquivo de chave privada associado em que a solicitação de assinatura de certificado (CSR) foi criada.

## Pré-requisitos e limitações
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma nuvem privada virtual (VPC) na AWS com pelo menos uma sub-rede privada e uma pública em cada zona de disponibilidade usada por seus destinos
+ IIS versão 8.0 ou superior, em execução no Windows Server 2012 ou superior
+ Um aplicativo web em execução no IIS
+ Acesso de administrador ao servidor IIS

## Arquitetura
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-architecture"></a>

**Pilha de tecnologia de origem**
+ Implementação do servidor web IIS com SSL para garantir que os dados sejam transmitidos com segurança em uma conexão criptografada (HTTPS) 

**Arquitetura de origem **

![\[Arquitetura de origem para migrar certificados SSL do Windows para um Application Load Balancer usando o ACM\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/e63efb6f-205b-4e20-a043-6bc954470191.png)


**Pilha de tecnologias de destino**
+ Certificados do ACM em sua conta da AWS
+ Um Application Load Balancer configurado para usar certificados importados
+ Instâncias do Windows Server nas sub-redes privadas

**Arquitetura de destino**

![\[Arquitetura de destino para migrar certificados SSL do Windows para um Application Load Balancer usando o ACM\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/45ac7fba-fbad-4c74-9b1f-80ca212dae08.png)


 

## Ferramentas
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-tools"></a>
+ [O AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) ajuda você a criar, armazenar e renovar certificados e chaves SSL/TLS X.509 públicos e privados que protegem seus sites e aplicativos da AWS.
+ O [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribui o tráfego de entrada de aplicativos ou de rede em vários destinos. Por exemplo, você pode distribuir o tráfego entre EC2 instâncias, contêineres e endereços IP em uma ou mais zonas de disponibilidade.

## Práticas recomendadas
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-best-practices"></a>
+ Imponha redirecionamentos de tráfego de HTTP para HTTPS.
+ Configure grupos de segurança para seu Application Load Balancer adequadamente a fim de permitir tráfego de entrada somente para portas específicas.
+ Execute suas EC2 instâncias em diferentes zonas de disponibilidade para garantir alta disponibilidade.
+ Configure o domínio do seu aplicativo para apontar para o nome DNS do Application Load Balancer em vez de seu endereço IP.
+ Certifique-se de que o Application Load Balancer tenha [verificações de integridade](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) da camada de aplicativo configuradas.
+ Configure o limite para verificações de integridade.
+ Use CloudWatch a [Amazon](https://aws.amazon.com/cloudwatch/) para monitorar o Application Load Balancer.

## Épicos
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-epics"></a>

### Exportar um arquivo .pfx
<a name="export-a-pfx-file"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exporte o arquivo .pfx do Windows Server. | Para exportar o certificado SSL como um arquivo .pfx do gerenciador de IIS on-premises no Windows Server:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Seu arquivo .pfx agora deve ser salvo no local e no caminho que você especificou. | Administrador de sistemas | 

### Converter o certificado codificado em PFX para o formato PEM
<a name="convert-the-pfx-encoded-certificate-to-pem-format"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe e instale o kit de ferramentas do OpenSSL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrador de sistemas | 
| Converter o certificado codificado em PFX para o formato PEM. | As etapas a seguir convertem o arquivo de certificado assinado e codificado em PFX em três arquivos no formato PEM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Converter o certificado codificado em PFX:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrador de sistemas | 

### Importar um certificado para o ACM
<a name="import-a-certificate-into-acm"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare-se para importar o certificado. | No [Console do ACM](https://console.aws.amazon.com/acm/home), escolha **Importar um certificado**. | Administrador de nuvem | 
| Forneça o corpo do certificado. | Para **Corpo do certificado**, cole o certificado codificado PEM que deseja importar. Para obter mais informações sobre os comandos e as etapas descritos nesta e em outras tarefas deste tópico, consulte [Importação de um certificado](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) na documentação do ACM. | Administrador de nuvem | 
| Forneça a chave privada do certificado. | Para o **Certificado de chave privada**, cole a chave privada não criptografada e codificada PEM correspondente à chave pública do certificado. | Administrador de nuvem | 
| Forneça a cadeia do certificado. | Em **Cadeia de certificados**, cole a cadeia de certificados codificada em PEM, que é armazenada no arquivo `CertificateChain.pem`. | Administrador de nuvem | 
| Importar o certificado. | Selecione **Revisar e importar**. Confirme se as informações sobre seu certificado estão corretas e escolha **Importar**. | Administrador de nuvem | 

### Criar um Application Load Balancer
<a name="create-an-application-load-balancer"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie e configure o balanceador de carga e os receptores. | Siga as instruções na [documentação do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) para configurar um grupo de destino e registrar destinos, além de criar um Application Load Balancer e um receptor. Adicione um segundo receptor (HTTPS) para a porta 443. | Administrador de nuvem | 

## Solução de problemas
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| O Windows PowerShell não reconhece o comando OpenSSL mesmo depois de você adicioná-lo ao caminho do sistema. | Verifique `$env:path` para assegurar que ele inclui a localização dos binários do OpenSSL.Se isso não acontecer, execute o seguinte comando em PowerShell:<pre>$env:path = $env:path + ";C:\OpenSSL-Win64\bin"</pre> | 

## Recursos relacionados
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-resources"></a>

**Importar um certificado para ACM**
+ [Console do ACM](https://console.aws.amazon.com/acm/home)
+ [Formato de chaves e certificados para importação](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-format.html)
+ [Importar um certificado](https://aws.amazon.com/blogs/security/how-to-import-pfx-formatted-certificates-into-aws-certificate-manager-using-openssl/)
+ [Guia do usuário do AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)

**Criar um Application Load Balancer**
+ [Criar um Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)
+ [Guia do usuário para Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)

# Migrar uma fila de mensagens do Microsoft Azure Service Bus para o Amazon SQS
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs"></a>

*Nisha Gambhir, Amazon Web Services*

## Resumo
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-summary"></a>

Este padrão descreve como migrar um aplicativo web ou de console do .NET Framework ou .NET Core usando a plataforma de mensagens de fila Microsoft Azure Service Bus para o Amazon Simple Queue Service (Amazon SQS).

Os aplicativos usam serviços de mensagens para enviar e receber dados de outros aplicativos. Esses serviços ajudam a criar microsserviços desacoplados e altamente escaláveis, sistemas distribuídos e aplicativos de tecnologia sem servidor na nuvem.

As filas do Azure Service Bus fazem parte de uma infraestrutura mais ampla de mensagens do Azure que oferece suporte a filas e mensagens. publish/subscribe  

O Amazon SQS é um serviço de filas de mensagens totalmente gerenciado que facilita o desacoplamento e a escala de microsserviços, sistemas distribuídos e aplicativos com tecnologia sem servidor. O Amazon SQS elimina a complexidade e a sobrecarga associadas ao gerenciamento e à operação de middleware orientado a mensagens, além de permitir que os desenvolvedores se concentrem em outros trabalhos. Usando o Amazon SQS, você pode enviar, armazenar e receber mensagens entre componentes de software em qualquer volume, sem perder mensagens ou exigir que outros serviços estejam disponíveis.

## Pré-requisitos e limitações
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Um aplicativo web ou de console do .NET Framework ou .NET Core que usa filas do Azure Service Bus (exemplo de código anexo)

**Versões do produto**
+ .NET Framework 3.5 ou superior ou .NET Core 1.0.1, 2.0.0 ou superior

## Arquitetura
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-architecture"></a>

**Pilha de tecnologia de origem**
+ Um aplicativo web ou de console do .NET (Core ou Framework) que usa uma fila do Azure Service Bus para enviar mensagens

 

**Pilha de tecnologias de destino**
+ Amazon SQS

## Ferramentas
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-tools"></a>

**Ferramentas**
+ Microsoft Visual Studio

**Código **

Criar uma política de AWS Identity and Access Management (IAM) para o Amazon SQS:

1. Faça login no Console de Gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

2. No painel de navegação à esquerda, escolha **Policies (Políticas)** e **Create policy (Criar política)**.

3. Escolha a guia **JSON** e cole o código a seguir:

```
{
   "Version": "2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:ChangeMessageVisibility",
            "sqs:SendMessageBatch",
            "sqs:ReceiveMessage",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueueTags",
            "sqs:ListDeadLetterSourceQueues",
            "sqs:DeleteMessageBatch",
            "sqs:PurgeQueue",
            "sqs:DeleteQueue",
            "sqs:CreateQueue",
            "sqs:ChangeMessageVisibilityBatch",
            "sqs:SetQueueAttributes"
         ],
         "Resource": "arn:aws:sqs:*:<AccountId>:*"
      },
      {
         "Sid": "VisualEditor1",
         "Effect": "Allow",
         "Action": "sqs:ListQueues",
         "Resource": "*"
      }
   ]
}
```

4. Escolha **Revisar política**, digite um nome e, em seguida, selecione **Criar política**.

5. Vincule a política recém-criada ao seu perfil do IAM ou crie um novo perfil.

## Épicos
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-epics"></a>

### Configuração do Amazon SQS na AWS
<a name="set-up-amazon-sqs-in-aws"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma política do IAM para o Amazon SQS. | Crie a política do IAM que fornecerá acesso ao Amazon SQS. Consulte a seção Código para obter um exemplo de política. | Engenheiro de sistemas | 
| Crie um perfil da AWS. | Crie um novo perfil executando as ferramentas da AWS para o PowerShell comando Set-AWSCredential. Isso armazena sua chave de acesso e a chave secreta no seu arquivo de credenciais padrão sob o nome de perfil que você especificar. Vincule a política do Amazon SQS que você criou anteriormente a esta conta. Guarde o ID de chave de acesso e a chave de acesso secreta da AWS. Eles serão necessários nas próximas etapas. | Engenheiro de sistemas | 
| Crie uma fila do SQS. | Você pode criar uma fila padrão ou uma fila de primeiro a entrar, primeiro a sair (FIFO). Para obter instruções, consulte os links na seção Referências. | Engenheiro de sistemas | 

### Revise seu código do aplicativo .NET
<a name="revise-your-net-application-code"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instalar o AWS Toolkit for Visual Studio.  | Esse kit de ferramentas é uma extensão do Microsoft Visual Studio e facilita a criação e a implantação de aplicativos .NET na AWS. Para obter instruções de uso e instalação, consulte o link na seção Referências. | Desenvolvedor de aplicativos | 
| Instale o AWSSDK pacote.SQS. NuGet  | Você pode instalar AWSSDK o.SQS escolhendo “Manage NuGet Package” no Visual Studio ou executando o comando “ AWSSDKInstall-Package .SQS”. | Desenvolvedor de aplicativos | 
| Crie um AWSCredentials objeto em seu aplicativo.NET. | O aplicativo de exemplo no anexo mostra como criar um AWSCredentials objeto básico, que herda de AWSCredentials. Você pode usar o ID da chave de acesso e a chave de acesso secreta anteriores ou permitir que o objeto escolha-os na pasta .aws como parte do perfil do usuário no runtime. | Desenvolvimento de aplicativos | 
| Crie um objeto cliente SQS. | Crie um objeto cliente SQS (AmazonSQSClient) para o.NET Framework. Isso faz parte do namespace Amazon.SQS. Esse objeto é necessário em vez do IQueue Client, que faz parte do Microsoft.Azure. ServiceBus namespace. | Desenvolvedor de aplicativos | 
| Chame o SendMessageAsync método para enviar mensagens para a fila SQS. | Altere o código que envia a mensagem para a fila para usar o. amazonSqsClient SendMessageAsync método. Para obter detalhes, consulte o modelo de código anexo. | Desenvolvimento de aplicativos | 
| Chame o ReceiveMessageAsync método para receber mensagens da fila SQS. | Altere o código que recebe a mensagem para usar amazonSqsClient o. ReceiveMessageAsync método. Para obter detalhes, consulte o modelo de código anexo. | Desenvolvimento de aplicativos | 
| Chame o DeleteMessageAsync método para excluir mensagens da fila SQS. | Para excluir mensagens, altere o código do QueueClient. CompleteAsync método para amazonSqsClient o. DeleteMessageAsync método. Para obter detalhes, consulte o modelo de código anexo. | Desenvolvimento de aplicativos | 

## Recursos relacionados
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-related-resources"></a>
+ [Guia do desenvolvedor do AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html)
+ [Envio de mensagens usando o Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sqs-apis-intro.html)
+ [Criação e uso de uma fila do Amazon SQS com o AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/how-to-sqs.html)
+ [Enviar uma mensagem do Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/SendMessage.html)
+ [Receber uma mensagem de uma fila do Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/ReceiveMessage.html)
+ [Excluir uma mensagem de uma fila do Amazon SQS Queue](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/DeleteMessage.html)
+ [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html)

## Mais informações
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-additional-information"></a>

Este padrão inclui dois exemplos de aplicativos (consulte a seção de anexos):
+ **AzureSbTestApp**inclui código que usa a fila do Azure Service Bus.
+ **AmazonSqsTestApp**usa o Amazon SQS. Este é um aplicativo de console que usa o .NET Core 2.2 e inclui exemplos para enviar e receber mensagens.

Observações:
+ QueueClient é um objeto do IQueue Client, que faz parte do Microsoft.Azure. ServiceBus namespace (incluído no Microsoft.Azure. ServiceBus NuGet pacote).
+ amazonSqsClient é um objeto da AmazonSQSClient, que faz parte do namespace Amazon.sqs (incluído no pacote .SQS). AWSSDK NuGet 
+ Dependendo de onde o código está sendo executado, digamos, se ele está sendo executado EC2, a função precisa ter permissão para gravar na fila SQS.

## Anexos
<a name="attachments-25334709-7000-4f60-87ed-ea41acb41a99"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/25334709-7000-4f60-87ed-ea41acb41a99/attachments/attachment.zip)

# Migre um banco de dados Oracle JD Edwards EnterpriseOne para a AWS usando o Oracle Data Pump e o AWS DMS
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms"></a>

*Thanigaivel Thirumalai, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-summary"></a>

Você pode migrar e executar seu banco de dados JD Edwards no [Amazon EnterpriseOne Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Quando você migra seu banco de dados para o Amazon RDS, a AWS pode cuidar das tarefas de backup e da configuração de alta disponibilidade, para que você possa se concentrar em manter seu EnterpriseOne aplicativo e sua funcionalidade. Para obter uma lista abrangente dos principais fatores a serem considerados durante o processo de migração, consulte as [estratégias de migração do banco de dados Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) nas Recomendações da AWS.

Há várias maneiras de migrar um EnterpriseOne banco de dados, incluindo:
+ Usando o Oracle Universal Batch Engine (UBE) R98403 para criação de esquemas e tabelas e usando o AWS Database Migration Service (AWS DMS) para migração
+ Usando ferramentas nativas de banco de dados para criação de esquemas e tabelas e usando o AWS DMS para migração
+ Usando ferramentas nativas de banco de dados para a migração de dados existentes (carga total) e usando o AWS DMS para tarefas de captura de dados de alteração (CDC - change data capture)

Esse padrão cobre a terceira opção. Ele explica como migrar seus EnterpriseOne bancos de dados locais para o Amazon RDS for Oracle usando o Oracle Data Pump com o [AWS DMS](https://aws.amazon.com/dms) e seu recurso CDC.

[O Oracle JD Edwards EnterpriseOne](https://www.oracle.com/applications/jd-edwards-enterpriseone/) é uma solução de planejamento de recursos corporativos (ERP) para organizações que fabricam, constroem, distribuem, atendem ou gerenciam produtos ou ativos físicos. O JD Edwards EnterpriseOne oferece suporte a vários hardwares, sistemas operacionais e plataformas de banco de dados.

Quando você migra aplicativos essenciais de ERP, como o JD Edwards EnterpriseOne, minimizar o tempo de inatividade é fundamental. O AWS DMS minimiza o tempo de inatividade ao oferecer suporte à carga total e à replicação contínua do banco de dados de origem para o banco de dados de destino. O AWS DMS também fornece monitoramento e registro em tempo real para a migração, o que pode ajudá-lo a identificar e resolver quaisquer problemas que possam causar tempo de inatividade.

Ao replicar alterações com o AWS DMS, você deve especificar uma hora ou um número de alteração do sistema (SCN) como ponto de partida para ler as alterações dos logs do banco de dados. É fundamental manter esses registros acessíveis no servidor por um determinado período de tempo (recomendamos 15 dias) para garantir que o AWS DMS tenha acesso a essas alterações.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Um banco de dados Amazon RDS para Oracle provisionado em seu ambiente de Nuvem AWS como o banco de dados de destino. Para obter instruções, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html).
+ Um EnterpriseOne banco de dados executado no local ou em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na AWS.
**nota**  
Esse padrão foi projetado para migrar do local para a AWS, mas foi testado usando um EnterpriseOne banco de dados em uma instância do EC2. Se você planeja migrar do seu ambiente on-premises, deverá configurar a conectividade de rede apropriada.
+ Detalhes do esquema. Identifique para qual esquema de banco de dados Oracle (por exemplo, DV920) você planeja migrar. EnterpriseOne Antes de iniciar o processo de migração, reúna os seguintes detalhes sobre o esquema:
  + Tamanho do esquema
  + O número de objetos por tipo de objeto
  + O número de objetos inválidos

**Limitações**
+ Você precisa criar os esquemas que quiser no banco de dados Amazon RDS para Oracle de destino: o AWS DMS não os cria para você. (A seção [Épicos](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics) descreve como usar o Data Pump para exportar e importar esquemas). O nome do esquema já deve existir para o banco de dados Oracle de destino. As tabelas do esquema de origem são importadas para o usuário ou esquema e o AWS DMS usa a conta do administrador ou do sistema para se conectar à instância de destino. Para migrar vários esquemas, você pode criar várias tarefas de replicação. Você também pode migrar dados para esquemas diferentes em uma instância de destino. Para fazer isso, use regras de transformação de esquema nos mapeamentos de tabelas do AWS DMS.
+ Esse padrão foi testado com um conjunto de dados de demonstração. Recomendamos que você valide a compatibilidade do seu conjunto de dados e da personalização.
+ Esse padrão usa um EnterpriseOne banco de dados que está sendo executado no Microsoft Windows. No entanto, você pode usar o mesmo processo com outros sistemas operacionais compatíveis com o AWS DMS.

## Arquitetura
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-architecture"></a>

O diagrama a seguir mostra um sistema que está sendo executado EnterpriseOne em um banco de dados Oracle como banco de dados de origem e um banco de dados Amazon RDS for Oracle como banco de dados de destino. Os dados são exportados do banco de dados Oracle de origem e importados para o banco de dados Amazon RDS para Oracle de destino usando o Oracle Data Pump e replicados para atualizações do CDC usando o AWS DMS.

![\[Diagram showing data replication from on-premises Oracle to Amazon RDS using AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. O Oracle Data Pump extrai dados do banco de dados de origem e os dados são enviados para o destino do banco de dados Amazon RDS para Oracle.

1. Os dados do CDC são enviados do banco de dados de origem para um endpoint de origem no AWS DMS.

1. Do endpoint de origem, os dados são enviados para a instância de replicação do AWS DMS, onde a tarefa de replicação é executada.

1. Após a conclusão da tarefa de replicação, os dados são enviados para o endpoint de destino no AWS DMS.

1. Do endpoint de destino, os dados são enviados para a instância do banco de dados do Amazon RDS para Oracle.

## Ferramentas
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-tools"></a>

**Serviços da AWS**
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) ajuda você a configurar, operar e escalar um banco de dados relacional Oracle na Nuvem AWS.

**Outros serviços**
+ O [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ajuda você a mover dados e metadados de um banco de dados para outro em alta velocidade.

## Práticas recomendadas
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-best-practices"></a>

**Migrating LOBs**

Se seu banco de dados de origem contém objetos binários grandes (LOBs) que precisam ser migrados para o banco de dados de destino, o AWS DMS fornece as seguintes opções:
+ **Modo LOB completo** — O AWS DMS migra tudo do banco de dados LOBs de origem para o de destino, independentemente do tamanho. Embora a migração seja mais lenta do que os outros modos, a vantagem é que os dados não são truncados. Para melhorar o desempenho, você pode criar uma tarefa separada na nova instância de replicação para migrar as tabelas maiores do LOBs que alguns megabytes.
+ **Modo LOB limitado** — Você especifica o tamanho máximo dos dados da coluna LOB, o que permite que o AWS DMS pré-aloque recursos e os aplique em massa. LOBs Se o tamanho das colunas LOB exceder o tamanho especificado na tarefa, o AWS DMS truncará os dados e enviará avisos para o arquivo de log do AWS DMS. Você pode melhorar o desempenho usando o modo LOB limitado se o tamanho dos dados do LOB estiver dentro do tamanho do LOB limitado.
+ **Modo LOB embutido** — você pode migrar LOBs sem truncar os dados ou diminuir o desempenho de sua tarefa replicando tanto pequenos quanto grandes. LOBs Primeiro, especifique um valor para o parâmetro `InlineLobMaxSize`, que está disponível somente quando o modo LOB completo está definido como `true`. A tarefa do AWS DMS transfere o pequeno LOBs em linha, o que é mais eficiente. Em seguida, o AWS DMS migra os grandes LOBs executando uma pesquisa na tabela de origem. No entanto, o modo LOB em linha funciona somente durante a fase de carga total.

**Gerando valores de sequência**

Durante o processo de CDC do AWS DMS, os números de sequência incrementais não são replicados do banco de dados de origem. Para evitar discrepâncias nos valores de sequência, você deve gerar o valor de sequência mais recente da origem para todas as sequências e aplicá-lo ao banco de dados de destino do Amazon RDS para Oracle.

**AWS Secrets Manager**

Para ajudar a gerenciar suas credenciais, recomendamos que você siga as instruções na postagem do blog [Gerencie suas credenciais de endpoint do AWS DMS com o AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/).

**Desempenho**
+ **Instâncias de replicação** ‒ Para obter orientação sobre como escolher o melhor tamanho de instância, consulte [Seleção do melhor tamanho para uma instância de replicação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html) na documentação do AWS DMS.
+ **Opções de conectividade** ‒ Para evitar problemas de latência, recomendamos que você escolha a opção de conectividade correta. O AWS Direct Connect fornece o caminho mais curto para os recursos da AWS, porque é uma conexão dedicada entre seus datacenters corporativos e a AWS. Em trânsito, o tráfego de rede permanece na rede global da AWS e nunca passa pela Internet. Isso reduz a chance de ocorrer gargalos ou aumentos inesperados na latência em comparação com o uso de VPN ou de internet pública.
+ **Largura de banda da rede** ‒ Para otimizar o desempenho, verifique se a throughput de sua rede é rápida. Se você estiver usando um túnel VPN entre seu banco de dados de origem on-premises e o AWS DMS, garanta que a largura de banda seja suficiente para seu workload.
+ **Paralelismo de tarefas** ‒ Você pode acelerar a replicação de dados carregando várias tabelas em paralelo durante a carga total. Esse padrão usa endpoints RDBMS, portanto, essa opção se aplica somente ao processo de carregamento completo. O paralelismo de tarefas é controlado pelo parâmetro `MaxFullLoadSubTasks`, que determina quantas subtarefas de carga total são executadas em paralelo. Por padrão, esse parâmetro é definido como 8, o que significa que oito tabelas (se selecionadas no mapeamento de tabelas) são carregadas juntas durante o modo completo. Você pode ajustar esse parâmetro na seção de configurações de tarefa de carga total do script JSON para a tarefa.
+ **Paralelismo de tabelas** ‒ O AWS DMS também permite que você carregue uma única tabela grande usando vários threads paralelos. Isso é particularmente útil para tabelas de origem Oracle que têm bilhões de registros, bem como várias partições e subpartições. Se a tabela de origem não estiver particionada, você poderá usar limites de coluna para cargas paralelas.
+ **Divida as cargas** ‒ Ao dividir as cargas em várias tarefas ou instâncias do AWS DMS, lembre-se dos limites da transação ao capturar as alterações.

## Épicos
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics"></a>

### Use o Oracle Data Pump para exportar o EnterpriseOne esquema
<a name="use-oracle-data-pump-to-export-the-enterpriseone-schema"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere o SCN. | Quando o banco de dados de origem estiver ativo e em uso pelo EnterpriseOne aplicativo, inicie a exportação de dados com o Oracle Data Pump. Primeiro, você deve gerar um número de alteração do sistema (SCN) do banco de dados de origem para manter a consistência de dados durante a exportação com o Oracle Data Pump e como ponto de partida para o CDC no AWS DMS.Para gerar o SCN atual do banco de dados de origem, use a instrução SQL a seguir:<pre>SQL> select current_scn from v$database;<br /><br />CURRENT_SCN<br />-----------<br />   30009727</pre>Salve o SCN gerado. Você usará o SCN ao exportar os dados e criar a tarefa de replicação do AWS DMS. | DBA | 
| Crie o arquivo de parâmetro. | Para criar um arquivo de parâmetros para exportar o esquema, você pode usar o código a seguir.<pre>directory=DMS_DATA_PUMP_DIR<br />logfile=export_dms.log<br />dumpfile=export_dms_data.dmp<br />schemas=<schema name><br />flashback_scn=<SCN from previous command></pre>Você também pode definir seu próprio `DATA_PUMP_DIR` usando os comandos a seguir, com base em seus requisitos.<pre>SQL> CREATE OR REPLACE DIRECTORY DMS_DATA_PUMP_DIR AS '<Directory for dump>';<br />Directory created.<br /><br />SQL> GRANT READ, WRITE ON DIRECTORY DMS_DATA_PUMP_DIR TO SYSTEM;<br />Grant succeeded.</pre> | DBA | 
| Exporte o esquema. | Para realizar a exportação, use o utilitário `expdp` da seguinte forma:<pre>C:\Users\Administrator>expdp system/********@<DB Name> PARFILE='<Path to PAR file create above>'<br /><br />Export: Release 19.0.0.0.0 - Production on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.<br /><br />Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production<br />Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02":  system/********@<DB Name>PARFILE='E:\exp_dms_datapump.par'<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS<br />Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS<br />Processing object type SCHEMA_EXPORT/STATISTICS/MARKER<br />Processing object type SCHEMA_EXPORT/USER<br />Processing object type SCHEMA_EXPORT/ROLE_GRANT<br />Processing object type SCHEMA_EXPORT/DEFAULT_ROLE<br />Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA<br />Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE<br />Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX<br />Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT<br />. . exported "<Schema Name>"."<Table Name>"                            228.9 MB  496397 rows</pre><pre>Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded<br />******************************************************************************<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is:<br />  E:\DMSDUMP\EXPORT_DMS_DATA.DMP<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at *** *** ** **:**:** **** elapsed 0 00:01:57</pre> | DBA | 

### Use o Oracle Data Pump para importar o EnterpriseOne esquema
<a name="use-oracle-data-pump-to-import-the-enterpriseone-schema"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Transfira o arquivo de dump para a instância de destino. | Para transferir seus arquivos usando o utilitário `DBMS_FILE_TRANSFER`, você precisa criar um link de banco de dados do banco de dados de origem para a instância do Amazon RDS para Oracle. Depois que o link for estabelecido, você poderá usar o utilitário para transferir os arquivos do Data Pump diretamente para a instância do Amazon RDS.Como alternativa, você pode transferir os arquivos do Data Pump para o [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) e depois importá-los para a instância do Amazon RDS para Oracle. Para obter mais informações sobre essa opção, consulte a seção [Informações adicionais](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional).Para criar um link `ORARDSDB` que se conecte ao usuário mestre do Amazon RDS na instância de banco de dados de destino, execute os comandos a seguir no banco de dados de origem:<pre>sqlplus / as sysdba<br /><br />SQL*Plus: Release 19.0.0.0.0 on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle.  All rights reserved.<br /><br />Connected to:<br />Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0<br />Version 19.3.0.0.0<br /><br />SQL> create database link orardsdb connect to admin identified by "******" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.******.us-east-1.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br /><br />Database link created.<br /><br />SQL></pre> | DBA | 
| Teste o link do banco de dados. | Teste o link do banco de dados para garantir que você possa se conectar ao banco de dados de destino do Amazon RDS para Oracle usando `sqlplus`.<pre>SQL> select name from v$database@orardsdb;<br /><br />NAME<br />---------<br />ORCL<br /></pre> | DBA | 
| Transfira o arquivo dump para o banco de dados de destino. | Para copiar o arquivo de despejo para o banco de dados Amazon RDS para Oracle, você pode usar o diretório `DATA_PUMP_DIR` padrão ou criar seu próprio diretório usando o código a seguir, que deve ser executado na instância de destino do Amazon RDS:<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'DMS_TARGET_PUMP_DIR');<br /><br />PL/SQL procedure successfully completed.</pre>O script a seguir copia um arquivo de despejo chamado `EXPORT_DMS_DATA.DMP` da instância de origem para um banco de dados de destino do Amazon RDS para Oracle usando o link de banco de dados chamado `orardsdb`. Você deve executar o script na instância do banco de dados de origem.<pre>BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DMS_DATA_PUMP_DIR',<br />source_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_directory_object => 'DMS_TARGET_PUMP_DIR',<br />destination_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_database => 'orardsdb');<br />END;<br /><br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Liste o arquivo dump no banco de dados de destino. | Depois que o PL/SQL procedimento for concluído, você poderá listar o arquivo de despejo de dados no banco de dados Amazon RDS for Oracle usando o seguinte código:<pre>select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DMS_TARGET_PUMP_DIR'));</pre> | DBA | 
| Crie usuários específicos do JDE na instância de destino. | Crie um perfil e uma função do JD Edwards usando esses comandos na instância de destino:<pre>SQL> CREATE PROFILE "JDEPROFILE" LIMIT IDLE_TIME 15;<br />Profile created.<br /><br />SQL> CREATE ROLE "JDE_ROLE";<br />Role created.<br /><br />SQL> CREATE ROLE "JDEADMIN";<br />CREATE ROLE "JDEUSER";<br />Role created.<br />Role created.</pre>Conceda as permissões necessárias à função: <pre>SQL> GRANT CREATE ANY SEQUENCE TO JDE_ROLE;<br /> GRANT DROP ANY SEQUENCE TO JDE_ROLE;<br /> GRANT CREATE ANY TRIGGER TO JDE_ROLE;<br /> GRANT DROP ANY TRIGGER TO JDE_ROLE;<br /></pre> | DBA, JDE CNC | 
| Crie espaços de tabela na instância de destino. | Crie os espaços de tabela necessários na instância de destino usando os seguintes comandos para os esquemas envolvidos nessa migração:<pre>SQL> CREATE TABLESPACE <Tablespace Name for Tables>;<br />Tablespace created.<br /><br />SQL> CREATE TABLESPACE <Tablespace Name for Indexes>;<br />Tablespace created.</pre> | DBA, JDE CNC | 
| Inicie a importação no banco de dados de destino. | Antes de iniciar o processo de importação, configure as funções, os esquemas e os espaços de tabela no banco de dados de destino do Amazon RDS para Oracle usando o arquivo de dump de dados.Para realizar a importação, acesse o banco de dados de destino com a conta de usuário principal do Amazon RDS e use o nome da cadeia de conexão no arquivo `tnsnames.ora`, que inclui o Amazon RDS para Oracle Database `tns-entry`. Se necessário, você pode incluir uma opção de remapeamento para importar o arquivo de dump de dados em um espaço de tabela diferente ou com um nome de esquema diferente.Para iniciar a importação, use o seguinte código:<pre>impdp admin@orardsdb directory=DMS_TARGET_PUMP_DIR logfile=import.log dumpfile=EXPORT_DMS_DATA.DMP</pre>Para garantir uma importação bem-sucedida, verifique se há erros no arquivo de log de importação e revise os detalhes, como contagem de objetos, contagem de linhas e objetos inválidos. Se houver algum objeto inválido, recompile-o. Além disso, compare os objetos do banco de dados de origem e de destino para confirmar se eles coincidem. | DBA | 

### Provisione uma instância de replicação do AWS DMS com os endpoints de origem e de destino
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça download do modelo. | Faça o download do modelo AWS CloudFormation [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) para provisionar a instância de replicação do AWS DMS e seus endpoints de origem e destino. | Administrador de nuvem, DBA | 
| Inicie a criação da pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de nuvem, DBA | 
| Especifique os parâmetros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de nuvem, DBA | 
| Crie a pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)O provisionamento deve ser concluído em aproximadamente cinco a dez minutos. Ele estará completo quando a página AWS CloudFormation Stacks mostrar **CREATE\$1COMPLETE**. | Administrador de nuvem, DBA | 
| Configure os endpoints. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de nuvem, DBA | 
| Teste de conectividade. | Depois que os endpoints de origem e destino mostrarem o status como **Ativo**, teste a conectividade. Escolha **Executar teste** para cada endpoint (origem e destino) para garantir que o status seja exibido como bem-sucedido. | Administrador de nuvem, DBA | 

### Crie uma tarefa de replicação do AWS DMS para replicação ao vivo
<a name="create-an-aws-dms-replication-task-for-live-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a tarefa de replicação. | Crie a tarefa de replicação do AWS DMS usando as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Depois de criar a tarefa, o AWS DMS migra as alterações contínuas para a instância do banco de dados Amazon RDS para Oracle a partir do SCN que você forneceu no modo de início do CDC. Você também pode verificar a migração revisando os CloudWatch registros. | Administrador de nuvem, DBA | 
| Repita a tarefa de replicação. | Repita as etapas anteriores para criar tarefas de replicação para outros esquemas do JD Edwards que fazem parte da migração. | Administrador de nuvem, DBA, administrador CNC do JDE | 

### Valide o esquema de banco de dados no banco de dados de destino do Amazon RDS para Oracle
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar a transferência de dados. | Após o início da tarefa do AWS DMS, você pode verificar a guia **Estatísticas da tabela** na página **Tarefas** para ver as alterações feitas nos dados.Você pode monitorar o status da replicação contínua no console na página **Tarefas de migração do banco de dados**.Para obter mais informações, consulte [Validação de dados do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Administrador de nuvem, DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerrar a replicação. | Interrompa o procedimento de replicação e interrompa os serviços do aplicativo de origem. | Administrador de nuvem, DBA | 
| Inicie o aplicativo JD Edwards. | Inicie a apresentação de destino e o aplicativo de nível lógico do JD Edwards na AWS e direcione-os para o banco de dados Amazon RDS para Oracle.Ao acessar o aplicativo, você deve observar que todas as conexões agora estão estabelecidas com o banco de dados Amazon RDS para Oracle. | DBA, administrador do JDE CNC | 
| Desative o banco de dados de origem. | Depois de confirmar que não há mais conexões, você pode desativar o banco de dados de origem. | DBA | 

## Solução de problemas
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Você recebe uma mensagem de aviso para ativar o [log complementar](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) no banco de dados de origem para replicação contínua | Insira estes comandos para ativar o log complementar:<pre>SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;</pre> | 
| O AWS DMS fica com o registro suplementar desativado. | O log complementar está desativado por padrão no AWS DMS. Para ativá-lo em um endpoint Oracle de origem:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| O log complementar não está habilitado no nível do CDB. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| Você recebe a mensagem de erro: “Falha no Test Endpoint: Application-Status: 1020912, Application-Message: não LogMiner é suportado no ambiente Oracle PDB A inicialização do Endpoint falhou.” | Se você encontrar essa mensagem de erro, poderá usar o Binary Reader em vez de LogMiner.Em **Configurações do Endpoint**, adicione essa linha aos atributos extras de conexão do seu banco de dados de origem:<pre>useLogMinerReader=N;useBfile=Y;</pre> | 

## Recursos relacionados
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-resources"></a>
+ [Introdução ao AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Práticas recomendadas para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migrar bancos de dados Oracle para a Nuvem AWS ](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Referência de tipo de recurso do AWS Database Migration Service para AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DMS.html)
+ [Gerencie suas credenciais de endpoint do AWS DMS com o AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/)
+ [Solução de problemas de tarefas de migração no AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle.RecordsMissing)
+ [Práticas recomendadas para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)

## Mais informações
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional"></a>

**Transferir arquivos usando o Amazon S3**

Para transferir os arquivos para o Amazon S3, você pode usar a AWS CLI ou o console do Amazon S3. Depois de transferir os arquivos para o Amazon S3, você pode usar a instância Amazon RDS para Oracle para importar os arquivos do Data Pump do Amazon S3.

Se você optar por transferir o arquivo de dump usando a integração com o Amazon S3 como um método alternativo, execute as seguintes etapas:

1. Criar um bucket do S3.

1. Exporte os dados do banco de dados de origem usando o Oracle Data Pump.

1. Faça upload dos arquivos do Data Pump para o bucket S3.

1. Faça download dos arquivos do Data Pump do bucket do S3 no banco de dados de destino do Amazon RDS para Oracle.

1. Execute a importação usando os arquivos do Data Pump.

**nota**  
Para transferir grandes arquivos de dados entre instâncias do S3 e do RDS, recomendamos que você use o atributo [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html).

# Migre um PeopleSoft banco de dados Oracle para a AWS usando o AWS DMS
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms"></a>

*Sampath Kathirvel, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-summary"></a>

 PeopleSoftO [Oracle](https://www.oracle.com/applications/peoplesoft/) é uma solução de planejamento de recursos corporativos (ERP) para processos em toda a empresa. PeopleSoft tem uma arquitetura de três camadas: cliente, aplicativo e banco de dados. PeopleSoft pode ser executado no [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)).

Se você migrar seu banco de dados Oracle para o Amazon RDS, o Amazon Web Services (AWS) poderá cuidar das tarefas de backup e da alta disponibilidade, deixando você livre para se concentrar na manutenção do PeopleSoft aplicativo e de sua funcionalidade. Para obter uma lista abrangente dos principais fatores a serem considerados durante o processo de migração, consulte as [estratégias de migração do banco de dados Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) nas Recomendações da AWS.

Esse padrão fornece uma solução para migrar seus bancos de dados do Oracle on-premises para o Amazon RDS para Oracle usando o Oracle Data Pump com o [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms) e seu atributo de captura de dados de alteração (CDC).

Ao migrar aplicativos essenciais de ERP, como o Oracle PeopleSoft, minimizar o tempo de inatividade é fundamental. O AWS DMS minimiza o tempo de inatividade ao oferecer suporte à carga total e à replicação contínua do banco de dados de origem para o banco de dados de destino. O AWS DMS também fornece monitoramento e registro em tempo real da migração, o que pode ajudar você a identificar e resolver quaisquer problemas que possam causar tempo de inatividade.

Ao replicar alterações com o AWS DMS, você deve especificar um horário ou um número de alteração do sistema (SCN) como ponto de partida para que o AWS DMS leia as alterações dos registros em log do banco de dados. É fundamental manter esses logs acessíveis no servidor por um determinado período de tempo para garantir que o AWS DMS tenha acesso a essas alterações.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-prereqs"></a>

**Pré-requisitos **
+ Provisionado banco de dados do Amazon RDS para Oracle em seu ambiente de nuvem AWS como banco de dados de destino.
+ Um PeopleSoft banco de dados Oracle executado no local ou na Amazon Elastic Compute Cloud (Amazon EC2) na Nuvem AWS.
**nota**  
Esse padrão foi projetado para migrar do local para a AWS, mas foi testado usando o Oracle Database em uma EC2 instância da Amazon. Para migrar do on-premises, você precisará configurar a conectividade de rede apropriada.
+ Detalhes do esquema. Ao migrar um PeopleSoft aplicativo Oracle para o Amazon RDS for Oracle, é necessário identificar qual esquema de banco de dados Oracle (por exemplo`SYSADM`,) migrar. Antes de iniciar o processo de migração, reúna os seguintes detalhes sobre o esquema:
  + Tamanho
  + O número de objetos por tipo de objeto
  + O número de objetos inválidos.

  Essas informações ajudarão no processo de migração.

**Limitações**
+ Esse cenário foi testado somente com o banco de dados PeopleSoft DEMO. Ele não foi testado com um grande conjunto de dados.

## Arquitetura
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-architecture"></a>

O diagrama a seguir mostra uma instância executando um banco de dados do Oracle como banco de dados de origem e um banco de dados do Amazon RDS para Oracle como banco de dados de destino. Os dados são exportados e importados do banco de dados do Oracle de origem para o banco de dados do Amazon RDS para Oracle de destino usando o Oracle Data Pump e replicados para alterações do CDC usando o AWS DMS.

![\[Processo de cinco etapas, da instância de banco de dados on-premises ao Amazon RDS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. A etapa inicial envolve a extração de dados do banco de dados de origem usando o Oracle Data Pump e, em seguida, o envio para o banco de dados de destino do Amazon RDS para Oracle.

1. Os dados são enviados do banco de dados de origem para um endpoint de origem no AWS DMS.

1. Do endpoint de origem, os dados são enviados para a instância de replicação do AWS DMS, onde a tarefa de replicação é executada.

1. Após a conclusão da tarefa de replicação, os dados são enviados para o endpoint de destino no AWS DMS.

1. Do endpoint de destino, os dados são enviados para a instância do banco de dados do Amazon RDS para Oracle.

## Ferramentas
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-tools"></a>

**Serviços da AWS**
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ O [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) ajuda você a configurar, operar e escalar um banco de dados relacional Oracle na Nuvem AWS.

**Outros serviços**
+ O [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ajuda você a mover dados e metadados de um banco de dados para outro em alta velocidade.

## Práticas recomendadas
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-best-practices"></a>

**Migrating LOBs**

Se seu banco de dados de origem contiver objetos binários grandes (LOBs) que precisam ser migrados para o banco de dados de destino, o AWS DMS fornece as seguintes opções:
+ **Modo LOB completo** — O AWS DMS migra tudo do banco de dados LOBs de origem para o de destino, independentemente do tamanho. Embora a migração seja mais lenta, a vantagem é que os dados não são truncados. Para melhorar o desempenho, você pode criar uma tarefa separada na nova instância de replicação para migrar as tabelas com mais de alguns LOBs megabytes.
+ **Modo LOB limitado** — Você especifica o tamanho máximo dos dados da coluna LOB, o que permite que o AWS DMS pré-aloque recursos e os aplique em massa. LOBs Se o tamanho das colunas LOB exceder o tamanho especificado na tarefa, o AWS DMS truncará os dados e enviará avisos para o arquivo de log do AWS DMS. Você pode melhorar o desempenho usando o modo LOB limitado se o tamanho dos dados do LOB estiver dentro do tamanho do LOB limitado.
+ **Modo LOB embutido** — você pode migrar LOBs sem truncar os dados ou diminuir o desempenho de sua tarefa replicando tanto pequenos quanto grandes. LOBs Primeiro, especifique um valor para o InlineLobMaxSize parâmetro, que está disponível somente quando o modo LOB completo está definido como verdadeiro. A tarefa do AWS DMS transfere o pequeno LOBs em linha, o que é mais eficiente. Em seguida, o AWS DMS migra os grandes LOBs executando uma pesquisa na tabela de origem. No entanto, o modo LOB em linha funciona somente durante a fase de carga total.

**Gerando valores de sequência**

Lembre-se de que, durante o processo de captura de dados de alterações com o AWS DMS, os números de sequência incrementais não são replicados do banco de dados de origem. Para evitar discrepâncias nos valores de sequência, você deve gerar o valor de sequência mais recente da origem para todas as sequências e aplicá-lo ao banco de dados de destino do Amazon RDS para Oracle.

**Gerenciamento de credenciais**

Para ajudar a proteger seus recursos da AWS, recomendamos seguir as [práticas recomendadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) do AWS Identity and Access Management (IAM).

## Épicos
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-epics"></a>

### Provisione uma instância de replicação do AWS DMS com os endpoints de origem e de destino
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça download do modelo. | Baixe o CloudFormation modelo da AWS [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) para provisionar a instância de replicação do AWS DMS e seus endpoints de origem e destino. | Administrador de nuvem, DBA | 
| Inicie a criação da pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de nuvem, DBA | 
| Especifique os parâmetros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de nuvem, DBA | 
| Crie a pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)O provisionamento deve ser concluído em aproximadamente cinco a dez minutos. Ele estará completo quando a página AWS CloudFormation Stacks mostrar **CREATE\$1COMPLETE**. | Administrador de nuvem, DBA | 
| Configure os endpoints. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de nuvem, DBA | 
| Teste de conectividade. | Depois que os endpoints de origem e destino mostrarem o status como Ativo, teste a conectividade. Escolha **Executar teste** para cada endpoint (origem e destino) para garantir que o status seja exibido como bem-sucedido. | Administrador de nuvem, DBA | 

### Exporte o PeopleSoft esquema do banco de dados Oracle local usando o Oracle Data Pump
<a name="export-the-peoplesoft-schema-from-the-on-premises-oracle-database-by-using-oracle-data-pump"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere o SCN. | Quando o banco de dados de origem estiver ativo e em uso pelo aplicativo, inicie a exportação de dados com o Oracle Data Pump. Primeiro, você deve gerar um número de alteração do sistema (SCN) do banco de dados de origem para manter a consistência de dados durante a exportação com o Oracle Data Pump e como ponto de partida para a captura de dados de alterações no AWS DMS.Para gerar o SCN atual a partir do seu banco de dados de origem, insira a seguinte instrução SQL.<pre>SQL> select name from v$database;<br />SQL> select name from v$database;<br />NAME<br />---------<br />PSFTDMO<br />SQL> SELECT current_scn FROM v$database;<br />CURRENT_SCN<br />-----------<br />23792008</pre>Salve o SCN gerado para usar ao exportar os dados e criar a tarefa de replicação do AWS DMS. | DBA | 
| Crie o arquivo de parâmetro. | Para criar um arquivo de parâmetros para exportar o esquema, você pode usar o código a seguir.<pre>$ cat exp_datapmp.par<br />userid=system/*******<br />directory=DATA_PUMP_DIR<br />logfile=export_dms_sample_user.log<br />dumpfile=export_dms_sample_data_%U.dmp<br />schemas=SYSADM<br />flashback_scn=23792008</pre>Você também pode definir seu próprio `DATA_PUMP_DIR` usando os comandos a seguir, com base em seus requisitos.<pre>SQL> CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/product/19c/dbhome_1/dmsdump/';<br />Directory created.<br />SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;<br />Grant succeeded.<br />SQL><br />SQL> SELECT owner, directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR';<br />OWNER DIRECTORY_NAME DIRECTORY_PATH<br />------------------------------------------------------------------------------------------------------------------<br />SYS DATA_PUMP_DIR /opt/oracle/product/19c/dbhome_1/dmsdump/</pre> | DBA | 
| Exporte o esquema. | Para realizar a exportação, use o utilitário `expdp`.<pre>$ expdp parfile=exp_datapmp.par<br />.......................<br />Transferring the dump file with DBMS_FILE_TRANSFER to Target:<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNK" 6.328 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATDEF_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATITM_LNG" 7.171 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNCNTL" 7.601 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNPARM" 7.210 KB 0 rows<br />. . exported "SYSADM"."PS_YE_AMOUNTS" 9.351 KB 0 rows<br />. . exported "SYSADM"."PS_YE_DATA" 16.58 KB 0 rows<br />. . exported "SYSADM"."PS_YE_EE" 6.75 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_AMOUNTS" 9.414 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_DATA" 20.94 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_AMOUNTS" 10.27 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_DATA" 20.95 KB 0 rows<br />. . exported "SYSADM"."PS_ZBD_JOBCODE_TBL" 14.60 KB 0 rows<br />. . exported "SYSADM"."PTGRANTTBL" 5.468 KB 0 rows<br />Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded<br />**<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:<br />/opt/oracle/product/19c/dbhome_1/dmsdump/export_dms_sample_data_01.dmp<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Dec 19 20:13:57 2022 elapsed 0 00:38:22</pre> | DBA | 

### Importe o PeopleSoft esquema para o banco de dados Amazon RDS for Oracle usando o Oracle Data Pump
<a name="import-the-peoplesoft-schema-into-the-amazon-rds-for-oracle-database-by-using-oracle-data-pump"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Transfira o arquivo de dump para a instância de destino. | Para transferir seus arquivos usando `DBMS_FILE_TRANSFER`, você precisa criar um link de banco de dados do banco de dados de origem para a instância do Amazon RDS para Oracle. Depois que o link for estabelecido, você poderá usar o utilitário para transferir os arquivos do Data Pump diretamente para a instância do RDS.Como alternativa, você pode transferir os arquivos do Data Pump para o [Amazon Simple Storage Service (Amazon S3](https://aws.amazon.com/s3/)) e depois importá-los para a instância do Amazon RDS para Oracle. Para obter mais informações sobre essa opção, consulte a seção Informações adicionais.Para criar um link `ORARDSDB` de banco de dados que se conecte ao usuário mestre do Amazon RDS na instância de banco de dados de destino, execute os comandos a seguir no banco de dados de origem.<pre>$sqlplus / as sysdba<br />$ SQL> create database link orardsdb connect to admin identified by "*****" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testpsft.*******.us-west-2.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br />Database link created.</pre> | DBA | 
| Teste o link do banco de dados. | Teste o link do banco de dados para garantir que você possa se conectar usando o sqlplus ao banco de dados de destino do Amazon RDS para Oracle.<pre>SQL><br />SQL> select name from v$database@orardsdb;<br />NAME<br />---------<br />ORCL<br />SQL></pre> | DBA | 
| Transfira o arquivo dump para o banco de dados de destino. | Para copiar o arquivo dump para o banco de dados do Amazon RDS para Oracle, você pode usar o diretório padrão `DATA_PUMP_DIR` ou criar seu próprio diretório usando o código a seguir.<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => ‘TARGET_PUMP_DIR’);</pre>O script a seguir copia um arquivo dump chamado `export_dms_sample_data_01.dmp` da instância de origem para um banco de dados de destino do Amazon RDS para Oracle usando o link de banco de dados de destino chamado `orardsdb`.<pre>$ sqlplus / as sysdba<br />SQL><br />BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DATA_PUMP_DIR',<br />source_file_name => 'export_dms_sample_data_01.dmp',<br />destination_directory_object => 'TARGET_PUMP_DIR’',<br />destination_file_name => 'export_dms_sample_data_01.dmp',<br />destination_database => 'orardsdb'<br />);<br />END;<br />/<br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Liste o arquivo dump no banco de dados de destino. | Depois que o PL/SQL procedimento for concluído, você poderá listar o arquivo de despejo de dados no banco de dados Amazon RDS for Oracle usando o código a seguir.<pre>SQL> select * from table (rdsadmin.rds_file_util.listdir(p_directory => ‘TARGET_PUMP_DIR’));</pre> | DBA | 
| Inicie a importação no banco de dados de destino. | Antes de iniciar o processo de importação, configure as funções, os esquemas e os espaços de tabela no banco de dados de destino do Amazon RDS para Oracle usando o arquivo de dump de dados.Para realizar a importação, acesse o banco de dados de destino com a conta de usuário principal do Amazon RDS e use o nome da cadeia de conexão no arquivo `tnsnames.ora`, que inclui o Amazon RDS para Oracle Database `tns-entry`. Se necessário, você pode incluir uma opção de remapeamento para importar o arquivo de dump de dados em um espaço de tabela diferente ou com um nome de esquema diferente.Para iniciar a importação, use o código a seguir.<pre>impdp admin@orardsdb directory=TARGET_PUMP_DIR logfile=import.log dumpfile=export_dms_sample_data_01.dmp</pre>Para garantir uma importação bem-sucedida, verifique se há erros no arquivo de log de importação e revise os detalhes, como contagem de objetos, contagem de linhas e objetos inválidos. Se houver algum objeto inválido, recompile-o. Além disso, compare os objetos do banco de dados de origem e de destino para confirmar se eles coincidem. | DBA | 

### Crie uma tarefa de replicação do AWS DMS usando o CDC para realizar a replicação ao vivo
<a name="create-an-aws-dms-replication-task-using-cdc-to-perform-live-replication"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a tarefa de replicação. | Crie a tarefa de replicação do AWS DMS usando as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Depois de criar a tarefa, ela migra o CDC para a instância do banco de dados do Amazon RDS para Oracle a partir do SCN que você forneceu no modo de início do CDC. Você também pode verificar revisando os CloudWatch registros. | Administrador de nuvem, DBA | 

### Valide o esquema de banco de dados no banco de dados de destino do Amazon RDS para Oracle
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar a transferência de dados. | Após o início da tarefa do AWS DMS, você pode verificar a guia **Estatísticas da tabela** na página **Tarefas** para ver as alterações feitas nos dados.Você pode monitorar o status da replicação contínua no console na página **Tarefas de migração do banco de dados**.Para obter mais informações, consulte [Validação de dados do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Administrador de nuvem, DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerrar a replicação. | Interrompa o procedimento de replicação e interrompa os serviços do aplicativo de origem. | Administrador de nuvem, DBA | 
| Inicie o nível PeopleSoft intermediário. | Inicie o aplicativo de nível PeopleSoft intermediário de destino na AWS e direcione-o para o banco de dados Amazon RDS for Oracle, recentemente migrado.Ao acessar o aplicativo, você deve observar que todas as conexões do aplicativo agora estão estabelecidas com o banco de dados do Amazon RDS para Oracle. | DBA, administrador PeopleSoft  | 
| Desative o banco de dados de origem. | Depois de confirmar que não há mais conexões com o banco de dados de origem, ele pode ser desativado. | DBA | 

## Recursos relacionados
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-resources"></a>
+ [Introdução ao AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Práticas recomendadas para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migrar bancos de dados Oracle para a Nuvem AWS ](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Mais informações
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-additional"></a>

**Transferir arquivos usando o Amazon S3**

Para transferir os arquivos para o Amazon S3, você pode usar a AWS CLI ou o console do Amazon S3. Depois de transferir os arquivos para o Amazon S3, você pode usar a instância Amazon RDS para Oracle para importar os arquivos do Data Pump do Amazon S3.

Se você optar por transferir o arquivo de dump usando a integração com o Amazon S3 como um método alternativo, execute as seguintes etapas:

1. Criar um bucket do S3.

1. Exporte os dados do banco de dados de origem usando o Oracle Data Pump.

1. Faça upload dos arquivos do Data Pump para o bucket S3.

1. Faça download dos arquivos do Data Pump do bucket do S3 no banco de dados de destino do Amazon RDS para Oracle.

1. Execute a importação usando os arquivos do Data Pump.

**nota**  
Para transferir grandes arquivos de dados entre instâncias do S3 e do RDS, é recomendável usar o atributo Amazon S3 Transfer Acceleration.

**Ativar o registro suplementar**

Se você receber uma mensagem de aviso para ativar o [registro suplementar em log](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) no banco de dados de origem para replicação contínua, use as etapas a seguir.

```
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
```

# Migrar um banco de dados MySQL on-premises para o Amazon RDS para MySQL
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql"></a>

*Lorenzo Mota, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-summary"></a>

Esse padrão fornece orientação para migrar um banco de dados MySQL on-premises para o Amazon Relational Database Service (Amazon RDS) para o MySQL. O padrão discute o uso de AWS Database Migration Service (AWS DMS) ou ferramentas nativas do MySQL, **como** mysqldump, para uma migração completa do banco de dados. Esse padrão é principalmente para DBAs arquitetos de soluções. Ele pode ser usado em projetos pequenos ou grandes como procedimento de teste (recomendamos pelo menos um ciclo de teste) ou como procedimento final de migração. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-prereqs"></a>

**Pré-requisitos **
+ Uma AWS conta ativa
+ Um banco de dados de origem do MySQL em um datacenter on-premises

**Limitações**
+ Limite de tamanho do banco de dados: [64 TB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Versões do produto**
+ MySQL, versões 5.5, 5.6, 5.7, 8.0 Para obter a lista mais recente de versões compatíveis, consulte [MySQL no Amazon RDS na documentação](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html). AWS Se você estiver usando AWS DMS, consulte também [Usando um banco de dados compatível com MySQL como destino para](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) as versões do AWS DMS MySQL atualmente suportadas pelo. AWS DMS

## Arquitetura
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados MySQL on-premises

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados do Amazon RDS executando o MySQL.

**Arquitetura de destino**

O diagrama a seguir mostra o destino da implementação do Amazon RDS para MySQL após a migração.

![\[Definição de destino para a implementação do Amazon RDS para MySQL após a substituição.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/2e10114e-e389-4d24-9b6a-fa56beee5369.png)


**AWS arquitetura de migração de dados**

**Usando AWS DMS:**

O diagrama a seguir mostra a arquitetura de migração de dados quando você usa AWS DMS para enviar alterações completas e incrementais até a transição. A conexão de rede do local até o local AWS depende de seus requisitos e está fora do escopo desse padrão.

![\[Arquitetura de migração de dados para a AWS ao usar o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/ecc9b282-1897-4971-99ed-83223b17000d.png)


**Usando ferramentas nativas do MySQL:**

O diagrama a seguir mostra a arquitetura de migração de dados quando você usa ferramentas nativas do MySQL. Os arquivos de despejo de exportação são copiados para o Amazon Simple Storage Service (Amazon S3) e importados para o banco de dados Amazon RDS for MySQL antes da transição. AWS A conexão de rede do local até o local AWS depende de seus requisitos e está fora do escopo desse padrão.

 

![\[Arquitetura de migração de dados para a AWS ao usar ferramentas nativas do MySQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/3bbec989-c3eb-473e-ba4a-032d6a4271c5.png)


**Observações:**
+ Dependendo dos requisitos de tempo de inatividade e do tamanho do banco de dados, o uso AWS DMS ou de uma ferramenta de captura de dados de alteração (CDC) minimiza o tempo de transição. AWS DMS pode ajudar a reduzir ao mínimo o tempo de transição para o novo alvo (normalmente minutos). Uma estratégia offline com **mysqldump** pode ser suficiente se o tamanho do banco de dados e a latência da rede permitirem uma janela curta. (Recomendamos testar para obter um tempo aproximado.)
+ Normalmente, uma estratégia de CDC, como essa, AWS DMS exige mais monitoramento e complexidade do que as opções off-line. 

## Ferramentas
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-tools"></a>
+ **Serviços da AWS**: [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para Nuvem AWS ou entre combinações de configurações na nuvem e no local. Para obter informações sobre bancos de dados de origem e destino do MySQL compatíveis com AWS DMS, consulte [Migração de bancos de dados compatíveis com MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) para. AWS Se seu banco de dados de origem não for compatível com AWS DMS, você deverá escolher outro método para migrar seus dados.
+ **Ferramentas nativas do MySQL**: [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)
+ **Ferramentas de terceiros**: [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup)

## Épicos
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar versões do banco de dados. | Valide as versões dos bancos de dados de origem e de destino. | DBA | 
| Identifique os requisitos de hardware. | Identifique os requisitos de hardware para o servidor de destino. | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento. | Identifique os requisitos de armazenamento (como tipo e capacidade de armazenamento) para o banco de dados de destino. | DBA, administrador de sistemas | 
| Altere o tipo de instância. | Selecione o tipo de instância de destino com base na capacidade, nos atributos de armazenamento e nos atributos de rede. | DBA, administrador de sistemas | 
| Identifique os requisitos de acesso à rede. | Identifique os requisitos de segurança para acesso à rede para os bancos de dados de origem e de destino.  | DBA, administrador de sistemas | 
| Identifique objetos sem suporte. | Identifique objetos sem suporte (se houver) e determine o esforço de migração. | DBA | 
| Identificar dependências. | Identifique todas as dependências em bancos de dados remotos. | DBA | 
| Determine a estratégia de migração do aplicativo.  | Determine a estratégia para migrar aplicativos de clientes.  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). | Configure tabelas de rotas, gateway da internet, gateways NAT e sub-redes. Para obter mais informações, consulte [VPCs Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) na documentação do Amazon RDS. | Administrador de sistemas | 
| Criar grupos de segurança. | Configure portas e intervalos CIDR ou específicos, IPs dependendo de seus requisitos. A porta padrão do MySQL é 3306. Para obter mais informações, consulte [Controlar o acesso com grupos de segurança](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html) no Guia do usuário do Amazon RDS. | Administrador de sistemas | 
| Configure e inicie uma instância de banco de dados do Amazon RDS para MySQL. | Para obter instruções, consulte [Criação de uma instância de banco de dados Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateInstance.html) na documentação do Amazon RDS. Verifique as versões compatíveis. | Administrador de sistemas | 

### Migração de dados: opção 1 (usando ferramentas nativas)
<a name="migrate-data-option-1-using-native-tools"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas do MySQL ou terceirizadas para migrar objetos e dados do banco de dados. | Para obter instruções, consulte a documentação das ferramentas do MySQL, como [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) e [ XtraBackupPercona](https://www.percona.com/software/mysql-database/percona-xtrabackup) (para migração física). Para obter mais informações sobre opções, consulte a postagem do blog [Opções de migração do MySQL para o Amazon RDS para MySQL ou Amazon Aurora MySQL](https://aws.amazon.com/blogs/database/migration-options-for-mysql-to-amazon-rds-for-mysql-or-amazon-aurora-mysql/). | DBA | 

### Migrar dados ‒ opção 2 (usando AWS DMS)
<a name="migrate-data-option-2-using-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre dados com AWS DMS. | Para obter instruções, consulte a [documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). | DBA | 

### Execute tarefas preliminares antes da substituição
<a name="perform-preliminary-tasks-before-cutover"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Corrija discrepâncias na contagem de objetos. | Colete contagens de objetos do banco de dados de origem e do novo banco de dados de destino. Corrija discrepâncias no banco de dados de destino. | DBA | 
| Verifique dependências. | Verifique se as dependências (links) de e para outros bancos de dados são válidas e funcionam conforme o esperado. | DBA | 
| Realize testes. | Se esse for um ciclo de testes, realize testes de consulta, colete métricas e corrija problemas. | DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mudar para o banco de dados de destino. | Mude os aplicativos do cliente para a nova infraestrutura. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Forneça suporte para testes. | Forneça suporte para testes funcionais de aplicativos.  | DBA | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desligar recursos. | Encerre os AWS recursos temporários que você criou para a migração.  | DBA, administrador de sistemas | 
| Valide os documentos do projeto.  | Revise e valide os documentos do projeto.  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Colete métricas. | Reúna métricas como tempo de migração, porcentagem de tarefas manuais versus esforço automatizado e economia de custos. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Encerre o projeto.  | Feche o projeto e forneça feedback.  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Descomissionar o banco de dados de origem. | Quando todas as tarefas de migração e substituição estiverem concluídas, desative o banco de dados on-premises. | DBA, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-resources"></a>

**Referências**
+ [Estratégia de migração para bancos de dados relacionais](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/welcome.html)
+ [AWS DMS site](https://aws.amazon.com/dms/)
+ [AWS DMS documentação](https://docs.aws.amazon.com/dms/)
+ [Documentação do Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Amazon VPC e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Migre bancos de dados MySQL locais para o Aurora MySQL usando XtraBackup Percona, Amazon EFS e Amazon S3](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.html)
+ [Armazenamento de instâncias de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Tutoriais**
+ [Começando com AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server"></a>

*Henrique Lobão, Jonathan Pereira Cruz e Vishal Singh, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-summary"></a>

Esse padrão fornece orientação para migrar de um banco de dados Microsoft SQL Server on-premises para o Amazon Relational Database Service (Amazon RDS) para SQL Server . Ele descreve duas opções de migração: usar o AWS Data Migration Service (AWS DMS) ou usar ferramentas nativas do Microsoft SQL Server, como o Copy Database Wizard.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Microsoft SQL Server de origem em um datacenter on-premises

**Limitações**
+ Limite de tamanho do banco de dados: 16 TB

**Versões do produto**
+ Para obter a lista mais recente de versões e atributos compatíveis, consulte [Microsoft SQL Server no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) na documentação da AWS. Se você estiver usando o AWS DMS, consulte também [Como usar um banco de dados Microsoft SQL Server como destino para as versões do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html) para versões SQL Server compatíveis com AWS DMS. 

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Microsoft SQL Server on-premises

**Pilha de tecnologias de destino**
+ Uma instância de banco de dados do Amazon RDS para SQL Server 

**Arquitetura de origem e destino**

*Usando o AWS DMS:*

![\[Arquitetura para migração do SQL Server on-premises para o Amazon RDS usando o AWS DMS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/69b9877c-2d56-4d64-8475-a3dae789c5de.png)


*Usando ferramentas nativas do SQL Server:*

![\[Arquitetura para migração do SQL Server on-premises para o Amazon RDS usando ferramentas do SQL Server\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/45ee14e4-3c7e-4b35-a2c9-3e8e3c7e6cee.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-tools"></a>
+ O [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) é compatível com vários bancos de dados de origem e destino. Para obter detalhes, consulte [as instruções passo a Step-by-Step passo do AWS DMS](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html). Se o AWS DMS não for compatível com o banco de dados de origem, selecione outro método para migrar os dados. 
+ As ferramentas nativas do Microsoft SQL Server incluem backup e restauração, assistente de cópia de banco de dados, cópia e anexação de banco de dados.

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a versão e o mecanismo dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, administrador de sistemas | 
| Escolha o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. |  | DBA, administrador de sistemas | 
| Identifique a estratégia de migração de aplicativos. |  | DBA, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). |  | Administrador de sistemas | 
| Criar grupos de segurança. |  | Administrador de sistemas | 
| Configurar e inicie uma instância de banco de dados do Amazon RDS. |  | DBA, administrador de sistemas | 

### Migrar dados - opção 1
<a name="migrate-data---option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas do SQL Server ou ferramentas de terceiros para migrar dados e objetos de banco de dados. |  | DBA | 

### Migrar dados - opção 2
<a name="migrate-data---option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre dados com o AWS DMS. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, administrador de sistemas | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Reúna métricas como tempo para migrar, porcentagem de tarefas manuais versus automatizadas e economia de custos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Feche o projeto e forneça feedback. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-resources"></a>

**Referências**
+ [Implantação do Microsoft SQL Server na Amazon web Services](https://d1.awsstatic.com/whitepapers/RDS/Deploying_SQLServer_on_AWS.pdf) 
+ [Site do AWS DMS](https://aws.amazon.com/dms/)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Produtos da Microsoft na AWS](https://aws.amazon.com/windows/products/)
+ [Licenciamento da Microsoft na AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server na AWS](https://aws.amazon.com/windows/products/sql/)
+ [Uso da autenticação do Windows com uma instância de banco de dados do Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)

**Tutoriais e vídeos**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (vídeo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vídeo)](https://www.youtube.com/watch?v=igRfulrrYCo)  

# Migre dados do Microsoft Azure Blob para o Amazon S3 usando o Rclone
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone"></a>

*Suhas Basavaraj, Aidan Keane e Corey Lane, Amazon Web Services*

## Resumo
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-summary"></a>

Esse padrão descreve como usar o [Rclone](https://rclone.org/) para migrar dados do armazenamento de objetos do Microsoft Azure Blob para um bucket do Amazon Simple Storage Service (Amazon S3). Você pode usar esse padrão para realizar uma migração única ou uma sincronização contínua dos dados. O Rclone é um programa de linha de comando escrito em Go e é usado para mover dados em várias tecnologias de armazenamento de provedores de nuvem.

## Pré-requisitos e limitações
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Dados armazenados no serviço de contêiner Azure Blob

## Arquitetura
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-architecture"></a>

**Pilha de tecnologia de origem**
+ Contêiner de armazenamento Azure Blob

**Pilha de tecnologias de destino**
+ Bucket do Amazon S3.
+ Instância Linux da Amazon Elastic Compute Cloud (Amazon EC2)

**Arquitetura**

![\[Migração de dados do Microsoft Azure para o Amazon S3\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)


## Ferramentas
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-tools"></a>
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [O Rclone é um](https://rclone.org/) **programa de linha de comando de código aberto inspirado no rsync.** Ele é usado para gerenciar arquivos em várias plataformas de armazenamento em nuvem.

## Práticas recomendadas
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-best-practices"></a>

Ao migrar dados do Azure para o Amazon S3, lembre-se dessas considerações para evitar custos desnecessários ou velocidades de transferência lentas:
+ Crie sua infraestrutura da AWS na mesma região geográfica da conta de armazenamento do Azure e do contêiner Blob — por exemplo, região da AWS `us-east-1` (Norte da Virgínia) e região do Azure. `East US`
+ Evite usar o NAT Gateway, se possível, pois ele acumula taxas de transferência de dados para a largura de banda de entrada e saída.
+ Use um [endpoint de gateway VPC para o Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) para aumentar o desempenho.
+ Considere usar uma EC2 instância baseada no processador AWS Graviton2 (ARM) para obter menor custo e maior desempenho em relação às instâncias Intel x86. O Rclone é altamente compilado de forma cruzada e fornece um binário ARM pré-compilado.

## Épicos
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-epics"></a>

### Prepare os recursos de nuvem da AWS e do Azure
<a name="prepare-aws-and-azure-cloud-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare um bucket do S3 de destino. | [Crie um novo bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) na região da AWS apropriada ou escolha um bucket existente como destino para os dados que você deseja migrar. | Administrador da AWS | 
| Crie uma função de instância do IAM para a Amazon EC2. | [Crie uma nova função do AWS Identity and Access Management (IAM) para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#working-with-iam-roles). Essa função dá à sua EC2 instância acesso de gravação ao bucket do S3 de destino. | Administrador da AWS | 
| Anexar uma política do IAM à instância | Use o console do IAM ou a AWS Command Line Interface (AWS CLI) para criar uma política embutida para a função EC2 da instância que permite permissões de acesso de gravação ao bucket S3 de destino. Para ver um exemplo de política, consulte a seção [Informações adicionais](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). | Administrador da AWS | 
| Execute uma EC2 instância. | Execute uma EC2 instância Amazon Linux que esteja configurada para usar a função de serviço IAM recém-criada. Essa instância também precisará acessar os endpoints públicos da API do Azure pela Internet. Considere usar [ EC2 instâncias do AWS baseadas em Graviton](https://docs.aws.amazon.com/compute-optimizer/latest/ug/graviton-recommendations.html) para reduzir custos. O Rclone fornece binários compilados em ARM. | Administrador da AWS | 
| Crie uma entidade principal de serviço do Azure AD. | Use a CLI do Azure para criar uma entidade principal de serviço do Azure Active Directory (Azure AD) que tenha acesso somente de leitura ao contêiner de armazenamento de Blob do Azure de origem. Para obter instruções, consulte a seção [Informações adicionais](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). Armazene essas credenciais na sua EC2 instância no local`~/azure-principal.json`. | Administrador de nuvem, Azure | 

### Instalar e configurar o Rclone
<a name="install-and-configure-rclone"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça download e instale o Rclone.  | Baixe e instale o programa de linha de comando Rclone. Para obter instruções de instalação, consulte [Documentação da instalação do Rclone](https://rclone.org/install/). | AWS geral, Administrador de nuvem | 
| Configure o Rclone. | Copie o arquivo `rclone.conf` de amostra a seguir. `AZStorageAccount`Substitua pelo nome da sua conta do Azure Storage e `us-east-1` pela região da AWS onde seu bucket do S3 está localizado. Salve esse arquivo `~/.config/rclone/rclone.conf` no local da sua EC2 instância.<pre>[AZStorageAccount]<br />type = azureblob<br />account = AZStorageAccount<br />service_principal_file = azure-principal.json<br /><br />[s3]<br />type = s3<br />provider = AWS<br />env_auth = true<br />region = us-east-1</pre> | AWS geral, Administrador de nuvem | 
| Verifique a configuração do Rclone. | Para confirmar se o Rclone está configurado e se as permissões estão funcionando corretamente, verifique se o Rclone pode analisar seu arquivo de configuração e se os objetos dentro do contêiner do Azure Blob e do bucket do S3 estão acessíveis. Veja a seguir exemplos de comandos de validação.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.html) | AWS geral, Administrador de nuvem | 

### Migre dados usando o Rclone
<a name="migrate-data-using-rclone"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre dados de seus contêineres. | Execute o comando Rclone [copiar](https://rclone.org/commands/rclone_copy/) ou [sincronizar](https://rclone.org/commands/rclone_sync/).  **Exemplo: cópia**Esse comando copia dados do contêiner Azure Blob de origem para o bucket S3 de destino.<pre>rclone copy AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>**Exemplo: sincronização**Esse comando sincroniza dados entre o contêiner Azure Blob de origem e o bucket S3 de destino. ****<pre>rclone sync AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>Ao usar o comando **sync**, os dados que não estiverem presentes no contêiner de origem serão excluídos do bucket do S3 de destino. | AWS geral, Administrador de nuvem | 
| Sincronize seus contêineres.  | Depois que a cópia inicial estiver concluída, execute o comando Rclone **sync** para a migração contínua, de forma que somente os novos arquivos que estão faltando no bucket S3 de destino sejam copiados. | AWS geral, Administrador de nuvem | 
| Verifique se os dados foram migrados com sucesso.  | [Para verificar se os dados foram copiados com êxito para o bucket S3 de destino, execute os comandos Rclone [lsd](https://rclone.org/commands/rclone_lsd/) e ls.](https://rclone.org/commands/rclone_ls/) | AWS geral, Administrador de nuvem | 

## Recursos relacionados
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-resources"></a>
+ [Guia do usuário do Amazon S3 (documentação](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) da AWS)
+ [Funções do IAM para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) (documentação da AWS)
+ [Criação de um contêiner do Microsoft Azure Blob](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal) (documentação do Microsoft Azure)
+ [Comandos Rclone (documentação](https://rclone.org/commands/) do Rclone)

## Mais informações
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional"></a>

**Exemplo de política de função para EC2 instâncias**

Essa política dá à sua EC2 instância acesso de leitura e gravação a um bucket específico em sua conta. Se o bucket usa uma chave gerenciada pelo cliente para a criptografia no lado do servidor, a política pode precisar de acesso adicional ao AWS Key Management Service (AWS KMS).

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        }    
    ]
}
```

**Criando uma entidade principal de serviço do Azure AD somente para leitura**

Uma entidade principal de serviço do Azure é uma identidade de segurança usada por aplicativos, serviços e ferramentas de automação do cliente para acessar recursos específicos do Azure. Pense nisso como uma identidade de usuário (login e senha ou certificado) com uma função específica e permissões rigorosamente controladas para acessar seus recursos. Para criar uma entidade principal de serviço somente de leitura para seguir as permissões de privilégio mínimo e proteger os dados no Azure contra exclusões acidentais, siga estas etapas: 

1. Faça login no portal da sua conta na nuvem do Microsoft Azure e inicie o Cloud Shell PowerShell ou use a Interface de Linha de Comando (CLI) do Azure em sua estação de trabalho.

1. Crie uma entidade principal de serviço e configure-o com acesso [somente de leitura](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader) à sua conta de armazenamento de Blobs do Azure. Salve a saída JSON desse comando em um arquivo local chamado`azure-principal.json`. O arquivo será enviado para sua EC2 instância. Substitua as variáveis de espaço reservado que são mostradas entre colchetes (`{`e`}`) por sua ID de assinatura do Azure, nome do grupo de recursos e nome da conta de armazenamento.

   ```
   az ad sp create-for-rbac `
   --name AWS-Rclone-Reader `
   --role "Storage Blob Data Reader" `
   --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}
   ```

# Migre do Couchbase Server para o Couchbase Capella na AWS
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws"></a>

*Battulga Purevragchaa e Saurabh Shanbhag, Amazon Web Services*

*Mark Gamble, Nenhum*

## Resumo
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-summary"></a>

O Couchbase Capella é um banco de dados NoSQL totalmente gerenciado como serviço (DBaaS) para aplicativos de missão crítica (por exemplo, perfis de usuário ou catálogos on-line e gerenciamento de inventário). O Couchbase Capella gerencia sua carga de trabalho DBaa S em uma conta da Amazon Web Services (AWS) gerenciada pelo Couchbase. O Capella facilita a execução e o gerenciamento da replicação de vários clusters, várias regiões da AWS, multicloud e nuvem híbrida em uma única interface.

O Couchbase Capella ajuda você a escalar instantaneamente seus aplicativos do Couchbase Server, ajudando você a criar clusters de vários nós em minutos. O Couchbase Capella oferece suporte a todos os recursos do Couchbase Server, incluindo [SQL\$1\$1](https://www.couchbase.com/products/n1ql), [Full Text Search](https://www.couchbase.com/products/full-text-search), [Eventing Service](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) e [Analytics Service](https://www.couchbase.com/products/analytics). Também elimina a necessidade de gerenciar instalações, atualizações, backups e manutenção geral do banco de dados. 

Esse padrão descreve as etapas e as melhores práticas para migrar um ambiente autogerenciado do [Couchbase Server](https://www.couchbase.com/products/server) para a Nuvem AWS. O padrão fornece um processo repetível para migrar dados e índices dos clusters do Couchbase Server, executados on-premises ou na nuvem, para o Couchbase Capella. O uso dessas etapas ajuda a evitar problemas durante a migração e acelera o processo geral de migração.

Esse padrão fornece as duas opções de migração a seguir:
+ **A opção 1** é apropriada se você tiver menos de 50 índices para migrar. 
+ **A opção 2** é apropriada se você tiver mais de 50 índices para migrar. 

Você também pode [configurar dados de amostra](https://docs.couchbase.com/server/current/manage/manage-settings/install-sample-buckets.html) em seu Couchbase Server autogerenciado para acompanhar o guia de migração.

Se você escolher a **opção de migração 2** ou se estiver usando escopos ou coleções diferentes do valor padrão, deverá usar o arquivo de configuração de exemplo, que está na seção *Informações adicionais*.

## Pré-requisitos e limitações
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-prereqs"></a>

**Pré-requisitos **
+ Uma conta paga existente do Couchbase Capella. Você também pode criar uma [conta do Couchbase Capella na AWS](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) e usar o teste gratuito do Couchbase Capella e, em seguida, fazer o upgrade para uma conta paga para configurar seu cluster para a migração. Para começar com a versão de teste, siga as instruções em [Introdução ao Couchbase Capella](https://docs.couchbase.com/cloud/get-started/create-account.html).
+ Um ambiente existente do Couchbase Server autogerenciado on-premises ou implantado em um provedor de serviços em nuvem. 
+ Para a opção de migração 2, Couchbase Shell e um arquivo de configuração. Para criar o arquivo de configuração, você pode usar o arquivo de exemplo que está na seção *Informações adicionais*.
+ Familiaridade com a administração do Couchbase Server e do Couchbase Capella.
+ Familiaridade com abrir portas TCP e executar comandos em uma interface de linha de comando (CLI).

O processo de migração também exige as funções e a experiência descritas na tabela a seguir.


| 
| 
| Perfil | Experiência | Responsabilidades | 
| --- |--- |--- |
| Administrador do Couchbase | Familiaridade com o Couchbase Server e o Couchbase CapellaO conhecimento básico da linha de comando é útil, mas não obrigatório | Tarefas específicas do Couchbase Server e do Capella | 
| Administrador de sistemas, administrador de TI | Familiaridade com o ambiente e a administração autogerenciados do sistema Couchbase Server | Abrindo portas e determinando endereços IP em nós de cluster autogerenciados do Couchbase Server | 

 

**Limitações**
+ Esse padrão é usado para migrar dados, índices e índices [Couchbase Full Text Search](https://docs.couchbase.com/server/current/fts/full-text-intro.html) do Couchbase Server para o Couchbase Capella na AWS. O padrão não se aplica à migração do [Couchbase Eventing Service](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) ou ao [Couchbase Analytics.](https://docs.couchbase.com/server/current/analytics/introduction.html)
+ O Couchbase Capella está disponível em várias regiões da AWS. Para up-to-date obter informações sobre as regiões às quais a Capella oferece suporte, consulte [Amazon Web Services na documentação](https://docs.couchbase.com/cloud/reference/aws.html) do Couchbase.

**Versões do produto**
+ [Couchbase Server (Community ou Enterprise) Edition versão 5.x ou superior](https://docs.couchbase.com/server/current/release-notes/relnotes.html)

## Arquitetura
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-architecture"></a>

**Pilha de tecnologia de origem**
+ Couchbase Server

**Pilha de tecnologias de destino**
+ Couchbase Capella

**Arquitetura de destino**

![\[Migração do Couchbase Capella para o cluster do Couchbase no plano de dados Capella na AWS em quatro etapas.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/14ac5a81-eade-4708-9335-f5602fa07824/images/95cd7f33-742e-4d10-8e2c-37c7b4d9df45.png)


1. Você acessa o Couchbase Capella usando o ambiente de gerenciamento **Capella**. É possível usar o ambiente de gerenciamento Capella para fazer o seguinte:
   + Controlar e monitorar sua conta.
   + Gerenciar clusters e dados, índices, usuários e grupos, permissões de acesso, monitoramento e eventos.

1. Clusters são criados.

1. O **plano de dados Capella** está na conta da AWS gerenciada pela Couchbase. Depois de criar um novo cluster, o Couchbase Capella o implanta em várias zonas de disponibilidade na região da AWS selecionada.

1. Você pode desenvolver e implantar aplicativos Couchbase em uma VPC na sua conta da AWS. Normalmente, essa VPC acessa o plano de dados Capella por meio do [emparelhamento de VPC.](https://docs.couchbase.com/cloud/clouds/private-network.html)

## Ferramentas
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-tools"></a>
+ O [Couchbase Cross Data Center Replication (XDCR)](https://docs.couchbase.com/cloud/current/clusters/xdcr/xdcr.html) ajuda a replicar dados em clusters localizados em diferentes provedores de nuvem e datacenters. Ele é usado para migrar dados para o Couchbase Capella a partir de clusters autogerenciados do Couchbase Server.
**nota**  
O XDCR não pode ser usado com o Couchbase Server Community Edition para migrar para o Couchbase Capella. Em vez disso, você pode usar o [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html). Para obter mais informações, consulte o épico *migrar dados da Community Edition*.
+ O [Couchbase Shell](https://couchbase.sh/docs/) é um shell de linha de comando para o Couchbase Server e o Couchbase Capella acessarem clusters locais e remotos do Couchbase. Nesse padrão, o Couchbase Shell é usado para migrar índices.
+ [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html) é um utilitário do Couchbase para exportar dados do cluster do Couchbase. Incluído nas ferramentas da [CLI do Couchbase Server](https://docs.couchbase.com/server/current/cli/cli-intro.html).

## Épicos
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-epics"></a>

### Preparar-se para a migração
<a name="prepare-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Avalie o tamanho do cluster autogerenciado do Couchbase Server. | Faça login no [Couchbase Web Console](https://docs.couchbase.com/server/current/manage/manage-ui/manage-ui.html) para Couchbase Server e avalie os nós e buckets do seu cluster autogerenciado. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Você usará suas configurações de cluster autogerenciadas do Couchbase Server como um guia geral para dimensionar e configurar o cluster de destino no Couchbase Capella.Para obter ajuda com um exercício mais detalhado de dimensionamento do Couchbase Capella, entre em [contato com o Couchbase](https://www.couchbase.com/contact). | Administrador do Couchbase | 
| Registre a distribuição do Couchbase Service no cluster autogerenciado do Couchbase Server.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 
| Registre os endereços IP dos nós do cluster autogerenciado do Couchbase Server. | (Ignore essa etapa se você estiver usando o Community Edition.) Registre o endereço IP de cada nó em seu cluster. Eles serão adicionados à lista de permissões em seu cluster Couchbase Capella posteriormente. | Administrador do Couchbase, administrador de sistemas | 

### Implemente e configure recursos no Couchbase Capella
<a name="deploy-and-configure-resources-on-couchbase-capella"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Escolher um modelo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 
| Escolha e configure os nós. | Escolha e configure os nós para corresponder ao seu ambiente de cluster autogerenciado do Couchbase Server, incluindo o número de nós, distribuição de serviços, computação ou RAM e armazenamento.O Couchbase Capella usa as melhores práticas de [escalabilidade multidimensional](https://docs.couchbase.com/cloud/clusters/scale-cluster.html#scale-a-cluster). Serviços e nós só podem ser escolhidos de acordo com as melhores práticas de implantação. Isso pode significar que você não pode corresponder exatamente às configurações do cluster autogerenciado do Couchbase Server. | Administrador do Couchbase | 
| Implantar o cluster | Escolha uma zona de suporte e um pacote de suporte e, em seguida, implante o cluster. Para obter instruções e etapas detalhadas, consulte [Criar um cluster](https://docs.couchbase.com/cloud/clusters/create-cluster.html) na documentação do Couchbase.Se você estiver usando o teste gratuito do Couchbase Capella, deverá convertê-lo em uma conta paga antes de iniciar sua migração. Para converter sua conta, abra a seção **Faturamento** do ambiente de gerenciamento do Couchbase Capella e escolha **Adicionar ID de ativação.** [A ID de ativação é enviada para seu endereço de e-mail de contato de cobrança após você concluir um contrato de compra com a Couchbase Sales ou depois de fazer uma compra por meio do AWS Marketplace.](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) | Administrador do Couchbase | 
| Crie um usuário com credencial de banco de dados.  | Um usuário de credencial de banco de dados é específico de um cluster e consiste em um nome de usuário, senha e um conjunto de privilégios de bucket. Esse usuário é necessário para criar buckets e acessar os dados do bucket. No ambiente de gerenciamento do Couchbase Capella, crie uma credencial de banco de dados para o novo cluster seguindo as instruções em [Configurar credenciais de banco de dados](https://docs.couchbase.com/cloud/clusters/manage-database-users.html) na documentação do Couchbase Capella.Um usuário da organização precisa de credenciais de função organizacional atribuídas a ele se quiser acessar dados do bucket em um cluster específico, remotamente ou por meio da interface do Couchbase Capella. Isso é separado das credenciais do banco de dados, que normalmente são usadas por aplicativos e integrações. A criação do usuário organizacional permite que você crie e gerencie os buckets de destino em seu cluster Couchbase Capella. | Administrador do Couchbase | 
| Se estiver usando a opção de migração 2, instale o Couchbase Shell. | Você pode instalar o Couchbase Shell em qualquer sistema que tenha acesso de rede ao seu Couchbase Server autogerenciado e aos clusters Couchbase Capella. Para obter mais informações, consulte [Instalar o Couchbase Shell versão 1.0.0-beta.5](https://couchbase.sh/docs/#_installation) na documentação do Couchbase Shell.Confirme se o Couchbase Shell está instalado [testando uma conexão com seu cluster autogerenciado](https://couchbase.sh/docs/#_connecting_to_a_cluster) em um terminal de linha de comando. | Administrador do Couchbase, administrador de sistemas | 
| Permitir endereços IP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Para obter mais informações sobre endereços IP permitidos, consulte [Configurar endereços IP permitidos](https://docs.couchbase.com/cloud/get-started/configure-cluster-access.html#allow-ip-address) na documentação do Couchbase. | Administrador do Couchbase, administrador de sistemas | 
| Configurar certificados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase, administrador de sistemas | 
| Criar o arquivo de configuração do Couchbase Shell. | Crie um dotfile de configuração no diretório inicial da instalação do Couchbase Shell (por exemplo, `/<HOME_DIRECTORY>/.cbsh/config`). Para obter mais informações, consulte [Configurar dotfiles](https://couchbase.sh/docs/#_the_config_dotfiles) na documentação do Couchbase.Adicione propriedades de conexão dos clusters de origem e de destino ao arquivo de configuração. Você pode usar o arquivo de configuração de exemplo que está na seção *Informações adicionais* e editar as configurações dos seus clusters. Salve o arquivo de configuração com as configurações atualizadas na pasta `.cbsh` (por exemplo, `/<HOME_DIRECTORY>/.cbsh/config`). | Administrador do Couchbase, administrador de sistemas | 
| Crie buckets de destino. | Para cada bucket de origem, crie um bucket de destino em seu cluster Couchbase Capella seguindo as instruções em [Criar um bucket](https://docs.couchbase.com/cloud/clusters/data-service/manage-buckets.html#add-bucket) na documentação do Couchbase.As configurações do bucket de destino devem corresponder aos nomes dos buckets, às configurações de memória e às configurações de resolução de conflitos dos buckets em seu cluster autogerenciado do Couchbase Server. | Administrador do Couchbase | 
| Crie escopos e coleções. | Cada bucket contém um escopo e uma coleção padrão com o espaço-chave `_default._default`. Se você estiver usando qualquer outro espaço-chave para seu escopo e coleção, deverá criar espaços-chave idênticos no cluster Capella de destino.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)<pre>scopes --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope | where scope != "_default" | each { |it| scopes create $it.scope --clusters "Capella-Cluster" }<br />collections --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope collection | where $it.scope != "_default" | where $it.collection != "_default" | each { |it| collections create $it.collection --clusters "Capella-Cluster" --bucket <BUCKET_NAME> --scope $it.scope }</pre> | Administrador do Couchbase | 

### Migre os dados da Enterprise Edition
<a name="migrate-the-data-from-enterprise-edition"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Abra portas TCP nos nós de cluster autogerenciados do Couchbase Server. | Garanta que as portas apropriadas estejam abertas para comunicação XDCR nos nós do cluster autogerenciado do Couchbase Server. Para obter mais informações, consulte a [documentação de portas do Couchbase Server](https://docs.couchbase.com/server/current/install/install-ports.html#ports-listed-by-communication-path). | Administrador do Couchbase, administrador de sistemas | 
| Se você estiver usando o Couchbase Server Enterprise Edition, configure o Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 
| Inicie o Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 

### Migre os índices usando a opção 1
<a name="migrate-the-indexes-by-using-option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre índices de cluster autogerenciados para o Couchbase Capella. | Nós recomendamos esse processo se você tiver menos de 50 índices para migrar. Se você tiver mais de 50 índices para migrar, recomendamos usar a opção de migração 2.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase, administrador de sistemas | 

### Migre os índices usando a opção 2
<a name="migrate-the-indexes-by-using-option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre as definições do índice.  | Nós recomendamos esse processo se você tiver mais de 50 índices para migrar. Se você tiver menos de 50 índices para migrar, recomendamos usar a opção de migração 1.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase, administrador de sistemas | 
| Crie as definições do índice.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase, administrador de sistemas | 

### Migre índices de pesquisa de texto completo
<a name="migrate-full-text-search-indexes"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre os índices de pesquisa de texto completo do cluster autogerenciado para o Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 

### Migre dados do Couchbase Community Edition
<a name="migrate-data-from-couchbase-community-edition"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exporte dados do Couchbase Server Community Edition autogerenciado. | O XDCR criptografado não está disponível no Couchbase Community Edition. Você pode exportar dados do Couchbase Community Edition e depois importar manualmente os dados para o Couchbase Capella.Para exportar dados do bucket de origem, use `cbexport` na linha de comando.O comando a seguir é um exemplo.<pre>cbexport json \<br />--cluster localhost \<br />--bucket <SOURCE BUCKET NAME> \<br />--format lines \<br />--username <USERNAME> \<br />--password <PASSWORD> \<br />--include-key cbkey \<br />--scope-field cbscope \<br />--collection-field cbcoll \<br />--output cbexported_data.json</pre>Observe que `cbkey`, `cbscope`, `cbcoll`, e `cbexported_data.json` são rótulos arbitrários. Eles serão referenciados posteriormente no processo, portanto, se você optar por nomeá-los de forma diferente, anote-os. | Administrador do Couchbase | 
| Importe dados para o Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Para arquivos grandes, o Couchbase Capella suporta importação de linha de comando usando cURL. Você pode explorar as opções de importação com mais detalhes em [Importar dados](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html) na documentação do Couchbase Capella. | Administrador do Couchbase | 

### Testar e verificar a migração
<a name="test-and-verify-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verificar a migração de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 
| Verifique a migração do índice.  | No ambiente de gerenciamento do Couchbase Capella, na lista suspensa **Ferramentas** do seu cluster de destino, escolha **Índices**. Verifique se os índices foram migrados e criados. | Administrador do Couchbase | 
| Verificar resultados da consulta.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 
| Verifique os resultados da pesquisa em texto completo (aplicável se você migrou os índices do FTS). | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador do Couchbase | 

## Recursos relacionados
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-resources"></a>

**Prepare a migração**
+ [Comece com o teste gratuito do Couchbase Capella](https://cloud.couchbase.com/sign-up)
+ [Requisitos do provedor de nuvem para o Couchbase Capella](https://docs.couchbase.com/cloud/reference/aws.html)
+ [Diretrizes de dimensionamento do Couchbase Capella](https://docs.couchbase.com/cloud/clusters/sizing.html)

**Migre os dados e os índices**
+ [Couchbase XDCR](https://docs.couchbase.com/cloud/clusters/xdcr/xdcr.html)
+ [Documentação do Couchbase Shell](https://couchbase.sh/docs/)

**Couchbase SLAs Capella e suporte**
+ Contratos de nível de [serviço do Couchbase Capella](https://www.couchbase.com/capellasla) () SLAs
+ [Política de suporte do Couchbase Capella Service](https://www.couchbase.com/support-policy/cloud)

## Mais informações
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-additional"></a>

O seguinte código é um exemplo de [arquivo de configuração bean para Couchbase Shell](https://couchbase.sh/docs/#_the_config_dotfiles). 

```
Version = 1
 
[[clusters]]
identifier = "On-Prem-Cluster"
hostnames = ["<SELF_MANAGED_COUCHBASE_CLUSTER>"]
default-bucket = "travel-sample"
username = "<SELF_MANAGED_ADMIN>"
password = "<SELF_MANAGED_ADMIN_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
 
[[clusters]]
identifier = "Capella-Cluster"
hostnames = ["<COUCHBASE_CAPELLA_ENDPOINT>"]
default-bucket = "travel-sample"
username = "<CAPELLA_DATABASE_USER>"
password = "<CAPELLA_DATABASE_USER_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_COUCHBASE_CAPELLA_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
```

Antes de salvar o arquivo de configuração, use a tabela a seguir para garantir que você tenha adicionado suas próprias informações do cluster de origem e destino.

 


|  |  | 
| --- |--- |
| <SELF\$1MANAGED\$1COUCHBASE\$1CLUSTER> | Use o endereço IP do seu cluster autogerenciado do Couchbase Server. | 
| <SELF\$1MANAGED\$1ADMIN> | Use o usuário administrador para seu cluster autogerenciado do Couchbase Server. | 
| <ABSOLUTE\$1PATH\$1TO\$1SELF\$1MANAGED\$1ROOT\$1CERT> | Use o caminho absoluto para o arquivo de certificado raiz salvo para seu cluster autogerenciado do Couchbase Server. | 
| <COUCHBASE\$1CAPELLA\$1ENDPOINT> | Use o endpoint de conexão para seu cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER> | Use o usuário do banco de dados para seu cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER\$1PWD> | Use a senha de usuário do banco de dados para seu cluster Couchbase Capella. | 
| <ABSOLUTE\$1PATH\$1TO\$1COUCHBASE\$1CAPELLA\$1ROOT\$1CERT> | Use o caminho absoluto para o arquivo de certificado raiz salvo para seu cluster Couchbase Capella. | 

# Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2"></a>

*Neal Ardeljan e Afroz Khan, Amazon Web Services*

## Resumo
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-summary"></a>

Esse padrão orienta você pelas etapas de migração de um sistema local Red Hat Enterprise Linux (RHEL) 6.9 ou posterior que esteja executando o IBM WebSphere Application Server (WAS) para o RHEL 8 executando o Apache Tomcat em uma instância do Amazon Elastic Compute Cloud (Amazon). EC2 

O padrão pode ser aplicado às seguintes versões de origem e destino: 
+ WebSphere Servidor de aplicativos 7.x para Apache Tomcat 8 (com Java 7 ou posterior) 
+ WebSphere Servidor de aplicativos 8.x para Apache Tomcat 8 (com Java 7 ou posterior) 
+ WebSphere Servidor de aplicativos 8.5.5.x para Apache Tomcat 9 (com Java 8 ou posterior) 
+ WebSphere Servidor de aplicativos 8.5.5.x para Apache Tomcat 10 (com Java 8 ou posterior) 

## Pré-requisitos e limitações
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-prereqs"></a>

**Pré-requisitos****  **
+ Uma conta AWS ativa 
+ Código-fonte Java, com as seguintes pressuposições:
  + Usa a versão Java Development Kit (JDK) do Java 7 ou superior 
  + Usa a estrutura Spring ou Apache Struts 
  + Não usa a estrutura Enterprise Java Beans (EJB) ou qualquer outra funcionalidade de WebSphere servidor que não esteja prontamente disponível para o Tomcat
  + Usa principalmente servlets ou Java Server Pages () JSPs 
  + Usa conectores Java Database Connectivity (JDBC) para se conectar a bancos de dados  
+ Fonte IBM WebSphere Application Server versão 7.x ou superior 
+ Destino: Apache Tomcat versão 8.5 ou superior  

## Arquitetura
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-architecture"></a>

** ****Pilha de tecnologia de origem**
+ Um aplicativo web criado usando a estrutura Apache Struts Model-View-Controller (MVC) 
+ Um aplicativo web executado no IBM WebSphere Application Server versão 7.x ou 8.x
+ Um aplicativo web que usa um conector Lightweight Directory Access Protocol (LDAP) para se conectar a um diretório LDAP (iPlanet/eTrust) 
+ Um aplicativo que usa a conectividade do IBM Tivoli Access Manager (TAM) para atualizar a senha do usuário TAM (na implementação atual, os aplicativos usam PD.jar)

** ****Bancos de dados on-premises **
+ Oracle Database 21c (21.0.0.0)
+ Oracle Database 19c (19.0.0.0)
+ Oracle Database 12c Versão 2 (12.2.0.1)
+ Oracle Database 12c Versão 1 (12.1.0.2)

**Pilha de tecnologias de destino**
+ Apache Tomcat versão 8 (ou posterior) em execução no RHEL em uma instância EC2 
+ Amazon Relational Database Service (Amazon RDS) para Oracle

Para obter mais informações sobre as versões do Oracle compatíveis do Amazon RDS, consulte o site do [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/). 

**Arquitetura de destino**

![\[Arquitetura para migrar da IBM WebSphere para o Apache Tomcat na Amazon EC2\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/96f91201-e0a6-4d3f-a94e-7bd68a59cc4e/images/11afe7c0-b400-423b-9dfe-02a915fe47ff.png)


## Ferramentas
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-tools"></a>
+ Nível do aplicativo: reconstruindo o aplicativo Java em um arquivo WAR.
+ Nível do banco de dados: backup e restauração nativos do Oracle.
+ Ferramenta de migração Apache Tomcat para Jakarta EE. Essa ferramenta pega um aplicativo web escrito para Java EE 8 executado no Apache Tomcat 9 e o converte automaticamente para execução no Apache Tomcat 10, que implementa o Jakarta EE 9.

## Épicos
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Conclua a descoberta do aplicativo, o estado atual e a linha de base de desempenho. |  | BA, líder de migração | 
| Valide as versões dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de hardware para a EC2 instância do servidor de destino. |  | DBA, SysAdmin | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, SysAdmin | 
| Escolha o tipo de EC2 instância adequado com base na capacidade, nos recursos de armazenamento e nos recursos de rede. |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin | 
| Identifique a estratégia e as ferramentas de migração de aplicativos. |  | DBA, líder de migração | 
| Concluir o projeto da migração e o guia de migração do aplicativo. |  | Líder de desenvolvimento, líder de migração | 
| Concluir o runbook de migração do aplicativo. |  | Líder de construção, líder de substituição, líder de teste, líder de migração | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). |  | SysAdmin | 
| Criar grupos de segurança. |  | SysAdmin | 
| Configurar e iniciar o Amazon RDS para Oracle. |  | DBA, SysAdmin | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie ou obtenha acesso aos endpoints para buscar os arquivos de backup do banco de dados. |  | DBA | 
| Use o mecanismo de banco de dados nativo ou uma ferramenta de terceiros para migrar objetos e dados do banco de dados. | Para obter detalhes, consulte “Migrar objetos e dados do banco de dados” na seção *Informações adicionais*. | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Apresentar a change request (CR – solicitação de alteração) para migração. |  | Líder de substituição | 
| Obtenha a aprovação do CR para migração. |  | Líder de substituição | 
| Siga a estratégia de migração de aplicativos de acordo com o runbook de migração de aplicativos. | Para obter detalhes, consulte “Como configurar a camada do aplicativo” na seção *Informações adicionais*. | DBA, engenheiro de migração, proprietário do aplicativo | 
| Atualize o aplicativo (se necessário). |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Conclua os testes funcionais e não funcionais de validação de dados, SLA e desempenho. |  | Líder de teste, proprietário do aplicativo, usuários do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Obtenha a aprovação do proprietário do aplicativo ou do proprietário da empresa. |  | Líder de substituição | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA, engenheiro de migração, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, engenheiro de migração, SysAdmin | 
| Revise e valide os documentos do projeto. |  | Líder de migração | 
| Reúna métricas como tempo de migração, porcentagem de tarefas manuais versus automatizadas e economia de custos. |  | Líder de migração | 
| Feche o projeto e forneça feedback. |  | Líder de migração, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-resources"></a>

**Referências**
+ [Documentação do Apache Tomcat 10.0](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
+ [Documentação do Apache Tomcat 9.0](https://tomcat.apache.org/tomcat-9.0-doc/index.html)
+ [Documentação do Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc)
+ [Guia de instalação do Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc/setup.html)
+ [Documentação do Apache Tomcat JNDI ](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)
+ [Site do Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle e Amazon Web Services](https://aws.amazon.com/oracle/) 
+ [Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/) 

**Tutoriais e vídeos**
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

## Mais informações
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-additional"></a>

**Migração de objetos e dados do banco de dados**

Por exemplo, se você estiver usando backup/restore utilitários nativos da Oracle:

1. Criar o backup do Amazon Simple Storage Service (Amazon S3) para arquivos de backup do banco de dados (opcional).

1. Faça backup dos dados do Oracle DB na pasta compartilhada da rede.

1. Faça login no servidor de preparação da migração para mapear a pasta de compartilhamento de rede.

1. Copie dados da pasta de compartilhamento de rede para o bucket do S3.

1. Solicite uma implantação do Multi-AZ do Amazon RDS para Oracle.

1. Restaure o backup do banco de dados on-premises no Amazon RDS para Oracle.

**Como configurar o nível do aplicativo**

1. Instale o Tomcat 8 (ou 9/10) no site do Apache Tomcat.

1. Compacte o aplicativo e as bibliotecas compartilhadas em um arquivo WAR.

1. Implante o arquivo WAR no Tomcat.

1. Monitore o registro inicial de `Linux cat` todas as bibliotecas compartilhadas ausentes do WebSphere.

1. Assista ao registro inicial de `Linux cat` qualquer extensão WebSphere específica do descritor de implantação.

1. Colete todas as bibliotecas Java dependentes ausentes do WebSphere servidor.

1. Altere elementos WebSphere específicos do descritor de implantação com equivalentes compatíveis com Tomcat.

1. Reconstrua o arquivo WAR com as bibliotecas Java dependentes e os descritores de implantação atualizados.

1. Atualize a configuração LDAP, a configuração do banco de dados e as conexões de teste (consulte [COMO FAZER a configuração do Realm](https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html)) e [COMO FAZER uma fonte de dados JNDI](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html) na documentação do Apache Tomcat).

1. Teste o aplicativo instalado no banco de dados do Amazon RDS para Oracle restaurado.

1. Crie uma Amazon Machine Image (AMI) para Linux a partir da EC2 instância.

1. Inicie a arquitetura completa com o grupo Application Load Balancer e grupo do Auto Scaling (ajuste de escala automático).

1. Atualize o URLs (usando a junção WebSEAL) para apontar para o Application Load Balancer.

1. Atualize o banco de dados de gerenciamento de configuração (CMDB). 

# Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2 com o Auto Scaling
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling"></a>

*Kevin Yung e Afroz Khan, Amazon Web Services*

## Resumo
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-summary"></a>

Esse padrão fornece orientação para migrar um aplicativo Java do IBM WebSphere Application Server para o Apache Tomcat em uma EC2 instância do Amazon Elastic Compute Cloud (Amazon) com o Amazon Auto EC2 Scaling ativado. 

Ao usar esse padrão, você pode conseguir:
+ Uma redução nos custos de licenciamento da IBM
+ Alta disponibilidade usando implantação Multi-AZ
+ Melhor resiliência de aplicativos com o Amazon EC2 Auto Scaling

## Pré-requisitos e limitações
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Aplicações Java (versão 7.*x* ou 8.*x*) devem ser desenvolvidas em pilhas LAMP.
+ O estado de destino é hospedar aplicativos Java em hosts Linux. Esse padrão foi implementado com sucesso em um ambiente Red Hat Enterprise Linux (RHEL) 7. Outras distribuições Linux podem seguir esse padrão, mas a configuração da distribuição Apache Tomcat deve ser referenciada.
+ Você deve entender as dependências do aplicativo Java.
+ Você deve ter acesso ao código-fonte do aplicativo Java para fazer alterações. 

**Limitações e mudanças na redefinição da plataforma**
+ Você deve compreender os componentes do arquivamento corporativo (EAR) e verificar se todas as bibliotecas estão empacotadas nos arquivos WAR do componente web. Você precisa configurar o [plug-in WAR do Apache Maven](https://maven.apache.org/plugins/maven-war-plugin/) e produzir artefatos de arquivo WAR.
+ Ao usar o Apache Tomcat 8, há um conflito conhecido entre o servlet-api.jar e os arquivos JAR integrados do pacote do aplicativo. Para resolver esse problema, exclua o servlet-api.jar do pacote do aplicativo.
+ Você deve configurar WEB-INF/Resources localizados no *classpath* da [configuração do Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html). Por padrão, as bibliotecas JAR não são carregadas no diretório. Como alternativa, você pode implantar todos os recursos abaixo src/main/resources*.*
+ Verifique se há raízes de contexto de codificação rígida no aplicativo Java e atualize a nova [raiz de contexto do Apache Tomcat.](https://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context)
+ Para definir as opções de runtime da JVM, você pode criar o arquivo de configuração setenv.sh na pasta bin do Apache Tomcat; por exemplo, JAVA\$1OPTS, JAVA\$1HOME etc**.**  
+ A autenticação é configurada no nível do contêiner e configurada como uma região nas configurações do Apache Tomcat. A autenticação é estabelecida para qualquer um dos três domínios a seguir: 
  + O [JDBC Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm) pesquisa usuários em um banco de dados relacional acessado pelo driver JDBC.
  + DataSource O [Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm) pesquisa usuários em um banco de dados que é acessado pelo JNDI. 
  + O [JNDI Directory Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm) pesquisa usuários no diretório Lightweight Directory Access Protocol (LDAP) que é acessado pelo provedor JNDI. As pesquisas exigem: 
    + Detalhes da conexão LDAP: base de pesquisa de usuário, filtro de pesquisa, base de perfil, filtro de perfil 
    + A principal região do diretório JNDI: conecta-se ao LDAP, autentica usuários e recupera todos os grupos dos quais um usuário é membro
+ Autorização: no caso de um contêiner com uma autorização baseada em funções que verifica as restrições de autorização em web.xml, os recursos da Web devem ser definidos e comparados às funções definidas nas restrições. Se o LDAP não tiver mapeamento de função de grupo, você deverá definir o atributo < security-role-ref > em web.xml para obter o mapeamento de função de grupo. Para ver um exemplo de um documento de configuração, consulte a [documentação da Oracle](https://docs.oracle.com/cd/E19226-01/820-7627/bncav/index.html). 
+ Conexão de banco de dados: crie uma definição de recurso no Apache Tomcat com um URL de endpoint do Amazon Relational Database Service (Amazon RDS) e detalhes de conexão. Atualize o código do aplicativo para fazer referência a DataSource usando a pesquisa JNDI. Uma conexão de banco de dados existente definida em não WebSphere funcionaria, pois usa os nomes WebSphere JNDI. Você pode adicionar uma <resource-ref>entrada em web.xml com o nome JNDI e a definição do DataSource tipo. Para ver um exemplo de documento de configuração, consulte a [documentação do Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#JDBC_Data_Sources).
+ Registro: por padrão, o Apache Tomcat faz o registro de logs no console ou em um arquivo de log. Você pode ativar o rastreamento em nível de domínio atualizando *logging.properties* (consulte [Registro em log no Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/logging.html)). Se você estiver usando o Apache Log4j para anexar registros em log a um arquivo, você deve baixar o tomcat-juli e adicioná-lo ao *classpath.*
+ Gerenciamento de sessão: se você estiver mantendo o IBM WebSEAL para Application Load Balancer e gerenciamento de sessões, nenhuma alteração será necessária. [Se você estiver usando um Application Load Balancer ou Network Load Balancer na AWS para substituir o componente IBM WebSEAL, deverá configurar o gerenciamento de sessões usando uma instância da ElastiCache Amazon com um cluster Memcached e configurar o Apache Tomcat para usar o gerenciamento de sessões de código aberto.](https://github.com/magro/memcached-session-manager) 
+ Se você estiver usando o proxy de encaminhamento IBM WebSEAL, deverá configurar um novo Network Load Balancer na AWS. Use o IPs fornecido pelo Network Load Balancer para configurações de junção do WebSEAL.
+ Configuração SSL: recomendamos que você use o Secure Sockets Layer (SSL) para comunicações. end-to-end Para definir uma configuração de servidor SSL no Apache Tomcat, siga as instruções na [documentação do Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html). 

## Arquitetura
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-architecture"></a>

**Pilha de tecnologia de origem**
+ Servidor WebSphere de aplicativos IBM

 

**Pilha de tecnologias de destino**
+ A arquitetura usa o [Elastic Load Balancing (versão 2](https://docs.aws.amazon.com/elasticloadbalancing/)). Se você estiver usando o IBM WebSEAL para gerenciamento e balanceador de carga do Identify, poderá selecionar um Network Load Balancer na AWS para integrar com o proxy reverso IBM WebSEAL.
+ Os aplicativos Java são implantados em um servidor de aplicativos Apache Tomcat, que é executado em uma EC2 instância em um grupo do Amazon Auto [Scaling. EC2 ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) Você pode configurar uma [política de escalabilidade](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) com base nas CloudWatch métricas da Amazon, como a utilização da CPU. 
+ Se você estiver retirando o uso do IBM WebSEAL para balanceamento de carga, poderá usar o [Amazon ElastiCache for Memcached para gerenciamento](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) de sessões.
+ Para o banco de dados de backend, você pode implantar a [Alta Disponibilidade (Multi-AZ) para o Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) e selecionar um tipo de mecanismo de banco de dados.

 

**Arquitetura de destino**

![\[Nuvem AWS architecture with VPC, two availability zones, load balancer, and database components.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/52b91dab-7b3b-4751-abe2-25e7c7cd8d89/images/25125023-9a81-452a-9ada-184e2416cc02.png)


## Ferramentas
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)
+ Apache Tomcat (versão 7.*x* ou 8.*x*)
+ RHEL 7 ou Centos 7
+ [Implantação do Multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache para Memcached (opcional](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html))

## Épicos
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-epics"></a>

### Configuração da VPC
<a name="set-up-the-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). |  |  | 
| Crie sub-redes. |  |  | 
| Crie tabelas de roteamento, se necessário. |  |  | 
| Crie listas de controle de acesso à rede (ACLs). |  |  | 
| Configure o AWS Direct Connect ou uma conexão VPN corporativa. |  |  | 

### Redefina a plataforma do aplicativo
<a name="replatform-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Refatore a configuração do Maven de compilação do aplicativo para gerar os artefatos WAR. |  |  | 
| Refatore as fontes de dados de dependência do aplicativo no Apache Tomcat. |  |  | 
| Refatore os códigos-fonte do aplicativo para usar nomes JNDI no Apache Tomcat. |  |  | 
| Implante os artefatos WAR no Apache Tomcat. |  |  | 
| Validações e testes completos do aplicativo. |  |  | 

### Configure a rede
<a name="configure-the-network"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o firewall corporativo para permitir a conexão com os serviços de dependência. |  |  | 
| Configure o firewall corporativo para permitir que o usuário final acesse o Elastic Load Balancing na AWS. |  |  | 

### Crie a infraestrutura de aplicativos
<a name="create-the-application-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie e implante o aplicativo em uma EC2 instância. |  |  | 
| Crie um cluster Amazon ElastiCache for Memcached para gerenciamento de sessões. |  |  | 
| Crie uma instância do Multi-AZ do Amazon RDS para o banco de dados de backend. |  |  | 
| Crie certificados SSL e importe-os para o AWS Certificate Manager (ACM). |  |  | 
| Instale certificados SSL em balanceadores de carga. |  |  | 
| Instale certificados SSL para servidores Apache Tomcat. |  |  | 
| Validações e testes completos do aplicativo. |  |  | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre a infraestrutura existente. |  |  | 
| Restaure o banco de dados da produção para o Amazon RDS. |  |  | 
| Substitua o aplicativo fazendo alterações no DNS. |  |  | 

## Recursos relacionados
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-related-resources"></a>

**Referências**
+ [Documentação do Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html)
+ [Guia de instalação do Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html)
+ [Documentação do Apache Tomcat JNDI](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html)
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache para Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html)

**Tutoriais e vídeos**
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migre uma aplicação .NET do Microsoft Azure App Service para o AWS Elastic Beanstalk
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk"></a>

*Raghavender Madamshitti, Amazon Web Services*

## Resumo
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-summary"></a>

Esse padrão descreve como migrar um aplicativo web.NET hospedado no Microsoft Azure App Service para o AWS Elastic Beanstalk. Há duas maneiras de migrar aplicativos para o Elastic Beanstalk:
+ Use o AWS Toolkit for Visual Studio: Esse plug-in para o IDE do Microsoft Visual Studio fornece a maneira mais fácil e direta de implantar aplicativos.NET personalizados na AWS. Você pode usar essa abordagem para implantar código.NET diretamente na AWS e criar recursos de suporte, como o Amazon Relational Database Service (Amazon RDS) para bancos de dados SQL Server, diretamente do Visual Studio.
+ Carregar e implantar no Elastic Beanstalk: cada Serviço de Aplicativo do Azure inclui um serviço em segundo plano chamado Kudu, que é útil para capturar despejos de memória e registros de implantação, visualizar parâmetros de configuração e acessar pacotes de implantação. Você pode usar o console Kudu para acessar o conteúdo do Azure App Service, extrair o pacote de implantação e, em seguida, carregar o pacote no Elastic Beanstalk usando a opção de upload e implantação no console do Elastic Beanstalk.

Esse padrão descreve a segunda abordagem (fazer o upload do seu aplicativo para o Elastic Beanstalk por meio do Kudu). O padrão também usa os seguintes serviços da AWS: AWS Elastic Beanstalk, Amazon Virtual Private Cloud (Amazon VPC), Amazon, Amazon Elastic Compute Cloud ( CloudWatchAmazon) Auto Scaling, EC2 Amazon Simple Storage Service (Amazon S3) e Amazon Route 53. 

O aplicativo web.NET é implantado no AWS Elastic Beanstalk, que é executado em um grupo Amazon EC2 Auto Scaling. Você pode configurar uma política de escalabilidade com base nas CloudWatch métricas da Amazon, como a utilização da CPU. No caso de banco de dados, você pode usar o Amazon RDS em um ambiente Multi-AZ ou o Amazon DynamoDB, dependendo do seu aplicativo e dos requisitos comerciais. 

## Pré-requisitos e limitações
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um aplicativo web.NET em execução no Serviço de Aplicativo do Azure
+ Permissão para usar o console Kudu do Serviço de Aplicativo do Azure

**Versões do produto**
+ .NET Core (x64) 1.0.1, 2.0.0 ou superior, ou .NET Framework 4.x, 3.5 (consulte [.NET no histórico da plataforma do Windows Server](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html))
+ Serviços de Informações da Internet (IIS) versão 8.0 ou superior, em execução no Windows Server 2012 ou superior
+ .NET 2.0 ou 4.0 runtime.

## Arquitetura
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-architecture"></a>

**Pilha de tecnologia de origem**
+  Aplicativo desenvolvido usando o .NET Framework 3.5, ou superior, ou .NET Core 1.0.1, 2.0.0 ou superior e hospedado no Serviço de Aplicativo do Azure (aplicativo web ou aplicativo de API)

**Pilha de tecnologias de destino**
+ AWS Elastic Beanstalk em execução em um grupo do Amazon EC2 Auto Scaling

**Arquitetura de migração**

![\[O Kudu acessa o conteúdo do Azure App Service, obtém o pacote de implantação e faz o upload dele para o Elastic Beanstalk.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/dd15f97b-9cf2-4bcc-af45-44df1c4ca4a5.png)


 

**Fluxo de trabalho de implantação**

![\[Fluxo de implantação para criar a aplicação, publicá-la no ambiente de lançamento e, em seguida, gerenciar esse ambiente.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/accec77d-c753-4166-8f27-bd4932b3d884.png)


## Ferramentas
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-tools"></a>

**Ferramentas**
+ .NET Core ou .NET Framework
+ C\$1
+ IIS
+ Console Kudu

**Serviços e atributos da AWS**
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) — O Elastic Beanstalk é um serviço para implantar e easy-to-use escalar aplicativos web.NET. O Elastic Beanstalk gerencia automaticamente o provisionamento de capacidade, o balanceamento de carga e o escalonamento automático.
+ Grupo [Amazon EC2 Auto Scaling — O Elastic Beanstalk inclui um grupo](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) de Auto Scaling que gerencia as instâncias da Amazon no ambiente. EC2 Em um ambiente de instância única, o grupo de Auto Scaling garante que sempre haja uma instância em execução. Em um ambiente com balanceamento de carga, você pode configurar o grupo com uma variedade de instâncias para execução, e o Amazon EC2 Auto Scaling adiciona ou remove instâncias conforme necessário, com base na carga.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) — Quando você ativa o balanceamento de carga no AWS Elastic Beanstalk, ele cria um balanceador de carga que distribui o tráfego entre as instâncias no ambiente. EC2 
+ [Amazon CloudWatch — O](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) Elastic Beanstalk CloudWatch usa automaticamente a Amazon para fornecer informações sobre seus recursos de aplicativo e ambiente. A Amazon CloudWatch oferece suporte a métricas padrão, métricas personalizadas e alarmes.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html): o Amazon Route 53 é um web service de Sistema de Nomes de Domínio (DNS) altamente disponível e dimensionável. Você pode usar os registros de alias do Route 53 para mapear nomes de domínio personalizados para ambientes do AWS Elastic Beanstalk.

## Épicos
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-epics"></a>

### Configurar uma VPC
<a name="set-up-a-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar uma nuvem privada virtual (VPC). | Na sua conta da AWS, crie uma VPC com as informações necessárias. | Administrador de sistema | 
| Crie sub-redes. | Crie duas ou mais sub-redes em sua VPC. | Administrador de sistema | 
| Crie uma tabela de rotas. | Crie uma tabela de rotas com base em seus requisitos. | Administrador de sistema | 

### Configurar Elastic Beanstalk
<a name="set-up-elastic-beanstalk"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Acessar o console Kudu do Serviço de Aplicativo do Azure. | Acesse o Kudu por meio do portal do Azure navegando até o painel do Serviço de Aplicativo e escolhendo **Ferramentas Avançadas**, **Go**. Ou então, você pode modificar a URL do Serviço de Aplicativo do Azure da seguinte forma: `https://<appservicename>.scm.azurewebsites.net`. | Desenvolvedor de aplicativos, administrador do sistema | 
| Baixe o pacote de implantação do Kudu. | Navegue até o Windows PowerShell escolhendo a **DebugConsole**opção. Isso abrirá o console do Kudo. Vá até a pasta `wwwroot` e faça o download. Isso baixará o pacote de implantação do Serviço de Aplicativo do Azure como um arquivo zip. Para ver um exemplo, consulte o anexo. | Desenvolvedor de aplicativos, administrador do sistema | 
| Crie um pacote para o Elastic Beanstalk. | Descompacte o pacote de implantação que você baixou do Serviço de Aplicativo do Azure. Crie um arquivo JSON chamado `aws-windows-deployment-manifest.json` (esse arquivo é necessário somente para aplicativos.NET Core). Crie um arquivo zip que inclua `aws-windows-deployment-manifest.json` e o arquivo do pacote de implantação do Serviço de Aplicativo do Azure. Para ver um exemplo, consulte o anexo. | Desenvolvedor de aplicativos, administrador do sistema | 
| Crie um novo aplicativo do Elastic Beanstalk. | Abra o console do Elastic Beanstalk. Escolha um aplicativo existente ou crie um aplicativo novo. | Desenvolvedor de aplicativos, administrador do sistema | 
| Criar o ambiente | No menu **Ações** do console do Elastic Beanstalk, escolha **Criar ambiente**. Selecione o ambiente do servidor web e a plataforma .NET/IIS. Em Código do aplicativo, escolha **Fazer upload**. Faça upload do arquivo zip que você preparou para o Elastic Beanstalk e escolha **Create Environment.** | Desenvolvedor de aplicativos, administrador do sistema | 
| Configure a Amazon CloudWatch. | Por padrão, o CloudWatch monitoramento básico está ativado. **Se você quiser alterar a configuração, no assistente do Elastic Beanstalk, escolha o aplicativo publicado e, em seguida, escolha Monitoramento.** | Administrador de sistema | 
| Verifique se o pacote de implantação está no Amazon S3.  | Quando o ambiente do aplicativo for criado, você poderá encontrar o pacote de implantação no bucket do S3. | Desenvolvedor de aplicativos, administrador do sistema | 
| Testar o aplicativo. | Quando o ambiente for criado, use a URL fornecida no console do Elastic Beanstalk para testar a aplicação. | Administrador de sistema | 

## Recursos relacionados
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-resources"></a>
+ [Conceitos do AWS Elastic Beanstack](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.html) (Documentação do Elastic Beanstalk)
+ [Conceitos básicos do .NET no Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-getstarted.html) (Documentação do Elastic Beanstalk)
+ [Consola Kudu](https://github.com/projectkudu/kudu/wiki/Kudu-console) () GitHub
+ [Using “Kudu” to Manage Azure Web Apps](https://www.gslab.com/blogs/kudu-azure-web-app/) (artigo do GS Lab)
+ [Implantações personalizadas do ASP.NET Core Elastic Beanstalk](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html) (guia do usuário do AWS Toolkit for Visual Studio)
+ [Documentação do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Plataformas com suporte do AWS Elastic Beanstalk](https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/platforms/platforms-supported.html) (Documentação do Elastic Beanstalk)
+ [Implante um aplicativo web na AWS](https://www.c-sharpcorner.com/article/deploying-a-web-application-to-aws/) (artigo da C\$1 Corner)
+ [Dimensionando o tamanho do seu grupo de Auto Scaling (documentação](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) da Amazon EC2 )
+ [Alta disponibilidade (Multi-AZ) para o Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) (Documentação do Amazon RDS)

## Mais informações
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-additional"></a>

**Observações**
+ Se você estiver migrando um banco de dados on-premises ou do Azure SQL Server para o Amazon RDS, também deverá atualizar os detalhes da conexão do banco de dados. 
+ Para fins de teste, um exemplo de aplicativo de demonstração é anexado.

## Anexos
<a name="attachments-df606a2d-b0a8-4035-b377-0a760e7300c9"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/df606a2d-b0a8-4035-b377-0a760e7300c9/attachments/attachment.zip)

# Migre do Oracle WebLogic para o Apache Tomcat (TomEE) no Amazon ECS
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs"></a>

*Anya Epishcheva e Harshad Gohil, Amazon Web Services*

## Resumo
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-summary"></a>

Esse padrão discute as etapas para migrar um sistema Oracle Solaris SPARC local executando Oracle para uma instalação baseada em contêiner Docker executando o Apache TomEE [(Apache Tomcat com suporte adicional de contêiner) com o Amazon Elastic Container Service (](http://tomee.apache.org/)Amazon ECS). WebLogic 

Para obter informações sobre a migração de bancos de dados associados aos aplicativos que você está migrando do Oracle WebLogic para o Tomcat, consulte os padrões de migração de banco de dados neste catálogo. 

**Práticas recomendadas**

As etapas para migrar aplicativos web Java e Java Enterprise Edition (Java EE) variam, dependendo do número de recursos específicos do contêiner usados pelo aplicativo. Os aplicativos baseados em Spring geralmente são mais fáceis de migrar, porque eles têm um pequeno número de dependências no contêiner de implantação. Por outro lado, os aplicativos Java EE que usam Enterprise JavaBeans (EJBs) e recursos gerenciados de contêiner, como pools de threads, Java Authentication and Authorization Service (JAAS) e Container-Managed Persistence (CMP) exigem mais esforço. 

Os aplicativos desenvolvidos para o Oracle Application Server frequentemente usam o pacote Oracle Identity Management. Os clientes que migram para servidores de aplicativos de código aberto frequentemente optam por reimplementar o gerenciamento de identidade e acesso usando a federação baseada em SAML. Outros usam o Oracle HTTP Server Webgate para casos em que migrar do pacote Oracle Identity Management não é uma opção. 

Os aplicativos web Java e Java EE são ótimos candidatos para implantação em serviços da AWS baseados em Docker, como o AWS Fargate e o Amazon ECS. Os clientes frequentemente escolhem uma imagem do Docker com a versão mais recente do servidor de aplicativos de destino (como o TomEE) e o Java Development Kit (JDK) pré-instalados. Eles instalam seus aplicativos em cima da imagem base do Docker, a publicam no registro do Amazon Elastic Container Registry (Amazon ECR) e a usam para a implantação escalável de seus aplicativos no AWS Fargate ou no Amazon ECS. 

Idealmente, a implantação do aplicativo é elástica; ou seja, o número de instâncias do aplicativo aumenta ou diminui, dependendo do tráfego ou da workload. Isso significa que as instâncias do aplicativo precisam ficar on-line ou ser encerradas para ajustar a capacidade à demanda. 

Ao migrar um aplicativo Java para a AWS, considere torná-lo sem estado. Esse é um princípio arquitetônico fundamental do AWS Well-Architected Framework que permitirá a escalabilidade horizontal usando a conteinerização. Por exemplo, a maioria dos aplicativos web baseados em Java armazena localmente as informações da sessão do usuário. Para sobreviver ao encerramento da instância do aplicativo devido ao escalonamento automático no Amazon Elastic Compute Cloud EC2 (Amazon) ou por outros motivos, as informações da sessão do usuário devem ser armazenadas globalmente para que os usuários do aplicativo web possam continuar trabalhando de forma contínua e transparente sem se reconectar ou se reconectar a um aplicativo web. Há várias opções de arquitetura para essa abordagem, incluindo Amazon ElastiCache for Redis ou armazenar o estado da sessão em um banco de dados global. Servidores de aplicativos, como o TomEE, têm plug-ins que permitem o armazenamento e o gerenciamento de sessões via Redis, bancos de dados e outros armazenamentos de dados globais.

Use uma ferramenta comum e centralizada de registro e depuração que seja facilmente integrada à Amazon e ao AWS CloudWatch X-Ray. A migração oferece uma oportunidade de melhorar os recursos do ciclo de vida do aplicativo. Por exemplo, talvez você queira automatizar o processo de criação para que as alterações sejam feitas com facilidade usando um pipeline de integração contínua e entrega contínua (CI/CD). Isso pode exigir alterações no aplicativo para que ele possa ser implantado sem qualquer tempo de inatividade. 

## Pré-requisitos e limitações
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Uma conta AWS ativa 
+ Código-fonte Java e JDK 
+ Aplicativo de origem criado com Oracle WebLogic
+ Solução definida para gerenciamento de identidade e acesso (SAML ou Oracle Webgate)
+ Solução definida para gerenciamento de sessões de aplicativos (migrando like-for-like ou com a Amazon ElastiCache, ou tornando o aplicativo sem estado, se necessário)
+ Entendendo se a equipe precisa refatorar bibliotecas específicas do J2EE para portabilidade para o Apache toMEE (consulte [Status de implementação do Java EE 7](http://tomee.apache.org/javaee7-status.html) no site do Apache) 
+ Imagem TomEE reforçada com base nos seus requisitos de segurança
+ Imagem do contêiner com destino pré-instalado TomEE 
+ Correção de aplicativos acordada e implementada, se necessário (por exemplo, registro em log de debug de criação, autenticação)

**Versões do produto**
+ Oracle WebLogic OC4 J, 9i, 10g 
+ Tomcat 7 (com Java 1.6 ou superior) 

## Arquitetura
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-architecture"></a>

 **Pilha de tecnologia de origem**
+ Aplicativo web criado usando Oracle WebLogic
+ Aplicativo Web usando autenticação Oracle Webgate ou SAML
+ Aplicativos Web conectados ao Oracle Database versão 10g e posterior 

**Pilha de tecnologias de destino**
+ [TomEE (Apache Tomcat com suporte adicional a contêineres) em execução no Amazon ECS (consulte também [Implantação de aplicativos Web Java](https://aws.amazon.com/answers/web-applications/aws-web-app-deployment-java/) e Microsserviços Java no Amazon ECS](https://aws.amazon.com/blogs/compute/deploying-java-microservices-on-amazon-ec2-container-service/)) 
+ Amazon Relational Database Service (Amazon RDS) para Oracle; para versões Oracle compatíveis com Amazon RDS, consulte [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/)** **

**Arquitetura de destino**

![\[Nuvem AWS architecture diagram showing VPC, application subnets, and shared services account components.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/d5e7b3fa-062f-4559-af56-aa6058f96755/images/762193cf-aa68-4195-b3c7-6541caee61c9.png)


 

## Ferramentas
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-tools"></a>

Para operar no TomEE, um aplicativo Java deve ser reconstruído em um arquivo .war. Em alguns casos, podem ser necessárias alterações no aplicativo para operar o aplicativo no TomEE; você deve verificar se as opções de configuração e as propriedades do ambiente necessárias estão definidas corretamente.  

Além disso, as pesquisas de Java Naming and Directory Interface (JNDI) e os namespaces JavaServer Pages (JSP) devem ser definidos corretamente. Considere verificar os nomes dos arquivos usados pelo aplicativo para evitar colisões de nomes com bibliotecas T integradas. Por exemplo, persistence.xml é um nome de arquivo usado pela estrutura Apache OpenJPA (que vem com o OpenEJB no TomEE) para fins de configuração. O arquivo persistence.xml na PUI contém declarações de bean do Spring framework.  

O TomEE versão 7.0.3 e posterior (Tomcat 8.5.7 e posterior) retorna uma resposta HTTP 400 (solicitação inválida) para raw (não codificada) com caracteres especiais. URLs A resposta do servidor aparece como uma página em branco para o usuário final. [As versões anteriores do TomEE e do Tomcat permitiam o uso de certos caracteres especiais não codificados em URLs; no entanto, isso é considerado inseguro, conforme declarado no site CVE-2016-6816.](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6816) Para resolver o problema de codificação de URL, o URLs passado diretamente para o navegador JavaScript deve ser codificado com o método **encodeURI ()** em vez de ser usado como strings brutas. 

Depois de implantar o arquivo.war no TomEE, monitore o *log de inicialização* no *Linux cat* em busca de bibliotecas compartilhadas ausentes e extensões específicas do Oracle para adicionar componentes ausentes das bibliotecas Tomcat. 

 

**Procedimento geral**
+ Configure o aplicativo no TomEE.
+ Identifique e reconfigure arquivos e recursos de configuração específicos do servidor de aplicativos, do formato de origem ao de destino.
+ Identifique e reconfigure os recursos da JNDI.
+ Ajuste o namespace EJB e as pesquisas para o formato exigido pelo servidor do aplicativo de destino (se aplicável).
+ Reconfigure as funções de segurança e os mapeamentos principais específicos do contêiner do aplicativo JAAS (se aplicável).
+ Empacote o aplicativo e as bibliotecas compartilhadas em um arquivo .war.
+ Implante o arquivo .war no TomEE usando o contêiner do Docker fornecido.
+ Monitore o *log de início* para identificar qualquer biblioteca compartilhada ausente e extensões de descritor de implantação. Se algum for encontrado, volte para a primeira tarefa. 
+ Teste o aplicativo instalado em relação ao banco de dados Amazon RDS restaurado.
+ Inicie a arquitetura completa com um balanceador de carga e um cluster Amazon ECS seguindo as instruções em [Implantar contêineres do Docker](https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/).
+ Atualize o URLs para apontar para o balanceador de carga. 
+ Atualize o banco de dados de gerenciamento de configuração (CMDB). 

## Épicos
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Executar a descoberta de aplicativos (pegada do estado atual e linha de base de desempenho). |  | BA, líder de migração | 
| Validar versões e mecanismos do banco de dados de origem e de destino. |  | DBA | 
| Validar o design do aplicativo de origem e de destino (gerenciamento de identidade e sessão). |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Identificar os requisitos de hardware e armazenamento para a instância do servidor de destino. |  | DBA, SysAdmin | 
| Escolher o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, SysAdmin | 
| Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. |  | DBA, SysAdmin | 
| Identificar a estratégia e as ferramentas de migração de aplicativos. |  | DBA, líder de migração | 
| Concluir o projeto da migração e o guia de migração do aplicativo. |  | Líder de desenvolvimento, líder de migração | 
| Concluir o runbook de migração do aplicativo. |  | Líder de construção, líder de substituição, líder de teste, líder de migração | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). |  | SysAdmin | 
| Criar grupos de segurança. |  | SysAdmin | 
| Configurar e iniciar a instância de banco de dados do Amazon RDS. |  | DBA, SysAdmin | 
| Configurar a implantação do Amazon ECS. |  | SysAdmin | 
| Empacotar seu aplicativo como uma imagem do Docker. |  | SysAdmin | 
| Enviar a imagem para o registro do Amazon ECR (ou pule esta etapa e envie-a para o cluster do Amazon ECS). |  | SysAdmin | 
| Configurar a definição da tarefa para o aplicativo e as opções de serviço do Amazon ECS. |  | SysAdmin | 
| Configurar seu cluster, revise configurações de segurança e defina perfis do AWS Identity and Access Management (IAM). |  | SysAdmin | 
| Iniciar sua configuração e execute testes de acordo com o runbook de migração do aplicativo. |  | SysAdmin | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Obter a permissão da sua equipe de garantia de segurança para mover dados de produção para a AWS. |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Criar e obter acesso aos endpoints para buscar arquivos de backup do banco de dados. |  | DBA | 
| Usar o mecanismo de banco de dados nativo ou ferramentas de terceiros para migrar objetos e dados do banco de dados. |  | DBA | 
| Executar os testes necessários no runbook de migração de aplicativos para confirmar a migração de dados bem-sucedida. |  | DBA, engenheiro de migração, proprietário do aplicativo | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma solicitação de alteração (CR) para migração. |  | Líder de substituição | 
| Obter a aprovação de CR para migração. |  | Líder de substituição | 
| Seguir a estratégia de migração de aplicativos no runbook de migração de aplicativos. |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Atualizar o aplicativo (se necessário). |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Completar testes funcionais e não funcionais de validação de dados, SLA e desempenho. |  | Líder de teste, proprietário do aplicativo, usuários do aplicativo | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Obter a aprovação do aplicativo ou do proprietário da empresa. |  | Líder de substituição | 
| Fazer um exercício com tópicos de tabela para percorrer todas as etapas do runbook de substituição. |  | DBA, engenheiro de migração, proprietário do aplicativo | 
| Mudar os clientes do aplicativo para a nova infraestrutura. |  | DBA, engenheiro de migração, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | DBA, engenheiro de migração, SysAdmin | 
| Revise e valide os documentos do projeto. |  | Líder de migração | 
| Reunir métricas sobre o tempo de migração, porcentagem de manual versus ferramenta, economia de custos, etc. |  | Líder de migração | 
| Feche o projeto e forneça feedback. |  | Líder de migração, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-related-resources"></a>

**Referências**
+ [Documentação do Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html) 
+ [Guia de instalação do Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html) 
+ [Documentação do Apache Tomcat JNDI](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html) 
+ [Documentação do Apache ToMEE](http://tomee.apache.org/) 
+ [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle e AWS](https://aws.amazon.com/oracle/) 
+ [Documentação da Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/) 
+ [Conceitos básicos do Amazon ECS](https://aws.amazon.com/ecs/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

**Tutoriais e vídeos**
+ [Práticas recomendadas para a execução de bancos de dados Oracle no Amazon RDS](https://www.youtube.com/watch?v=j2wqT0EPDbw) (ref.: apresentação Invent 2018) 

# Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for Oracle usando o AWS DMS
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms"></a>

*Chethan Gangadharaiah e Brian Motzer, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-summary"></a>

Esse padrão descreve as etapas para migrar um banco de dados Oracle no Amazon Elastic Compute Cloud (Amazon EC2) para o Amazon Relational Database Service (Amazon RDS) for Oracle usando o AWS Database Migration Service (AWS DMS). O padrão também usa o Oracle SQL Developer ou o SQL \$1Plus para se conectar à sua instância de banco de dados Oracle e inclui um CloudFormation modelo da AWS que automatiza algumas das tarefas.

A migração para o Amazon RDS para Oracle permite que você se concentre em seus negócios e aplicativos, enquanto o Amazon RDS cuida das tarefas de administração do banco de dados, como provisionamento de bancos de dados, backup e recuperação, patches de segurança, atualizações de versão e gerenciamento de armazenamento.

## Pré-requisitos e limitações
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma imagem de máquina da Amazon (AMI) para banco de dados Oracle na Amazon EC2

**Versões do produto**
+ O AWS DMS é compatível com versões do Oracle 11g (versões 11.2.0.3.v1 e superior), 12c e 18c para bancos de dados de instâncias do Amazon RDS para as edições Enterprise, Standard, Standard One e Standard Two. Para obter as informações mais recentes sobre as versões compatíveis, consulte [Uso de um banco de dados Oracle como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) na documentação da AWS. (Os CloudFormation modelos anexados da AWS usam o Oracle versão 12c como banco de dados de origem.)
+ Oracle SQL Developer 4.0.3

## Arquitetura
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-architecture"></a>

**Arquitetura de origem**
+ Banco de dados Oracle na Amazon EC2

**Arquitetura de destino**
+ Amazon RDS para Oracle

**Arquitetura de migração**

![\[Nuvem AWS architecture showing Oracle database migration from EC2 to RDS across availability zones.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/4db0c731-0897-4eb8-a06f-b648c3d94b2c/images/636c2a69-5a78-482d-ae81-55e9ec975ead.png)


## Ferramentas
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/index.html): o AWS Database Migration Service (AWS DMS) ajuda a migrar bancos de dados para a AWS de forma rápida e segura. Ele suporta migrações homogêneas e heterogêneas. Para obter informações sobre as versões e edições do banco de dados Oracle compatíveis, consulte [Usando um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) e [Usando um banco de dados Oracle como destino para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) na documentação da AWS.
+ **Oracle SQL Developer ou SQL \$1Plus**: essas ferramentas permitem que você se conecte à instância de banco de dados do Amazon RDS para Oracle.

## Épicos
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-epics"></a>

### Configurar o banco de dados de destino
<a name="set-up-your-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de banco de dados do Amazon RDS para Oracle. | Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/. Crie uma instância de banco de dados Oracle selecionando o mecanismo, o modelo, a configuração de credenciais do banco de dados, o tipo de instância, o armazenamento, as configurações Multi-AZ, a nuvem privada virtual (VPC) e a configuração, as credenciais de login e outras configurações para o banco de dados Oracle. Para obter instruções, consulte os links na seção “Recursos relacionados”. Ou use o CloudFormation modelo da AWS (Create\$1RDS.yaml) no anexo para criar a instância de banco de dados Amazon RDS for Oracle. | Desenvolvedor | 
| Conecte-se ao Amazon RDS e conceda privilégios ao usuário Oracle. | Modifique o grupo de segurança para abrir as portas apropriadas para se conectar a partir da máquina local e da instância de replicação do AWS DMS. Ao configurar a conectividade, certifique-se de que a opção “Acessível ao público” esteja selecionada para que você possa se conectar ao banco de dados fora da VPC. Conecte-se ao Amazon RDS com o Oracle SQL Developer ou o SQL \$1Plus usando as credenciais de login, crie um usuário do AWS DMS e forneça os privilégios necessários ao usuário do AWS DMS para modificar o banco de dados. | Desenvolvedor | 

### Configurar o grupo de segurança da EC2 instância de origem
<a name="configure-the-security-group-of-the-source-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique se o banco de dados Oracle está funcionando. | Use o Secure Shell (SSH) para se conectar à EC2 instância e tente se conectar ao banco de dados Oracle usando o SQL \$1Plus. | Desenvolvedor | 
| Modificação do grupo de segurança. | Modifique o grupo de segurança da EC2 instância para abrir as portas apropriadas, para que você possa se conectar a partir da sua máquina local e da instância de replicação do AWS DMS. | Desenvolvedor | 

### Configurar o AWS DMS
<a name="set-up-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de replicação do AWS DMS. | No AWS DMS, crie uma instância de replicação na mesma VPC da sua instância de banco de dados Amazon RDS para Oracle. Especifique o nome e a descrição da instância de replicação, escolha a classe da instância e a versão do mecanismo de replicação (use o padrão), escolha a VPC na qual você criou a instância de banco de dados Amazon RDS, defina configurações Multi-AZ, se necessário, aloque armazenamento, especifique a zona de disponibilidade e defina configurações adicionais. Como alternativa, você pode usar o CloudFormation modelo da AWS (DMS.yaml) no anexo para implementar essa etapa. | DBA | 
| Conecte-se aos endpoints dos bancos de dados de origem e de destino. | Crie os endpoints do banco de dados de origem e de destino especificando o identificador do endpoint, o mecanismo, o servidor, a porta, as credenciais de login e os atributos extras de conexão. Para o servidor de origem, use o DNS público da EC2 instância que está hospedando o banco de dados Oracle. Para o servidor de destino, use o endpoint do Amazon RDS para Oracle. Execute um teste para verificar se as conexões de origem e destino estão funcionando. Como alternativa, você pode usar o CloudFormation modelo da AWS (DMS.yaml) no anexo para implementar essa etapa. | DBA | 
| Crie uma tarefa do AWS DMS. | Crie uma tarefa do AWS DMS para migrar dados do endpoint de origem para o endpoint de destino, para configurar a replicação entre o endpoint de origem e de destino, ou ambos. Ao criar a tarefa do AWS DMS, especifique a instância de replicação, o endpoint de origem, o endpoint de destino, o tipo de migração (somente dados, somente replicação ou ambos), o mapeamento da tabela e o filtro. Execute a tarefa do AWS DMS, monitore a tarefa, verifique as estatísticas da tabela e verifique os registros na Amazon CloudWatch. Como alternativa, você pode usar o CloudFormation modelo da AWS (DMS.yaml) no anexo para implementar essa etapa. | DBA | 

## Recursos relacionados
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-related-resources"></a>
+ [Criação de uma instância de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateOracleInstance.html)
+ [Conectar-se a uma instância de banco de dados executando o mecanismo de banco de dados Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToOracleInstance.html)
+ [Documentação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Instruções passo a passo do AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Migrar bancos de dados Oracle para a Nuvem AWS ](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Anexos
<a name="attachments-4db0c731-0897-4eb8-a06f-b648c3d94b2c"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/4db0c731-0897-4eb8-a06f-b648c3d94b2c/attachments/attachment.zip)

# Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash"></a>

*Aditya Goteti, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-summary"></a>

Esse padrão descreve como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash. Ele inclui considerações arquitetônicas e alguns conjuntos de habilidades e recomendações necessários. Os dados podem ser de uma única tabela ou de várias tabelas nas quais uma pesquisa de texto completo precisará ser realizada. 

OpenSearch O serviço pode ser configurado em uma nuvem privada virtual (VPC) ou pode ser colocado publicamente com restrições baseadas em IP. Esse padrão descreve um cenário em que o OpenSearch serviço é configurado em uma VPC. O Logstash é usado para coletar os dados do banco de dados Oracle, analisá-los no formato JSON e, em seguida, alimentar os dados no Service. OpenSearch  

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Java 8 (exigido pelo Logstash 6.4.3)
+ Conectividade entre os servidores de banco de dados locais e as instâncias do Amazon Elastic Compute Cloud EC2 (Amazon) em uma VPC, estabelecida usando a Rede Privada Virtual da AWS (AWS VPN)
+ Uma consulta para recuperar os dados necessários para serem enviados ao OpenSearch Serviço a partir do banco de dados
+ Drivers do Java Database Connectivity (JDBC) da Oracle

**Limitações**
+ O Logstash não consegue identificar registros que foram excluídos permanentemente do banco de dados 

**Versões do produto**
+ Banco de Dados Oracle 12c
+ OpenSearch Serviço 6.3
+ Logstash 6.4.3

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados on-premises da Oracle
+ VPN AWS on-premises

**Pilha de tecnologias de destino**
+ VPC
+ EC2 instância
+ OpenSearch Serviço 
+ Logstash
+ NAT Gateway (para atualizações do sistema operacional em EC2 instâncias e para instalar Java 8, Logstash e plug-ins)

**Arquitetura de migração de dados**

![\[Como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/09f6d2de-de2f-4ed6-af93-34b71b75a263/images/df6a61fb-09fb-49d4-a7e8-b04e88c003df.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-tools"></a>
+ Logstash 6.4.3
+ Plugin de entrada JDBC ([download e mais informações](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html))
+ [Plugin de saída do Logstash (logstash-output-amazon\$1es)](https://github.com/awslabs/logstash-output-amazon_es)
+ Driver JDBC da Oracle

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique o tamanho do banco de dados de origem | O tamanho dos dados de origem é um dos parâmetros que você usa para determinar o número de fragmentos a serem configurados em um índice. | DBA, desenvolvedor do banco de dados | 
| Analise os tipos de dados de cada coluna e os dados correspondentes. | OpenSearch O serviço mapeia dinamicamente o tipo de dados quando um campo inédito é encontrado no documento. Se houver algum tipo ou formato de dados específico (por exemplo, campos de data) que precise ser declarado explicitamente, identifique os campos e defina o mapeamento desses campos durante a criação do índice. | Proprietário do aplicativo, desenvolvedor, desenvolvedor de banco de dados | 
| Determine se há alguma coluna com chaves primárias ou exclusivas. | Para evitar a duplicação de registros no Amazon OpenSearch Service durante atualizações ou inserções, você precisa `document_id` definir a configuração na seção de saída do `amazon_es` plug-in (por exemplo, `document_id => "%{customer_id}"` onde `customer_id` está uma chave primária). | Proprietário do aplicativo, desenvolvedor | 
| Analise o número e a frequência dos novos registros adicionados; verifique com que frequência os registros são excluídos. | Essa tarefa é necessária para entender a taxa de crescimento dos dados de origem. Se os dados forem lidos intensivamente e as inserções forem raras, você poderá ter um único índice. Se novos registros forem inseridos com frequência e não houver exclusões, o tamanho do fragmento pode facilmente exceder o tamanho máximo recomendado de 50 GB. Nesse caso, você pode criar dinamicamente um índice configurando padrões de índice no Logstash e no código em que você pode acessá-lo usando um alias. | Proprietário do aplicativo, desenvolvedor | 
| Determine quantas réplicas são necessárias. |  | Proprietário do aplicativo, desenvolvedor | 
| Determine o número de fragmentos a serem configurados no índice. |  | Proprietário do aplicativo, desenvolvedor | 
| Identifique os tipos de instância para nós mestres dedicados, nós de dados e a EC2 instância. | Para obter mais informações, consulte a seção [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). | Proprietário do aplicativo, desenvolvedor | 
| Determine o número de nós principais dedicados e nós de dados necessários. | Para obter mais informações, consulte a seção [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). |  | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute uma EC2 instância. | Execute uma EC2 instância dentro da VPC à qual o AWS VPN está conectado. | Construções do Amazon VPC, AWS VPN | 
| Instale o Logstash na EC2 instância. |  | Desenvolvedor | 
| Instale os plug-ins do Logstash. | Instale os plug-ins necessários do Logstash `jdbc-input` e ` logstash-output-amazon_es`. | Desenvolvedor | 
| Configure o Logstash. | Crie o armazenamento de chaves do Logstash para armazenar informações confidenciais, como chaves do AWS Secrets Manager e credenciais do banco de dados, e depois coloque as referências em um arquivo de configuração do Logstash. | Desenvolvedor | 
| Configure fila de mensagens não entregues e a fila persistente. | Por padrão, quando o Logstash encontra um evento que não pode ser processado porque os dados contêm um erro de mapeamento ou algum outro problema, o pipeline do Logstash trava ou descarta o evento malsucedido. Para se proteger contra perda de dados nessa situação, você pode configurar o Logstash para gravar eventos malsucedidos em uma fila de mensagens não entregues em vez de descartá-los. Para se proteger contra perda de dados durante o encerramento anormal, o Logstash tem um atributo de fila persistente que armazenará a fila de mensagens no disco. As filas persistentes fornecem a durabilidade dos dados no Logstash. | Desenvolvedor | 
| Crie o domínio do Amazon OpenSearch Service. | Crie o domínio do Amazon OpenSearch Service com uma política de acesso que não exija a assinatura de solicitações com as credenciais do AWS Identity and Access Management (IAM). O domínio do Amazon OpenSearch Service deve ser criado dentro da mesma VPC. Você também deve selecionar os tipos de instância e definir o número de nós principais e dedicados com base na sua análise. | Desenvolvedor | 
| Configure os registros necessários OpenSearch do Amazon Service. | Para obter mais informações, consulte a [documentação do OpenSearch serviço](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html). |  | 
| Crie o índice. |  | Desenvolvedor | 
| Inicie o Logstash. | Execute o Logstash como um serviço em segundo plano. O Logstash executa a consulta SQL configurada, extrai os dados, os converte no formato JSON e os envia para o Service. OpenSearch Para o carregamento inicial, não configure o agendador no arquivo de configuração do Logstash. | Desenvolvedor | 
| Verifique os documentos. | Verifique o número de documentos no índice e se todos os documentos estão presentes no banco de dados de origem. Durante o carregamento inicial, eles são adicionados ao índice e usados para interromper o Logstash. Altere a configuração do Logstash para adicionar um agendador que seja executado em um intervalo fixo, dependendo dos requisitos do cliente, e reinicie o Logstash. O Logstash selecionará somente os registros que foram atualizados ou adicionados após a última execução, e a data e hora da última execução será armazenada no arquivo configurado com a propriedade `last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run"` no arquivo de configuração do Logstash. | Desenvolvedor | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources"></a>
+ [ CloudWatch Alarmes recomendados](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html) 
+ [Amazon OpenSearch Service Master Nodes dedicados](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-dedicatedmasternodes.html) 
+ [Dimensionamento de domínios de OpenSearch serviços da Amazon](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html) 
+ [Logstash documentation (Documentação do Logstash)](https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html) 
+ [Plugin de entrada JDBC](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Plugin de saída do Logstash](https://github.com/awslabs/logstash-output-amazon_es)
+ [Site da Amazon OpenSearch Service](https://aws.amazon.com/elasticsearch-service/) 

# Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle"></a>

*Baji Shaik e Pavan Pusuluri, da Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-summary"></a>

Esse padrão descreve as etapas para migrar bancos de dados Oracle on-premises para um Amazon Relational Database Service (Amazon RDS) para Oracle. Como parte do processo de migração, você cria um plano de migração e considera fatores importantes sobre sua infraestrutura de banco de dados de destino com base no seu banco de dados de origem. Você pode escolher uma das duas opções de migração com base nos requisitos comerciais e no caso de uso:
+ AWS Database Migration Service (AWS DMS): você pode usar o AWS DMS para migrar bancos de dados para a Nuvem AWS de forma rápida e segura. Seu banco de dados de origem permanece totalmente operacional durante a migração, o que minimiza o tempo de inatividade de aplicativos que dependem dele. Você pode reduzir o tempo de migração usando o AWS DMS para criar uma tarefa que captura as mudanças em andamento após a conclusão de uma migração inicial de carga completa por meio de um processo chamado [captura de dados de alteração (change data capture, CDC)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). 
+ Ferramentas nativas da Oracle — Você pode migrar bancos de dados usando ferramentas nativas da Oracle, como Oracle e [Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200) e [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) com [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) para CDC. Você também pode usar ferramentas nativas da Oracle, como o [Export utility](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_export.htm#SUTIL3634) original e o [Import utility](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL001) original para reduzir o tempo de carregamento total.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados Oracle on-premises
+ Uma instância de banco de dados Oracle do Amazon RDS

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ Versões do Oracle 11g (versões 11.2.0.3.v1 e mais recentes ) até 12.2 e 18c. Para obter uma lista de versionamentos e edições compatíveis, consulte [Amazon RDS para Oracle ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)na documentação da AWS. Para obter a lista mais recente de versões Oracle compatíveis com AWS DMS, consulte [Uso de um banco de dados Oracle como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) na documentação da AWS.

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados Oracle on-premises.

**Pilha de tecnologias de destino**
+ Amazon RDS para Oracle

**Arquitetura de origem e destino**

O diagrama a seguir mostra como migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle usando o AWS DMS.

![\[Fluxo de trabalho para migrar bancos de dados Oracle para o Amazon RDS for Oracle usando o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/20f94a5c-1095-4182-b964-c379414c9a36.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Crie ou use um usuário de banco de dados existente, conceda as [permissões do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed) necessárias a esse usuário, ative o [modo ARCHIVELOG](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode) e, em seguida, configure o [registro suplementar](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).

1. Configure o gateway da Internet entre a rede on-premises e a rede da AWS.

1. Configure [endpoints de origem e destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) para o AWS DMS.

1. Configure as [tarefas de replicação do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) para migrar os dados do banco de dados de origem para o banco de dados de destino.

1. Conclua as atividades de pós-migração no banco de dados de destino.

O diagrama a seguir mostra como migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle usando ferramentas Oracle nativas.

![\[Fluxo de trabalho para migrar bancos de dados Oracle para o Amazon RDS for Oracle usando as ferramentas da Oracle.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/af8e0e1a-d4c8-4d99-9780-3e093ad9a257.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Crie ou use um usuário de banco de dados existente e conceda as permissões necessárias para fazer backup do banco de dados Oracle usando os utilitários Oracle Export (`exp`) e Import (`imp`).

1. Configure o gateway da Internet entre a rede on-premises e a rede da AWS.

1. Configure o cliente Oracle no [Bastion host](https://www.oracle.com/security/cloud-security/bastion/) para usar o banco de dados de backup.

1. Faça upload do backup do banco de dados para um bucket do Amazon Simple Storage Service (Amazon S3)

1. Restaure o backup do banco de dados do Amazon S3 para um banco de dados do Amazon RDS para Oracle.

1. Configure o Oracle GoldenGate para CDC.

1. Conclua as atividades de pós-migração no banco de dados de destino.

## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a Nuvem AWS ou entre combinações de configurações na nuvem e on-premises.
+ As ferramentas nativas da Oracle ajudam você a realizar uma migração homogênea. Você pode usar o [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) para migrar dados entre seus bancos de dados de origem e de destino. Esse padrão usa o Oracle Data Pump para realizar a carga completa do banco de dados de origem para o banco de dados de destino.
+  GoldenGateA [Oracle](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) ajuda você a realizar a replicação lógica entre dois ou mais bancos de dados. Esse padrão é usado GoldenGate para replicar as alterações delta após o carregamento inicial usando o Oracle Data Pump.

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie documentos do projeto e registre os detalhes do banco de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Identifique os requisitos de armazenamento. | Identifique e documente seus requisitos de armazenamento, incluindo o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html)Para [volumes SSD de uso geral (gp2)](https://aws.amazon.com/ebs/volume-types/), você obtém três IOPS por 1 GB de armazenamento. Aloque o armazenamento calculando o número total de IOPS de leitura e gravação no banco de dados de origem. | DBA, SysAdmin | 
| Escolha o tipo de instância adequado com base nos requisitos de computação. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | SysAdmin | 
| Identifique os requisitos de segurança de acesso à rede. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Identifique a estratégia de migração de aplicativos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA SysAdmin, proprietário do aplicativo | 
| Identifique os riscos da migração. | Avalie os riscos e mitigações específicos da migração de documentos e bancos de dados. Por exemplo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC. | [Crie uma nova Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html) para a instância do banco de dados de destino. | SysAdmin | 
| Criar grupos de segurança. | [Crie um grupo de segurança](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group) em sua nova VPC para permitir conexões de entrada com a instância de banco de dados. | SysAdmin | 
| Crie uma instância de banco de dados do Amazon RDS para Oracle. | [Crie a instância de banco de dados de destino](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) com a nova VPC e o grupo de segurança e, em seguida, inicie a instância. | SysAdmin | 

### Opção 1 - Use ferramentas nativas da Oracle ou de terceiros para migrar dados
<a name="option-1---use-native-oracle-or-third-party-tools-to-migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare o banco de dados de origem. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Preparar o banco de dados de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 

### Opção 2 - Use o AWS DMS para migrar dados
<a name="option-2---use-aws-dms-to-migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar os dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Migre os dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA SysAdmin, proprietário do aplicativo | 
| Implemente seu plano de reversão. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, proprietário do aplicativo | 

### Encerre o projeto de migração
<a name="close-out-the-migration-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpar os recursos | Encerre ou remova os recursos temporários da AWS, como a instância de replicação do AWS DMS e o bucket S3. | DBA, SysAdmin | 
| Revise os documentos do projeto. | Revise seus documentos e metas de planejamento de migração e confirme se você concluiu todas as etapas de migração necessárias. | DBA SysAdmin, proprietário do aplicativo | 
| Colete métricas. | Registre as principais métricas de migração, incluindo o tempo necessário para concluir a migração, a porcentagem de tarefas manuais versus tarefas baseadas em ferramentas, economia de custos e outras métricas relevantes. | DBA SysAdmin, proprietário do aplicativo | 
| Encerre o projeto. | Encerre o projeto de migração e obtenha feedback sobre o empenho. | DBA SysAdmin, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-resources"></a>

**Referências**
+ [Migração de bancos de dados Oracle para a nuvem da AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html) (AWS Prescriptive Guidance)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/) (documentação do AWS DMS)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/) (documentação do Amazon RDS)

**Tutoriais e vídeos**
+ [Introdução ao AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/) (documentação do AWS DMS)
+ [Amazon RDS resources](https://aws.amazon.com/rds/getting-started/) (documentação do Amazon RDS)
+ [AWS Database Migration Service (DMS) (YouTube)](https://www.youtube.com/watch?v=zb4GcjEdl8U)

# Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle usando o Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump"></a>

*Mohan Annam e Brian motzer, da Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-summary"></a>

Esse padrão descreve como migrar um banco de dados Oracle de um datacenter on-premises para um Amazon Relational Database Service (Amazon RDS) para instância de banco de dados Oracle usando o Oracle Data Pump. 

O padrão envolve criar um arquivo de despejo de dados do banco de dados de origem, armazenar o arquivo em um bucket do Amazon Simple Storage Service (Amazon S3) e restaurar os dados em uma instância de banco de dados do Amazon RDS para Oracle. Esse padrão é útil quando você encontra limitações ao usar o AWS Database Migration Service (AWS DMS) para a migração. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ As permissões necessárias para criar perfis no AWS Identity and Access Management (IAM) e para um upload de várias partes do Amazon S3
+ As permissões necessárias para exportar dados do banco de dados de origem
+ AWS Command Line Interface (AWS CLI), [instalado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [configurado](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Versões do produto**
+ O Oracle Data Pump está disponível somente para o banco de dados Oracle 10g Release 1 (10.1) e versões posteriores.

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados Oracle on-premises.

**Pilha de tecnologias de destino**
+ Amazon RDS para Oracle
+ Cliente SQL (desenvolvedor Oracle SQL)
+ Um bucket do S3

**Arquitetura de origem e destino**

![\[Upload de várias partes do Amazon S3 de um banco de dados Oracle local para o Amazon RDS usando o Oracle Data Pump.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/d8d6e00f-753e-4ecc-80e5-e60e279a699b/images/1bb6095a-0a95-4469-be0e-7b7bd59b35ae.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-tools"></a>

**Serviços da AWS**
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los. Nesse padrão, o IAM é usado para criar os perfis e as políticas necessárias para migrar dados do Amazon S3 para o Amazon RDS para Oracle.
+ O [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) ajuda você a configurar, operar e escalar um banco de dados relacional Oracle na Nuvem AWS.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

**Outras ferramentas**
+ O [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) ajuda você a mover dados e metadados de um banco de dados para outro em alta velocidade. Nesse padrão, o Oracle Data Pump é usado para exportar o arquivo de despejo de dados (.dmp) para o servidor Oracle e importá-lo para o Amazon RDS para Oracle. Para obter mais informações, consulte [Como importar dados no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) na documentação do Amazon RDS.
+ O [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) é um ambiente de desenvolvimento integrado que simplifica o desenvolvimento e o gerenciamento de bancos de dados Oracle em implantações tradicionais e baseadas em nuvem. Ele interage com o banco de dados Oracle on-premises e com o Amazon RDS para Oracle para executar os comandos SQL necessários para exportar e importar dados.

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-epics"></a>

### Criar um bucket do S3.
<a name="create-an-s3-bucket"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o bucket. | Para criar um bucket do S3, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Administrador de sistemas AWS | 

### Criar o perfil do IAM e atribuir políticas
<a name="create-the-iam-role-and-assign-policies"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar permissões do IAM | Para configurar as permissões, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing). | Administrador de sistemas AWS | 

### Criar a instância de destino do banco de dados do Amazon RDS para Oracle e associar o perfil de integração do Amazon S3
<a name="create-the-target-amazon-rds-for-oracle-db-instance-and-associate-the-amazon-s3-integration-role"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a instância de destino do banco de dados do Amazon RDS para Oracle. | Para criar a instância do Amazon RDS para Oracle, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html). | Administrador de sistemas AWS | 
| Associe o perfil à instância de banco de dados. | Para associar o perfil à instância, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing.instance). | DBA | 

### Criar o usuário do banco de dados no banco de dados de destino
<a name="create-the-database-user-on-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o usuário. | Conecte-se ao banco de dados Amazon RDS para Oracle de destino a partir do Oracle SQL Developer ou SQL\$1Plus e execute o seguinte comando SQL para criar o usuário para o qual importar o esquema.<pre>create user SAMPLE_SCHEMA identified by <PASSWORD>;<br />grant create session, resource to <USER NAME>;<br />alter user <USER NAME> quota 100M on users;</pre> | DBA | 

### Criar o arquivo de exportação do banco de dados Oracle de origem
<a name="create-the-export-file-from-the-source-oracle-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um arquivo de despejo de dados. | Para criar um arquivo de despejo nomeado `sample.dmp` no diretório `DATA_PUMP_DIR` para exportar o usuário `SAMPLE_SCHEMA`, use o script a seguir.<pre>DECLARE<br />    hdnl NUMBER;<br />BEGIN<br />    hdnl := dbms_datapump.open(operation => 'EXPORT', <br />                                job_mode => 'SCHEMA', <br />                                job_name => NULL);<br /><br />    dbms_datapump.add_file( handle => hdnl, <br />                            filename => 'sample.dmp', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />    dbms_datapump.add_file(handle => hdnl, <br />                            filename => 'export.log', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_log_file);<br /><br />    dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');  <br /><br />    dbms_datapump.start_job(hdnl);<br />END;<br />/</pre>Revise os detalhes da exportação revisando o arquivo `export.log` em seu diretório local `DATA_PUMP_DIR`.  | DBA | 

### Faça upload do arquivo de despejo no bucket do S3.
<a name="upload-the-dump-file-to-the-s3-bucket"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Carregue o arquivo de despejo de dados da origem para o bucket do S3. | Quando usar a AWS CLI, execute o comando a seguir.<pre>aws s3 cp sample.dmp s3://<bucket_created_epic_1>/</pre> | DBA | 

### Baixe o arquivo de exportação do bucket do S3 para a instância do RDS
<a name="download-the-export-file-from-the-s3-bucket-to-the-rds-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o arquivo de despejo de dados para o Amazon RDS | Para copiar o arquivo de despejo `sample.dmp` do bucket do S3 no banco de dados do Amazon RDS para Oracle, execute o seguinte comando SQL. Neste exemplo, o arquivo `sample.dmp` é baixado do bucket do S3 `my-s3-integration1` para o diretório Oracle `DATA_PUMP_DIR`. Verifique se você tem espaço em disco suficiente alocado para sua instância do RDS para acomodar o banco de dados e o arquivo de exportação.<pre>-- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.<br /><br />SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(<br />      p_bucket_name    =>  'my-s3-integration',    <br />      p_s3_prefix => 'sample.dmp',<br />      p_directory_name =>  'DATA_PUMP_DIR') <br />   AS TASK_ID FROM DUAL;</pre>O comando anterior gera um ID da tarefa. Para revisar o status do download analisando os dados no ID da tarefa, execute o comando a seguir.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));<br /><br /></pre>Para ver os arquivos no diretório `DATA_PUMP_DIR`, execute o seguinte comando.<pre>SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp<br />FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre> | Administrador de sistemas AWS | 

### Importe o arquivo de despejo para o banco de dados de destino.
<a name="import-the-dump-file-into-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Restaure o esquema e os dados no Amazon RDS. | Para importar o arquivo de despejo para o esquema do banco de dados `sample_schema`, execute o seguinte comando SQL do SQL Developer ou do SQL\$1Plus.<pre>DECLARE<br />hdnl NUMBER;<br />BEGIN<br /><br />hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle    => hdnl, filename  => 'import.log', directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);<br /><br />DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');<br /><br />DBMS_DATAPUMP.START_JOB(hdnl);<br /><br />END;<br />/</pre>Para ver o arquivo de log da importação, execute o comando a seguir.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));</pre> | DBA | 

### Remova o arquivo de despejo do diretório DATA\$1PUMP\$1DIR
<a name="remove-the-dump-file-from-the-data_pump_dir-directory"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Listar e limpar os arquivos de exportação. | Para listar e remover os arquivos de exportação no diretório `DATA_PUMP_DIR`, execute os comandos a seguir.<pre>-- List the files<br />SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre><pre>-- Remove the files<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');</pre> | Administrador de sistemas AWS | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-resources"></a>
+ [Integração do Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing)
+ [Criar uma instância de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html)
+ [Importar dados para o Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3)
+ [Documentação do Amazon S3](https://docs.aws.amazon.com/s3/index.html)
+ [Documentação do IAM](https://docs.aws.amazon.com/iam/index.html)
+ [Documentação do Amazon RDS](https://docs.aws.amazon.com/rds/index.html)
+ [Documentação do Oracle Data Pump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html)
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/)

# Migre do PostgreSQL na Amazon para o EC2 Amazon RDS for PostgreSQL usando pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

## Resumo
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-summary"></a>

**Esse padrão descreve as etapas para migrar um banco de dados PostgreSQL (versão 9.5 e posterior) do Amazon Elastic Compute Cloud (Amazon) para o Amazon EC2 Relational Database Service (Amazon RDS) para PostgreSQL usando a extensão pglógica do PostgreSQL.** O Amazon RDS agora tem suporte para a extensão pglogical nas versões 10 e posteriores do PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Pré-requisitos **
+ Escolher o tipo certo de instância do Amazon RDS. Para obter mais informações, consulte [Tipos de instância do Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Certifique-se de que as versões de origem e destino do PostgreSQL sejam as mesmas.   
+ Instale e integre a [extensão **pglogical** com o PostgreSQL](https://github.com/2ndQuadrant/pglogical) na Amazon. EC2 

**Versões do produto**
+ PostgreSQL versão 10 e posterior no Amazon RDS, com os recursos suportados no Amazon RDS (consulte [PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) na documentação da AWS). Esse padrão foi testado com a migração do PostgreSQL 9.5 para o PostgreSQL versão 10 no Amazon RDS, mas também se aplica às versões posteriores do PostgreSQL no Amazon RDS. 

## Arquitetura
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-architecture"></a>

**Arquitetura de migração de dados**

![\[Arquitetura de migração de dados para o PostgreSQL no Amazon RDS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Ferramentas
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ Extensão [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical)
+ Utilitários nativos do PostgreSQL: [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html) e [https://www.postgresql.org/docs/9.6/app-pgrestore.html](https://www.postgresql.org/docs/9.6/app-pgrestore.html)

## Épicos
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-epics"></a>

### Migrar dados usando a extensão pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de banco de dados do Amazon RDS PostgreSQL | Atualizar uma instância de banco de dados PostgreSQL no Amazon RDS. Para obter instruções, consulte a documentação do [Amazon RDS para PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) | DBA | 
| Obter um despejo de esquema do banco de dados PostgreSQL de origem e restaurar no banco de dados PostgreSQL de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Habilitar decodificação lógica. | No grupo de parâmetros de banco de dados do Amazon RDS, defina o parâmetro estático `rds.logical_replication` como 1. Para obter instruções, consulte a documentação do [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding). | DBA | 
| Criar a extensão pglogical nos bancos de dados de origem e de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Criar um publicador no banco de dados PostgreSQL de origem. | Para criar um publicador, execute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' );<br />EOF</pre> | DBA | 
| Criar um conjunto de replicação, adicionar tabelas e sequências. | Para criar um conjunto de replicação no banco de dados PostgreSQL de origem e adicionar tabelas e sequências ao conjunto de replicação, execute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | DBA | 
| Criar um assinante.  | Para criar um assinante no banco de dados PostgreSQL de destino, execute:<pre>psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF<br />SELECT pglogical.create_node(<br />    node_name := 'subscriber1',<br />    dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser'<br />);<br />EOF</pre> | DBA | 
| Criar uma assinatura. | Para criar uma assinatura no banco de dados PostgreSQL de destino, execute:<pre>psql -h <rds-endpoint> -d target -U postgres  <<EOF<br />SELECT pglogical.create_subscription(<br /> subscription_name := 'subscription1',<br /> replication_sets := array['default'],<br />    provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser'<br />);</pre> | DBA | 

### Validar os dados
<a name="validate-your-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verificar os bancos de dados de origem e de destino. | Verifique os bancos de dados de origem e destino para confirmar se os dados estão sendo replicados com sucesso. Você pode realizar validação básica usando `select count(1)` da origem e tabelas de destino. | DBA | 

## Recursos relacionados
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-resources"></a>
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Replicação lógica para o PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) (documentação do Amazon RDS)
+ [pglogical (repositório](https://github.com/2ndQuadrant/pglogical)) GitHub 
+ [Limitações do pglogical (arquivo README](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) GitHub do repositório)
+ [Migração do PostgreSQL do local ou da Amazon EC2 para o Amazon RDS usando replicação lógica (blog do banco de dados da](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/) AWS)

# Migrar um banco de dados PostgreSQL on-premises para o Aurora PostgreSQL
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql"></a>

*Baji Shaik e Jitender Kumar, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-summary"></a>

O Amazon Aurora Edição Compatível com PostgreSQL combina o desempenho e a disponibilidade dos bancos de dados comerciais de ponta com a simplicidade e a economia dos bancos de dados de código aberto. O Aurora fornece esses benefícios escalando o armazenamento em três zonas de disponibilidade na mesma região da AWS e oferece suporte a até 15 instâncias de réplica de leitura para aumentar a escala horizontalmente de workloads de leitura e fornecer alta disponibilidade em uma única região. Ao usar um banco de dados global Aurora, você pode replicar bancos de dados PostgreSQL em até cinco regiões para acesso remoto de leitura e recuperação de desastres no caso de uma falha na região. Esse padrão descreve as etapas para migrar um banco de dados de origem PostgreSQL on-premises para um banco de dados compatível com o Aurora PostgreSQL. O padrão inclui duas opções de migração: usar o AWS Data Migration Service (AWS DMS) ou usar ferramentas nativas do PostgreSQL (como [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html), [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) e [psql](https://www.postgresql.org/docs/current/app-psql.html)) ou ferramentas de terceiros. 

As etapas descritas nesse padrão também se aplicam aos bancos de dados PostgreSQL de destino nas instâncias do Amazon Relational Database Service (Amazon RDS) e do Amazon Elastic Compute Cloud (Amazon). EC2

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem PostgreSQL em um datacenter no on-premises
+ [Uma instância de banco de dados compatível com o Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html) ou uma [instância de banco de dados Amazon RDS para PostgreSQL](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/)

**Limitações**
+ Os limites de tamanho do banco de dados são 64 TB para Amazon RDS para PostgreSQL e 128 TB para Aurora compatível com PostgreSQL.
+ Se você estiver usando a opção de migração do AWS DMS, analise [as limitações do AWS DMS sobre o uso de um banco de dados PostgreSQL como fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations).

**Versões do produto**
+ Para suporte às versões principal e secundária do PostgreSQL no Amazon RDS, consulte as atualizações do [Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) na documentação do Amazon RDS.
+ Para suporte ao PostgreSQL no Aurora, consulte as [atualizações do Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html) na documentação do Aurora.
+ Se você estiver usando a opção de migração do AWS DMS, consulte as [versões compatíveis do PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) na documentação do AWS DMS.

## Arquitetura
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados PostgreSQL on-premises

**Pilha de tecnologias de destino**
+ Instância de banco de dados compatível com o Aurora PostgreSQL.

**Arquitetura de origem **

![\[Arquitetura de origem para banco de dados PostgreSQL on-premises\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/a8621ad3-781b-45a9-86a8-d0b0ec5c79ea.png)


**Arquitetura de destino**

![\[Arquitetura de destino para o banco de dados PostgreSQL no Amazon Aurora\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/fc2ec0cb-7b9b-4cc0-b70c-40e47c2f4c45.png)


**Arquitetura de migração de dados**

*Uso do AWS DMS*

![\[Migração de um banco de dados PostgreSQL on-premises para o Aurora usando o AWS DMS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/5336adb4-e9eb-47d0-a5b5-d149261b1638.png)


*Uso de ferramentas nativas do PostgreSQL*

![\[Migração de um banco de dados PostgreSQL on-premises para o Aurora usando pg_dump e pg_restore\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/3c6fb533-45ff-443e-bfb1-97e60cbdd583.png)


## Ferramentas
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-tools"></a>
+ O [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ajuda você a migrar armazenamentos de dados para a nuvem AWS ou entre combinações de configurações na nuvem e on-premises. O serviço é compatível com vários bancos de dados de origem e destino diferentes. Para obter informações sobre como validar as versões e edições do banco de dados de origem e destino do PostgreSQL compatíveis para uso com o AWS DMS, consulte [Uso de um banco de dados PostgreSQL como fonte do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos.
+ As ferramentas nativas do PostgreSQL incluem  [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html), [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) e [psql](https://www.postgresql.org/docs/current/app-psql.html).

## Épicos
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-epics"></a>

### Analise a migração
<a name="analyze-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões dos bancos de dados de origem e de destino. | Se você estiver usando o AWS DMS, verifique se está usando uma [versão compatível do PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html).  | DBA | 
| Identifique os requisitos para o tipo e a capacidade de armazenamento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, administrador de sistemas | 
| Escolha o tipo de instância, a capacidade, os atributos de armazenamento e os atributos de rede adequados. | Determine os requisitos de computação da instância do banco de dados de destino. Analise os problemas de desempenho conhecidos que talvez precisem de atenção adicional. Considere os seguintes fatores para determinar o tipo de instância apropriado:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para ter mais informações, consulte [Classes de instância de banco de dados do Aurora na documentação](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) do Aurora. | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. | Determine os grupos de segurança apropriados que permitiriam que o aplicativo se comunicasse com o banco de dados. | DBA, administrador de sistemas | 
| Identifique a estratégia de migração de aplicativos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietário do aplicativo, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC. | Crie uma nuvem privada virtual (VPC) para a instância do banco de dados de destino. | Administrador de sistemas | 
| Criar grupos de segurança. | Crie um grupo de segurança dentro da VPC (conforme determinado no épico anterior) para permitir conexões de entrada com a instância do banco de dados.  | Administrador de sistemas | 
| Configure e inicie o cluster de banco de dados do Aurora. | Crie a instância do banco de dados de destino com a nova VPC e o grupo de segurança e inicie a instância. | Administrador de sistemas | 

### Migração de dados: opção 1 (usando o AWS DMS)
<a name="migrate-data-option-1-using-aws-dms"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Conclua as etapas de pré-migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Concluir as etapas de migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Valide os dados. | Para garantir que seus dados foram migrados com precisão da origem para o destino, siga as [etapas de validação de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) na documentação do AWS DMS. | DBA | 

### Migração de dados: opção 2 (usando pg\$1dump e pg\$1restore)
<a name="migrate-data-option-2-using-pg_dump-and-pg_restore"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare o banco de dados de origem. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para obter mais informações, consulte a documentação do [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html) e o [passo a passo](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) na documentação do AWS DMS. | DBA | 
| Preparar o banco de dados de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para obter mais informações, consulte a documentação do [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) e o [passo a passo](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) na documentação do AWS DMS. | DBA | 
| Valide os dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. | Implemente a estratégia de migração de aplicativos que você criou no primeiro épico. | DBA, proprietário do aplicativo, administrador de sistemas | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietário do aplicativo, administrador de sistemas | 
| Se você precisar reverter a migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, proprietário do aplicativo | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desligar recursos. | Encerre os recursos temporários da AWS. | DBA, administrador de sistemas | 
| Valide os documentos. | Revise e valide os documentos do projeto. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Colete métricas. | Reúna métricas sobre a hora de migrar, porcentagem de economia de custos manuais versus ferramentas e assim por diante. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Fechar o projeto. | Feche o projeto e forneça feedback, se houver. | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-resources"></a>

**Referências**
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [VPCs e Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.html)
+ [Preço do Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Uso do banco de dados PostgreSQL como origem para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)
+ [Como criar uma instância de replicação do AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)
+ [Como criar endpoints de origem e destino usando o AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)

**Recursos adicionais**
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Instruções sobre migração step-by-step de dados](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Recursos do Amazon Aurora](https://aws.amazon.com/rds/aurora/getting-started/)

# Migre um banco de dados local do Microsoft SQL Server para o Microsoft SQL Server na Amazon executando Linux EC2
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux"></a>

*Tirumala Dasari, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-summary"></a>

Esse padrão descreve como migrar de um banco de dados local do Microsoft SQL Server executado no Microsoft Windows para o Microsoft SQL Server em uma instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) usando utilitários de backup e restauração.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Amazon EC2 Linux AMI (Amazon Machine Image) com Microsoft SQL Server
+ AWS Direct Connect entre o Windows local e o Microsoft SQL Server na instância Linux EC2 

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados Microsoft SQL Server on-premises

**Pilha de tecnologias de destino**
+  EC2 Instância Linux com um banco de dados Microsoft SQL Server

**Arquitetura de migração de banco de dados**

![\[Diagrama de arquitetura para migrar um banco de dados SQL Server local para uma instância Linux. EC2\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f331ad15-2d41-4087-a6d1-60e3443e2acf/images/f50a779a-ce5d-44b1-8d37-dedd6400a12c.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-tools"></a>
+ **WinSCP** - Essa ferramenta permite que os usuários do Windows compartilhem arquivos facilmente com usuários do Linux.
+ **Sqlcmd** - Esse utilitário de linha de comando permite enviar instruções ou lotes de T-SQL para instâncias locais e remotas do SQL Server. O utilitário é extremamente útil para tarefas repetitivas de banco de dados, como processamento em lote ou teste de unidade.

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-epics"></a>

### Prepare a instância EC2 Linux com o SQL Server
<a name="prepare-the-ec2-linux-instance-with-sql-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecione uma AMI que forneça o sistema operacional Linux e inclua o Microsoft SQL Server. |  | Sysadmin | 
| Configure a AMI para criar uma EC2 instância. |  | Sysadmin | 
| Crie regras de entrada e saída para grupos de segurança: |  | Sysadmin | 
| Configure a EC2 instância Linux para um banco de dados Microsoft SQL Server. |  | DBA | 
| Crie usuários e forneça permissões como no banco de dados de origem. |  | Proprietário do aplicativo, DBA | 
| Instale as ferramentas do SQL Server e o utilitário sqlcmd na instância Linux. EC2  |  | DBA | 

### Faça backup do banco de dados e mova o arquivo de backup para a EC2 instância Linux
<a name="back-up-the-database-and-move-backup-file-to-linux-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça o backup do banco de dados do SQL Server on-premises. |  | DBA | 
| Instale o WinSCP no Microsoft SQL Server |  | DBA | 
| Mova o arquivo de backup para a EC2 instância Linux que executa o Microsoft SQL Server. |  | DBA | 

### Restaure o banco de dados na EC2 instância Linux executando o SQL Server
<a name="restore-the-database-on-linux-ec2-instance-running-sql-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Restaure o banco de dados a partir do arquivo de backup do banco de dados usando o utilitário sqlcmd. |  | DBA | 
| Valide objetos e dados do banco de dados. |  | Desenvolvedor, engenheiro de testes | 

### Passe do Windows SQL Server para o Windows SQL Server em uma EC2 instância Linux
<a name="cut-over-from-windows-sql-server-to-windows-sql-server-on-linux-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide objetos e dados do banco de dados. |  | Desenvolvedor, engenheiro de testes | 
| Passe do banco de dados local do Microsoft SQL Server para a EC2 instância Linux que executa o Microsoft SQL Server. |  | DBA | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-resources"></a>
+ [Como configurar o SQL Server 2017 no Amazon Linux e no Ubuntu AMIs](https://aws.amazon.com/blogs/database/configuring-sql-server-2017-on-amazon-linux-2-and-ubuntu-amis/) 
+ [Instalação de ferramentas SQL em uma instância Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017#RHEL) 
+ [Backup e restauração de um banco de dados local do Microsoft SQL Server para o Microsoft SQL Server em uma instância Linux EC2 ](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017#create-a-backup-on-windows) 

# Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando servidores vinculados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers"></a>

*Kevin Yung, Viqash Adwani e Vishal Singh, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-summary"></a>

Os servidores vinculados permitem que o Microsoft SQL Server execute instruções SQL em outras instâncias de servidores de banco de dados. Esse padrão descreve como você pode migrar seu banco de dados on-premises do Microsoft SQL Server para o Amazon Relational Database Service (Amazon RDS) para o Microsoft SQL Server a fim de obter menor custo e maior disponibilidade. Atualmente, o Amazon RDS para Microsoft SQL Server não é compatível com conexões fora de uma rede da Amazon Virtual Private Cloud (Amazon VPC). 

Você pode usar esse padrão para atingir os seguintes objetivos:
+ Migrar o Microsoft SQL Server para o Amazon RDS para Microsoft SQL Server sem interromper os recursos do servidor vinculado.
+ Para priorizar e migrar o Microsoft SQL Server vinculado em diferentes ondas.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Verifique se o [Microsoft SQL Server no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) é compatível com os atributos que você precisa. 
+ Certifique-se de que você possa usar o [Amazon RDS para Microsoft SQL Server com agrupamentos padrão ou agrupamentos definidos em níveis de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html). 

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-architecture"></a>

**Pilha de tecnologia de origem**
+ Bancos de dados on-premises (Microsoft SQL Server)

 **Pilha de tecnologias de destino**
+ Amazon RDS para SQL Server

**Arquitetura do estado de origem**

![\[Diagram showing data replication between two data centers with primary and secondary SQL servers.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/776b453a-7fa0-43fd-b1ca-fb9e5cc21820.png)


 

 

 

 

 

 

 

 

 

 

 

 

**Arquitetura do estado de destino**

No estado de destino, você migra o Microsoft SQL Server para o Amazon RDS para Microsoft SQL Server usando servidores vinculados. Essa arquitetura usa um Network Load Balancer para proxy do tráfego do Amazon RDS para Microsoft SQL Server para servidores on-premises que executam o Microsoft SQL Server. O diagrama a seguir mostra a capacidade de proxy reverso do Network Load Balancer.

![\[Nuvem AWS architecture with RDS SQL Server instances in two availability zones and on-premises databases.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/6bdbdfbf-b048-4fbd-acef-0aeb826edb50.png)


 

## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-tools"></a>
+ AWS CloudFormation
+ Network Load Balancer 
+ Amazon RDS for SQL Server em várias zonas de disponibilidade (AZsmulti-)
+ AWS Database Migration Service (AWS DMS) 

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-epics"></a>

### Criar uma VPC de zona de pouso
<a name="create-a-landing-zone-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie a alocação do CIDR. |  | AWS SysAdmin | 
| Criar uma nuvem privada virtual (VPC). |  | AWS SysAdmin | 
| Crie as sub-redes VPC. |  | AWS SysAdmin | 
| Crie as listas de controle de acesso à sub-rede (ACLs). |  | AWS SysAdmin | 
| Crie as tabelas de rotas da sub-rede. |  | AWS SysAdmin | 
| Crie uma conexão com o AWS Direct Connect ou a rede privada virtual (VPN). |  | AWS SysAdmin | 

### Migrar o banco de dados para o Amazon RDS
<a name="migrate-the-database-to-amazon-rds"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar e conectar-se a uma instância de banco de dados do Amazon RDS para Microsoft SQL Server. |  | AWS SysAdmin | 
| Criar uma instância de replicação do AWS DMS. |  | AWS SysAdmin | 
| Crie endpoints para os bancos de dados de origem e destino no AWS DMS. |  | AWS SysAdmin | 
| Crie a tarefa de migração e defina a replicação contínua como ATIVADA após uma carga completa. |  | AWS SysAdmin | 
| Solicite uma alteração no firewall para permitir que o Amazon RDS para Microsoft SQL Server acesse os bancos de dados on-premises do SQL Server. |  | AWS SysAdmin | 
| Criar um Network Load Balancer. |  | AWS SysAdmin | 
| Crie um grupo de destino que tenha como destino os servidores de banco de dados em seu datacenter | Recomendamos que você use nomes de host na configuração de destino para incorporar eventos de failover do datacenter (DC). | AWS SysAdmin | 
| Execute a instrução SQL para configuração do servidor vinculado. | Execute as instruções SQL para adicionar um servidor vinculado usando a ferramenta de gerenciamento Microsoft SQL na instância de banco de dados Amazon RDS para Microsoft SQL Server. Na instrução SQL, defina @datasrc para usar o nome de host do Network Load Balancer. Adicione credenciais de login do servidor vinculado usando a ferramenta de gerenciamento Microsoft SQL na instância de banco de dados Amazon RDS para Microsoft SQL Server. | AWS SysAdmin | 
| Teste e valide as funções do SQL Server. |  | AWS SysAdmin | 
| Crie uma substituição. |  | AWS SysAdmin | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-related-resources"></a>
+ [Tarefas comuns de gerenciamento para o Microsoft SQL Server no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General)
+ [Agrupamentos e conjuntos de caracteres do Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) 
+ [Documentação do Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Implementar servidores vinculados com Amazon RDS para Microsoft SQL Server (publicação no blog)](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/)

# Saiba como migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando backup e restauração nativos.
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods"></a>

*Tirumala Dasari, David Queiroz e Vishal Singh, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-summary"></a>

Esse padrão descreve como migrar um banco de dados Microsoft SQL Server on-premises para uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) for SQL Server (migração homogênea). O processo de migração é baseado em métodos nativos de backup e restauração do SQL Server. Ele usa o SQL Server Management Studio (SSMS) para criar um arquivo de backup do banco de dados e um bucket do Amazon Simple Storage Service (Amazon S3) para armazenar o arquivo de backup antes de restaurá-lo no Amazon RDS para SQL Server.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Políticas de Identity and Access Management, perfil do IAM para acessar o bucket do S3 e a instância de banco de dados do Amazon RDS para SQL Server.

**Limitações**
+ O processo descrito nesse padrão migra somente o banco de dados. Os logins do SQL ou os usuários do banco de dados, incluindo qualquer trabalho do SQL Server Agent, não são migrados porque exigem etapas adicionais.

**Versões do produto**
+ SQL Server 2012-2017. Para obter a lista mais recente de versões e atributos compatíveis, consulte [Microsoft SQL Server no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) na documentação da AWS.

## Arquitetura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados Microsoft SQL Server on-premises

**Pilha de tecnologias de destino**
+ Instância de banco de dados do Amazon RDS para SQL Server

**Arquitetura** de **migração de dados**

![\[Arquitetura para a migração de um banco de dados SQL Server on-premises para uma instância de banco de dados do Amazon RDS para SQL Server.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/c2dcd6ab-deb1-4d5e-b3c5-3bf48c02ca4e/images/29f90473-6dd4-4574-bfbd-5c6a0481c40e.png)


## Ferramentas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-tools"></a>
+ O Microsoft SQL Server Management Studio (SSMS) é um ambiente integrado para o gerenciamento de uma infraestrutura do SQL Server. Ele fornece uma interface de usuário e um grupo de ferramentas com editores de scripts avançados que interagem com o SQL Server.

## Épicos
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-epics"></a>

### Criar Instância de banco de dados do Amazon RDS para SQL Server
<a name="create-an-amazon-rds-for-sql-server-db-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecione SQL Server como mecanismo de banco de dados no Amazon RDS para SQL Server. |  | DBA | 
| Escolha o SQL Server Express Edition |  | DBA | 
| Especifique os detalhes do banco de dados. | Para obter mais informações, consulte [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) sobre a criação de uma instância de banco de dados Oracle. | DBA, proprietário do aplicativo | 

### Crie um arquivo de backup a partir do banco de dados SQL Server on-premises
<a name="create-a-backup-file-from-the-on-premises-sql-server-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Conecte-se ao banco de dados do SQL Server on-premises por meio do SSMS. |  | DBA | 
| Criação de um backup do banco de dados | Para obter instruções, consulte a [Documentação do SSMS](https://learn.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms). | DBA, proprietário do aplicativo | 

### Carregue o arquivo de backup no Amazon S3.
<a name="upload-the-backup-file-to-amazon-s3"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um bucket no Amazon S3. | Para obter mais informações, consulte a [documentação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | DBA | 
| Faça upload do arquivo no bucket do S3. | Para mais informações, consulte a [documentação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). | SysOps administrador | 

### Restaure o banco de dados no Amazon RDS para SQL Server
<a name="restore-the-database-in-amazon-rds-for-sql-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Adicione o grupo de opções ao Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html)Para obter mais informações, consulte a [documentação do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html). | SysOps administrador | 
| Restaure o banco de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html) | DBA | 

### Validar o banco de dados de destino
<a name="validate-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide objetos e dados. | Valide os objetos e dados entre o banco de dados de origem e o Amazon RDS para SQL Server.Esta tarefa realiza apenas a migração do banco de dados. Logins e trabalhos não serão migrados. | Proprietário do aplicativo, DBA | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Redirecione o tráfego do aplicativo. | Após a validação, redirecione o tráfego do aplicativo para a instância de banco de dados do Amazon RDS para SQL Server. | Proprietário do aplicativo, DBA | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-resources"></a>
+ [Documentação do Amazon S3](https://docs.aws.amazon.com/s3/) 
+ [Documentação do Amazon RDS para SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) 
+ [Opções para o mecanismo de banco de dados do Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html) 

# Migre um banco de dados Microsoft SQL Server para o Aurora MySQL usando o AWS DMS e o AWS SCT
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz e Pavan Pusuluri, Amazon Web Services*

## Resumo
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

Esse padrão descreve como migrar um banco de dados Microsoft SQL Server que está no local ou em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para o Amazon Aurora MySQL. O padrão usa o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool (AWS SCT) para migração de dados e conversão de esquemas. 

## Pré-requisitos e limitações
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem do Microsoft SQL Server em um data center local ou em uma instância EC2 
+ Drivers de conectividade de banco de dados Java (JDBC) para conectores AWS SCT, instalados em uma máquina local ou em uma instância em que o AWS SCT EC2 está instalado 

 

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ Microsoft SQL Server 2008, 2008R2, 2012, 2014, 2016, e 2017 para as edições Enterprise, Standard, Workgroup e Developer. As edições Web e Express não são compatíveis com o AWS DMS. Para obter a lista mais recente de versões compatíveis, consulte [Usando um banco de dados Microsoft SQL Server como fonte para o AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e atributos. Para obter informações sobre as versões do Microsoft SQL Server suportadas pelo AWS SCT, consulte a [documentação do AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ MySQL, versões 5.5, 5.6 e 5.7. Para obter a lista mais recente de versões compatíveis, consulte [Usando um banco de dados compatível com MySQL como destino para o AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) DMS.

## Arquitetura
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**

Um dos seguintes: 
+ Um banco de dados do Microsoft SQL Server on-premises
+ Um banco de dados Microsoft SQL Server em uma EC2 instância

**Pilha de tecnologias de destino**
+ Aurora MySQL

**Arquitetura de migração de dados**
+ De um banco de dados do Microsoft SQL Server em execução na Nuvem AWS 

![\[Nuvem AWS architecture showing VPC with private subnet containing SQL Server and Aurora MySQL databases.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ De um banco de dados do Microsoft SQL Server em execução em um datacenter on-premises do Microsoft SQL

![\[Nuvem AWS architecture diagram showing on-premises to cloud migration using AWS SCT, DMS, and Aurora MySQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## Ferramentas
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: o [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) (AWS DMS) ajuda você a migrar seus dados entre bancos de dados comerciais e de código aberto amplamente usados, incluindo Oracle, SQL Server, MySQL e PostgreSQL. É possível usar o AWS DMS para migrar seus dados para a Nuvem AWS, entre instâncias on-premises (por meio de uma configuração da Nuvem AWS) ou entre combinações de nuvem e configurações on-premises.
+ **AWS SCT**: a [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) facilita as migrações heterogêneas de banco de dados convertendo automaticamente o schema do banco de dados de origem e a maioria do código personalizado para um formato compatível com o banco de dados de destino.

## Épicos
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### Preparo para a migração
<a name="prepare-for-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a versão e o mecanismo dos bancos de dados de origem e de destino. |  | DBA | 
| Crie um grupo de segurança de saída para os bancos de dados de origem e de destino. |  | SysAdmin | 
| Crie e configure uma EC2 instância para o AWS SCT, se necessário. |  | DBA | 
| Faça download da versão mais recente do AWS SCT e dos drivers associados. |  | DBA | 
| Adicione e valide os pré-requisitos de usuários e concessões no banco de dados de origem. |  | DBA | 
| Crie um projeto AWS SCT para o workload e conecte-se ao banco de dados de origem. |  | DBA | 
| Gere um relatório de avaliação e avalie a viabilidade. |  | DBA | 

### Preparar o banco de dados de destino
<a name="prepare-the-target-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma instância de banco de dados Amazon RDS de destino, usando o Amazon Aurora como mecanismo de banco de dados. |  | DBA | 
| Extraia a lista de usuários, funções e concessões da fonte. |  | DBA | 
| Mapeie os usuários do banco de dados existentes para os novos usuários do banco de dados. |  | Proprietário do App | 
| Criar usuários no banco de dados de destino. |  | DBA | 
| Aplique funções da etapa anterior ao banco de dados de destino. |  | DBA | 
| Examine as opções, os parâmetros, os arquivos de rede e os links do banco de dados no banco de dados de origem e, em seguida, avalie sua aplicabilidade ao banco de dados de destino. |  | DBA | 
| Aplique todas as configurações relevantes ao destino. |  | DBA | 

### Transferir objetos
<a name="transfer-objects"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a conectividade do AWS SCT com o banco de dados de destino. |  | DBA | 
| Converta o esquema usando o AWS SCT. | O AWS SCT converte automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino. Qualquer código que não possa ser convertido automaticamente pela ferramenta será marcado em destaque para que você mesmo possa convertê-lo. | DBA | 
| Revise o relatório SQL gerado e salve quaisquer erros e avisos. |  | DBA | 
| Aplique alterações automatizadas do esquema ao destino ou salve-as como um arquivo .sql. |  | DBA | 
| Valide se o AWS SCT criou os objetos no destino.  |  | DBA | 
| Reescreva, rejeite ou redesenhe manualmente todos os itens que falharam na conversão automática. |  | DBA | 
| Aplique a função gerada e as concessões do usuário e analise todas as exceções. |  | DBA | 

### Migre os dados
<a name="migrate-the-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Determine o método de migração. |  | DBA | 
| Criar uma instância de replicação do console do AWS DMS. | Para obter informações detalhadas sobre o uso do AWS DMS, consulte os links na seção “Recursos relacionados”. | DBA | 
| Criação de endpoints de origem e de destino. |  | DBA | 
| Criar uma tarefa de replicação. |  | DBA | 
| Inicie a tarefa de replicação e monitore os logs. |  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use o AWS SCT para analisar e converter os itens SQL no código do aplicativo. | Ao converter o esquema do seu banco de dados de um mecanismo para outro, é preciso também atualizar o código SQL nos seus aplicativos, a fim de interagir com o novo mecanismo de banco de dados, em vez do antigo. Você pode visualizar, analisar, editar e salvar o código SQL convertido. Para obter informações detalhadas sobre o uso do AWS SCT, consulte os links na seção “Recursos relacionados”. | Proprietário do App | 
| Crie os novos servidores de aplicativos na AWS. |  | Proprietário do App | 
| Migre o código do aplicativo para os novos servidores. |  | Proprietário do App | 
| Configure o servidor do aplicativo para o banco de dados e os drivers de destino. |  | Proprietário do App | 
| Corrija qualquer código específico do mecanismo de banco de dados de origem no aplicativo. |  | Proprietário do App | 
| Otimize o código do aplicativo para o mecanismo de destino. |  | Proprietário do App | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Aplique quaisquer novos usuários, concessões e alterações de código ao destino. |  | DBA | 
| Bloqueie o aplicativo para quaisquer alterações. |  | Proprietário do App | 
| Validar se todas as alterações foram propagadas para o banco de dados de destino. |  | DBA | 
| Direcione o novo aplicativo para o novo banco de dados de destino. |  | Proprietário do App | 
| Confira tudo novamente. |  | Proprietário do App | 
| Acesse. |  | Proprietário do App | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS (instância de replicação do AWS DMS e EC2 instância usada para o AWS SCT). |  | DBA, proprietário do aplicativo | 
| Atualize o feedback sobre o processo do AWS DMS para as equipes internas. |  | DBA, proprietário do aplicativo | 
| Revise o processo do AWS DMS e melhore o modelo, se necessário. |  | DBA, proprietário do aplicativo | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo | 
| Reúna métricas sobre o tempo de migração, porcentagem de manual versus economia de custos de ferramentas, etc. |  | DBA, proprietário do aplicativo | 
| Feche o projeto e forneça feedback, se houver. |  | DBA, proprietário do aplicativo | 

## Recursos relacionados
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**Referências**
+ [Guia do usuário do AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guia do usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Definição de preço do Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/) 

**Tutoriais e vídeos**
+ [Introdução ao AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos da AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Recursos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Instruções passo a passo do AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 

# Migre um banco de dados MariaDB on-premises para o Amazon RDS para MariaDB usando ferramentas nativas
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools"></a>

*Shyam Sunder Rakhecha, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-summary"></a>

Esse padrão fornece orientação para migrar um banco de dados MariaDB on-premises para o Amazon Relational Database Service (Amazon RDS) for MariaDB usando ferramentas nativas. **Se você tiver ferramentas MySQL instaladas, poderá usar **mysql **e mysqldump**. **Se você tiver ferramentas MariaDB instaladas, poderá usar **mariadb** e mariadb-dump**. As ferramentas MySQL e MariaDB têm a mesma origem, mas há pequenas diferenças na versão 10.6 e posterior do MariaDB.

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um banco de dados de origem do MariaDB em um datacenter on-premises

**Limitações**
+ Limite de tamanho do banco de dados: 64 TB

**Versões do produto**
+ Versões 10.0-10.6 do MariaDB (para obter a lista mais recente de versões compatíveis, consulte [MariaDB no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) na documentação da AWS)

## Arquitetura
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados MariaDB em um datacenter on-premises

**Pilha de tecnologias de destino**
+ Instâncias de banco de dados para o Amazon RDS para MariaDB

**Arquitetura de destino**

![\[Diagrama da arquitetura com as instâncias do RDS principais e secundárias em diferentes zonas de disponibilidade.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/eca8eb55-579a-42e2-96ce-9b14b097b4c9.png)


**Arquitetura de migração de dados**

![\[Diagrama da arquitetura da migração de um banco de dados do MariaDB on-premises para o Amazon RDS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/daba40e2-a2b1-44f8-8e69-31458206a823.png)


## Ferramentas
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-tools"></a>
+ Ferramentas nativas MySQL: **mysql** e **mysqldump**
+ Ferramentas nativas MariaDB: **mariadb** e **mariadb-dump**

## Épicos
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide as versões e os motores dos bancos de dados de origem e de destino. |  | DBA | 
| Identifique os requisitos de hardware para a instância do servidor de destino. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). |  | DBA, administrador de sistemas | 
| Escolha o tipo de instância adequado com base na capacidade, nos atributos de armazenamento e nos atributos de rede. |  | DBA, administrador de sistemas | 
| Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino. |  | DBA, administrador de sistemas | 
| Identifique a estratégia de migração de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). |  | Administrador de sistemas | 
| Criar grupos de segurança. |  | Administrador de sistemas | 
| Configurar e iniciar uma instância de banco de dados do Amazon RDS executando o MariaDB. |  | Administrador de sistemas | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas para migrar objetos e dados do banco de dados. | No banco de dados de origem, use **mysqldump **ou**mariadb-dump** para criar um arquivo de saída que contenha objetos e dados do banco de dados. No banco de dados de destino, use **mysql** ou **mariadb** para restaurar os dados. | DBA | 
| Valide os dados. | Verifique os bancos de dados de origem e destino para confirmar se a migração de dados foi bem-sucedida. | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia de migração de aplicativos. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Mude os clientes do aplicativo para a nova infraestrutura. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Encerre os recursos temporários da AWS. |  | Administrador de sistemas | 
| Revise e valide os documentos do projeto. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Reúna métricas na hora certa para migrar, com a economia de custos fornecida pelas ferramentas e assim por diante. |  | DBA, proprietário do aplicativo, administrador de sistemas | 
| Feche o projeto e forneça feedback. |  | DBA, proprietário do aplicativo, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-resources"></a>

**Referências do Amazon RDS**
+ [Amazon RDS para MariaDB](https://aws.amazon.com/rds/mariadb/)
+ [Amazon Virtual Private Cloud VPCs e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implantações multi-AZ do Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Referências do MySQL e do MariaDB**
+ [mariadb-dump/mysqldump](https://mariadb.com/kb/en/mariadb-dumpmysqldump/) 
+ [Cliente da linha de comando mysql](https://mariadb.com/kb/en/mysql-command-line-client/) 

**Tutoriais e vídeos**
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migrar um banco de dados MySQL on-premises para o Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

Este padrão explica como migrar um banco de dados de origem do MySQL on-premises para a edição compatível com MySQL do Amazon Aurora. **Ele descreve duas opções de migração: usando AWS Database Migration Service (AWS DMS) ou usando ferramentas nativas do MySQL, como mysqldbcopy e **mysqldump**.** 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Um banco de dados MySQL de origem em um datacenter on-premises

**Limitações**
+ Limite de tamanho do banco de dados: 128 TB

**Versões do produto**
+ O MySQL, na versão 8.0 (Aurora MySQL na versão 3), está disponível com o suporte padrão. 
+ O MySQL, na versão 5.7 (Aurora MySQL na versão 2), está disponível com o suporte estendido, mediante custo adicional.

Para obter a lista mais recente de versões compatíveis, consulte as [versões do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html) na AWS documentação. Se você estiver usando AWS DMS, consulte também [Usando um banco de dados compatível com MySQL como destino para versões do AWS DMS MySQL suportadas pelo](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html). AWS DMS

## Arquitetura
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**Pilha de tecnologia de origem**
+ Um banco de dados MySQL on-premises

**Pilha de tecnologias de destino**
+ Amazon Aurora Edição Compatível com MySQL 

**Arquitetura de destino**

Os dados do Aurora são armazenados em um volume de cluster, que é um único volume virtual que usa unidades de estado sólido ()SSDs. Um volume de cluster consiste em cópias dos dados em várias zonas de disponibilidade em uma única região da AWS. Como os dados são replicados automaticamente entre as zonas de disponibilidade, eles são altamente duráveis e apresentam menor possibilidade de gerar perda de dados.

O Aurora divide automaticamente o volume do seu banco de dados em segmentos de 10 GB distribuídos por vários discos. Cada bloco de 10 GB do volume do banco de dados é replicado seis vezes, em três zonas de disponibilidade. O diagrama apresentado a seguir ilustra a relação entre o volume do cluster, a instância de banco de dados de gravação e as instâncias de banco de dados de leitura em um cluster de banco de dados do Aurora, bem como a separação entre capacidade de computação e armazenamento. Para obter mais informações sobre essa arquitetura, consulte a [documentação](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html) e as [perguntas frequentes do Aurora](https://aws.amazon.com/rds/aurora/faqs/#product-faqs).

![\[Instâncias de banco de dados do Aurora MySQL e volume de armazenamento compartilhado na AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**Arquitetura de migração de dados**

*Usando AWS DMS:*

O diagrama a seguir ilustra a migração de um banco de dados MySQL local para um cluster compatível com o Aurora MySQL no, usando. Nuvem AWS AWS DMS

![\[Migração de um banco de dados do MySQL on-premises para o Aurora MySQL usando o AWS DMS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*Usando ferramentas nativas do MySQL:*

****O diagrama a seguir ilustra a migração de um banco de dados MySQL local para um cluster compatível com o Aurora MySQL no, usando ferramentas nativas do MySQL Nuvem AWS, como mysqldbcopy e mysqldump.****

![\[Migração de um banco de dados do MySQL on-premises para o Aurora MySQL usando mysqldbcopy e mysqldump.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## Ferramentas
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) oferece suporte a vários mecanismos de banco de dados de origem e destino. Para obter informações sobre bancos de dados de origem e destino do MySQL compatíveis com AWS DMS, consulte [Migração de bancos de dados compatíveis com MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) para. AWS Recomendamos que você use a versão mais recente do AWS DMS para obter o suporte mais abrangente de versões e recursos.
+ O [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) é um utilitário do MySQL que copia um banco de dados do MySQL em um único servidor ou entre servidores.
+ O [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) é um utilitário em MySQL que cria um arquivo de despejo usando um banco de dados do MySQL para fins de backup ou de migração.

## Épicos
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a versão e o mecanismo. | Valide a versão e o mecanismo do banco de dados para os bancos de dados de origem e de destino. | DBA | 
| Identifique os requisitos de hardware. | Identifique os requisitos de hardware para a instância do servidor de destino. | DBA, administrador de sistemas | 
| Identifique os requisitos de armazenamento. | Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento). | DBA, administrador de sistemas | 
| Altere o tipo de instância. | Escolha o tipo de instância adequado com base nos seus requisitos de computação, armazenamento e rede. | DBA, administrador de sistemas | 
| Determine os requisitos de segurança de acesso à rede. | Identifique os requisitos de segurança de acesso à rede para os bancos de dados de origem e de destino. | DBA, administrador de sistemas | 
| Determine a estratégia. | Identifique a estratégia de migração de aplicativos. | DBA, proprietário do aplicativo, administrador de sistemas | 

### Configurar a infraestrutura
<a name="configure-the-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma nuvem privada virtual (VPC). | Para obter instruções, consulte [Crie uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) na documentação da Amazon Virtual Private Cloud (Amazon VPC). | Administrador de sistemas | 
| Criar grupos de segurança. | Para obter instruções, consulte [Crie um grupo de segurança para a VPC](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) na documentação da Amazon VPC. | Administrador de sistemas | 
| Configure e inicie um cluster de banco de dados do Aurora compatível com MySQL em sua Conta da AWS. | Para obter instruções, consulte [Criar um cluster de banco de dados do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) na documentação do Aurora. | Administrador de sistemas | 

### Migrar dados - opção 1
<a name="migrate-data---option-1"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Use ferramentas nativas do MySQL ou terceirizadas para migrar objetos e dados do banco de dados. | Para obter instruções, consulte a documentação das ferramentas do MySQL, como [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) e [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html). | DBA | 

### Migrar dados - opção 2
<a name="migrate-data---option-2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Migre dados com AWS DMS. | Para obter instruções, consulte [Usando um banco de dados compatível com MySQL como fonte e Usando um banco](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html) [de dados compatível com MySQL como destino na documentação](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html). AWS DMS  | DBA | 

### Migrar o aplicativo
<a name="migrate-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga a estratégia. | Siga a estratégia de migração de aplicativos. | DBA, proprietário do aplicativo, administrador de sistemas | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Altere os clientes da aplicação. | Altere os clientes da aplicação para estabelecimento de conexão com o novo endpoint do cluster do Aurora. | DBA, proprietário do aplicativo, administrador de sistemas | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Desligar recursos. | Encerre AWS os recursos temporários. | DBA, administrador de sistemas | 
| Revise a documentação. | Revise e valide os documentos do projeto. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Colete as métricas. | Reúna métricas sobre o tempo de migração, a porcentagem de etapas manuais em comparação com o uso de ferramentas, a economia de custos e entre outros. | DBA, proprietário do aplicativo, administrador de sistemas | 
| Conclua o projeto de migração. | Feche o projeto e forneça feedback. | Proprietário do aplicativo, DBA, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**Referências**
+ [Migrar dados para um cluster de banco de dados do Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS site](https://aws.amazon.com/dms/)
+ [AWS DMS documentação](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Definição de preço do Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Criação e conexão com um cluster de banco de dados Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC e Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Documentação do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**Tutoriais e vídeos**
+ [Começando com AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)

# Migre bancos de dados MySQL locais para o Aurora MySQL usando XtraBackup Percona, Amazon EFS e Amazon S3
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3"></a>

*Rohan Jamadagni, Udayasimha Theepireddy e sajith menon, Amazon Web Services*

## Resumo
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-summary"></a>

Esse padrão descreve como migrar bancos de dados MySQL grandes e locais de forma eficiente para o Amazon Aurora MySQL usando o Percona. XtraBackup O Percona XtraBackup é um utilitário de backup de código aberto e sem bloqueio para servidores baseados em MySQL. O padrão mostra como usar o Amazon Elastic File System (Amazon EFS) para reduzir o tempo de upload do backup para o Amazon Simple Storage Service (Amazon S3) e restaurar o backup no Amazon Aurora MySQL. O padrão também fornece detalhes sobre como fazer backups incrementais do Percona para minimizar o número de logs binários a serem aplicados ao banco de dados Aurora MySQL de destino.  

## Pré-requisitos e limitações
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Permissões para criar perfis e políticas do Identity and Access Management (IAM) da AWS
+ Conectividade de rede entre o banco de dados MySQL on-premises e a nuvem privada virtual (VPC) na AWS

**Limitações**
+ Os servidores de origem devem ser sistemas baseados em Linux que possam instalar um cliente Network File System (NFS) (nfs-utils/nfs-common).
+ O bucket do S3 usado para carregar arquivos de backup oferece suporte somente à criptografia do lado do servidor (SSE-S3/SSE-KMS).
+ O Amazon S3 limita o tamanho dos arquivos de backup a 5 TB. Se o arquivo de backup exceder 5 TB, você poderá dividir o arquivo em vários arquivos menores.
+ O número de arquivos de origem enviados por upload para um bucket do S3 não poderá exceder um milhão de arquivos.
+ O padrão suporta somente o backup XtraBackup completo e o backup incremental do Percona. Ele não oferece suporte a backups parciais que usam `--tables`, `--tables-exclude`, `--tables-file`, `--databases`, `--databases-exclude` ou `--databases-file`.
+ O Aurora não restaura usuários, funções, procedimentos armazenados ou informações de fuso horário do banco de dados MySQL de origem.

**Versões do produto**
+ O banco de dados de origem deverá ser o MySQL versão 5.5, 5.6 ou 5.7.
+ Para o MySQL 5.7, você deve usar o Percona 2.4. XtraBackup 
+ Para o MySQL 5.6 e 5.6, você deve usar o XtraBackup Percona 2.3 ou 2.4.

## Arquitetura
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-architecture"></a>

**Pilha de tecnologia de origem**
+ Sistema operacional baseado em Linux
+ MYSQL server
+ Percona XtraBackup

**Pilha de tecnologias de destino**
+ Amazon Aurora
+ Amazon S3
+ Amazon EFS

**Arquitetura de destino**

![\[Arquitetura para migrar grandes bancos de dados MySQL para o Amazon Aurora MySQL usando o Percona. XtraBackup\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/bf327776-bafd-484d-9ae2-a6f5c8af6edd/images/7a410539-1511-4106-90e2-8c0c8e95f92b.png)


## Ferramentas
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-tools"></a>

*Serviços da AWS*
+ O [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado que torna a configuração, operação e escalabilidade de implantações do MySQL. O Aurora MySQL é um substituto imediato para o MySQL.
+ O [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

**Outras ferramentas**
+ O [Percona XtraBackup é um](https://www.percona.com/doc/percona-xtrabackup/2.4/index.html) utilitário de código aberto que realiza backups de streaming, compactados e incrementais de bancos de dados MySQL sem interromper ou bloquear seus bancos de dados.

## Épicos
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-epics"></a>

### Criar um sistema de arquivos do Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um grupo de segurança para associar aos destinos de montagem do Amazon EFS. | Crie um grupo de segurança na VPC configurado com um anexo de VPN ao banco de dados on-premises no AWS Transit Gateway. Para obter mais informações sobre os comandos e as etapas descritos nesta e em outras histórias, consulte os links na seção “Recursos relacionados” no final desse padrão. |  DevOps/database Administrador da AWS | 
| Editar as regras do grupo de segurança. | Adicione uma regra de entrada usando o tipo NFS, a porta 2049 e o intervalo de IP do servidor de banco de dados on-premises como origem. Por padrão, a regra de saída permite que todo tráfego saia. Se esse não for o caso, adicione uma regra de saída para abrir uma conexão para a porta NFS. Adicione mais duas regras de entrada: porta 2049 (fonte: ID do grupo de segurança desse mesmo grupo de segurança) e porta 22 (origem: intervalo de IP de onde você se conectará a uma EC2 instância). |  DevOps/database Administrador da AWS | 
| Crie um sistema de arquivos. | Nos destinos de montagem, use a VPC e o grupo de segurança que você criou na história anterior. Escolha o modo de taxa de transferência e o desempenho com base nos I/O requisitos do banco de dados local. Opcionalmente, habilite a criptografia em repouso. |  DevOps/database Administrador da AWS | 

### Monte o sistema de arquivos
<a name="mount-the-file-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma função de perfil de instância do IAM para ser associada a uma EC2 instância. | Crie um perfil do IAM que tenha permissões para carregar e acessar objetos no Amazon S3. Escolha o bucket do S3 no qual o backup será armazenado como um recurso de política. | AWS DevOps | 
| Crie uma EC2 instância. | Inicie uma EC2 instância baseada em Linux e anexe a função de perfil da instância do IAM que você criou na etapa anterior e o grupo de segurança que você criou anteriormente. | AWS DevOps | 
| Instale o NFS cliente. | Instale o cliente NFS no servidor de banco de dados local e na EC2 instância. Para obter instruções de instalação, consulte a seção “Informações adicionais”. | DevOps | 
| Monte o sistema de arquivos do Amazon EFS. | Monte o sistema de arquivos Amazon EFS no local e na EC2 instância. Em cada servidor, crie um diretório para armazenar o backup e monte o sistema de arquivos usando o endpoint de destino de montagem. Consulte a seção “Informações adicionais”. | DevOps | 

### Fazer backups do banco de dados de origem MySQL
<a name="make-a-backup-of-the-mysql-source-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o Percona XtraBackup. | Instale o Percona XtraBackup 2.3 ou 2.4 (dependendo da versão do seu banco de dados MySQL) no servidor de banco de dados local. Para ver os links de instalação, consulte a seção “Recursos relacionados”. | Administrador de banco de dados | 
| Conte os esquemas e as tabelas no banco de dados de origem. | Reúna e anote o número de esquemas e objetos no banco de dados MySQL de origem. Você usará essas contagens para validar o banco de dados Aurora MySQL após a migração. | Administrador de banco de dados | 
| (Opcional) Observe a sequência de log binário mais recente do banco de dados de origem. | Execute essa etapa se quiser estabelecer a replicação de log binário entre o banco de dados de origem e o Aurora MySQL para minimizar o tempo de inatividade. O log-bin deverá estar ativado e o server\$1id deve ser exclusivo. Observe a sequência de log binário atual do banco de dados de origem, pouco antes de iniciar um backup. Execute essa etapa logo antes do backup completo se você planeja usar somente o backup completo. Se você planeja fazer backups incrementais após um backup completo, execute essa etapa logo antes do backup incremental final que você restaurará na instância de banco de dados Aurora MySQL. | Administrador de banco de dados | 
| Iniciar um backup completo do banco de dados MySQL de origem. | Faça um backup completo do banco de dados de origem do MySQL usando o Percona. XtraBackup Por exemplo, comandos para backups completos e incrementais, consulte a seção “Informações adicionais”. | Administrador de banco de dados | 
| (Opcional) Faça backups incrementais usando o XtraBackup Percona. | Os backups incrementais poderão ser usados para reduzir a quantidade de registros binários que você precisa aplicar para sincronizar o banco de dados de origem com o Aurora MySQL. Bancos de dados grandes e com muitas transações poderão gerar um grande número de logs binários durante os backups. Ao fazer backups incrementais e armazená-los em um sistema de arquivos compartilhado do Amazon EFS, você poderá reduzir significativamente o tempo de backup e upload do seu banco de dados. Consulte a seção “Informações adicionais” para obter detalhes. Continue fazendo backups incrementais até que esteja pronto para começar o processo de migração para o Aurora. | Administrador de banco de dados | 
| Preparar backups. | Nesta etapa, os logs transacionais são aplicados ao backup para transações que estavam em andamento durante o backup. Continue aplicando registros transacionais (--apply-log-only) a cada backup incremental para mesclar os backups, exceto para o último backup. Para obter exemplos, consulte a seção “Informações adicionais”. Após essa etapa, o backup completo e mesclado estará em \$1/<efs\$1mount\$1name>/fullbackup. | Administrador de banco de dados | 
| Compactar e dividir o backup mesclado. | Depois de preparar o backup final mesclado, use os comandos tar, zip e split para criar arquivos compactados menores do backup. Para obter exemplos, consulte a seção “Informações adicionais”. | Administrador de banco de dados | 

### Restaurar o backup em um cluster de banco de dados do Aurora MySQL
<a name="restore-the-backup-to-an-aurora-mysql-db-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Carregar o backup no Amazon S3. | O sistema de arquivos do Amazon EFS, no qual os arquivos de backup são armazenados, é montado no banco de dados local e em uma EC2 instância, de forma que os arquivos de backup estejam prontamente disponíveis para a EC2 instância. <efs\$1mount\$1name><bucket\$1name>Conecte-se à EC2 instância usando o Secure Shell (SSH) e carregue os arquivos de backup compactados em um bucket S3 novo ou existente; por exemplo: aws s3 sync \$1/ /fullbackup s3:///fullbackup. Para obter detalhes adicionais, consulte os links na seção “Recursos relacionados”. | AWS DevOps | 
| Criar um perfil de serviço para o Aurora acessar o Amazon S3. | Crie um perfil do IAM com a confiança “rds.amazonaws.com” e uma política que permitirá que o Aurora acesse o bucket do S3 onde os arquivos de backup estão armazenados. As permissões necessárias são ListBucket GetObject, GetObjectVersion e. | AWS DevOps | 
| Criar a configuração de rede para o Aurora. | Criar um grupo de sub-redes de banco de dados de cluster com pelo menos duas zonas de disponibilidade e uma configuração de tabela de rotas de sub-rede que permita conectividade de saída com o banco de dados de origem. Criar um grupo de segurança que permita conexões de saída com o banco de dados on-premises e permita que os administradores se conectem ao cluster de banco de dados Aurora. Para obter mais informações, acesse os links na seção “Recursos relacionados”. |  DevOps/database Administrador da AWS | 
| Restaurar o backup em um cluster de banco de dados do Aurora MySQL. | Restaurar seus dados do backup que você enviou para o Amazon S3. Especificar a versão MySQL do seu banco de dados de origem, fornecer o nome do bucket do S3 e o prefixo do caminho da pasta em que você fez o upload do arquivo de backup (por exemplo, “fullbackup” para os exemplos na seção “Informações adicionais”) e forneça o perfil do IAM que você criou para autorizar o Aurora a acessar o Amazon S3. |  DevOps/database Administrador da AWS | 
| Validar o banco de dados MySQL do Aurora. | Valide a contagem de esquemas e objetos no cluster de banco de dados Aurora restaurado em relação à contagem que você obteve do banco de dados de origem. | Administrador de banco de dados | 
| Configurar a replicação do log binário.  | Usar a sequência de log binário que você anotou anteriormente, antes de fazer o último backup que foi restaurado no cluster de banco de dados do Aurora. Criar um usuário de replicação no banco de dados de origem e siga as instruções na seção “Informações adicionais” para fornecer os privilégios adequados, habilitar a replicação no Aurora e confirmar se a replicação está sincronizada. |  DevOps/database Administrador da AWS | 

## Recursos relacionados
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-resources"></a>

**Criar um sistema de arquivos do Amazon EFS**
+ [Criação de um grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) (Documentação do Amazon VPC)
+ [Anexos do VPN do gateway de trânsito](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html) (Documentação do Amazon VPC)
+ [Escalar o throughput de VPN usando o AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) (blog sobre redes e entrega de conteúdo)
+ [Criar um sistema de arquivos do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step1-efs) (Documentação do Amazon EFS)
+ [Criação de destinos de montagem](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (Documentação do Amazon EFS)
+ [Criptografar dados em repouso](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (Documentação do Amazon EFS)

**Montagem do sistemas de arquivos**
+ [Funções do IAM para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) ( EC2 documentação da Amazon)
+ [Lançamento de uma instância Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) ( EC2 documentação da Amazon)
+ [Instalação do cliente NFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) (Documentação do Amazon EFS)
+ [Montagem do sistema de arquivos do Amazon EFS em seu cliente on-premises](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) (Documentação do Amazon EFS)
+ [Montagem de sistemas de arquivos EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) (Documentação do Amazon EFS)

**Realizar um backup do banco de dados de origem MySQL**
+ [Instalando o Percona XtraBackup 2.3 (documentação](https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html) do XtraBackup Percona)
+ [Instalando o Percona XtraBackup 2.4 (documentação](https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html) do XtraBackup Percona) 
+ [Definir a configuração principal de replicação (Documentação do](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) MySQL)
+ [Migrar dados de um banco de dados MySQL externo para um cluster de banco de dados do Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (Documentação do Aurora)
+ [Backup incremental (documentação](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) da XtraBackup Percona)

**Restaurar o backup no Amazon Aurora MySQL**
+ [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#create-bucket-intro) (Documentação do Amazon S3)
+ [Conectar-se à instância do Linux usando o SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) (Documentação do Amazon EC2)
+ [Configurando a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) (documentação da AWS CLI)
+ [comando sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) (referência de comando da AWS CLI)
+ [Criar uma política do IAM para acessar recursos do Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.html) (Documentação do Aurora)
+ [Pré-requisitos do cluster de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html#Aurora.CreateInstance.Prerequisites) (Documentação do Aurora)
+ [Trabalhar com grupos de sub-redes de banco de dados ](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets)(Documentação do Aurora)
+ [Criar um grupo de segurança da VPC para uma instância de banco de dados privada](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB) (Documentação do Aurora)
+ [Restaurar um cluster de banco de dados do Aurora MySQL a partir de um bucket do S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore) (Documentação do Aurora)
+ [Configurar a replicação com MySQL ou outro cluster de banco de dados do Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.SettingUp) (Documentação do Aurora)
+ [procedimento mysql.rds\$1set\$1external\$1master](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html) (MySQL na referência SQL do Amazon RDS)
+ [procedimento mysql.rds\$1start\$1replication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_start_replication.html) (MySQL na referência SQL do Amazon RDS)

**Referências adicionais**
+ [Migrar dados de um banco de dados MySQL externo para um cluster de banco de dados do Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (Documentação do Aurora)
+ [Downloads do servidor MySQL](https://downloads.mysql.com/archives/community/) (site da Oracle)

**Tutoriais e vídeos**
+  [Migração de dados do MySQL para um cluster de banco de dados Aurora MySQL usando o Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/migrate-mysql-aurora-innobackup/) (Centro de conhecimento da AWS)
+  [Configuração e montagem do Amazon EFS](https://www.youtube.com/watch?v=NR8rVsSn_dY) (vídeo)

## Mais informações
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-additional"></a>

**Instalar um cliente NFS**
+ Se você estiver usando o Red Hat ou um sistema operacional Linux similar, use o comando:  

```
$ sudo yum -y install nfs-utils
```
+ Se você estiver usando o Ubuntu ou um sistema operacional Linux similar, use o comando: 

```
$ sudo apt-get -y install nfs-common
```

Para obter mais informações, consulte o [passo a passo](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) na documentação do Amazon EFS.

**Montar o sistema de arquivos do Amazon EFS**

Use os comandos:

```
mkdir ~/<efs_mount_name>
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/<efs_mount_name>
```

Para obter mais informações, consulte o [passo a passo](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) e [montagem de sistemas de arquivos EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) na documentação do Amazon EFS.

**Fazendo backups do banco de dados de origem MySQL**

*Backups completos*

Use um comando como o seguinte, que pega o backup, o compacta e o divide em partes menores de 1 GB cada:

```
xtrabackup --backup --user=dbuser --password=<password> --binlog-info=AUTO --stream=tar --target-dir=~/<efs_mount_name>/fullbackup | gzip - | split -d --bytes=1024MB - ~/<efs_mount_name>/fullbackup/backup.tar.gz &
```

Se você planeja fazer backups incrementais subsequentes após o backup completo, não compacte e divida o backup. Em vez disso, use um comando semelhante ao seguinte:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/fullbackup/
```

*Backups incrementais*

Use o caminho de backup completo para o parâmetro `--incremental-basedir`; por exemplo:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/incremental/backupdate --incremental-basedir=~/<efs_mount_name>/fullbackup
```

em que *basedir* é o caminho para o backup completo e o arquivo xtrabackup\$1checkpoints.

Para obter mais informações, consulte [Migrar dados de um banco de dados MySQL externo para um cluster de banco de dados MySQL do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) na documentação do Aurora.

**Preparar backups**

Preparar um backup completo:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup
```

Para preparar um backup incremental:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06062020
```

Para preparar o backup final:

```
xtrabackup --prepare --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06072020
```

Para obter mais informações, consulte [Backups incrementais na documentação](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) da XtraBackup Percona.

**Compactar e dividir o backup mesclado**

Para compactar o backup mesclado em \$1/<efs\$1mount\$1name>/fullbackup:

```
tar -zcvf <backupfilename.tar.gz> ~/<efs_mount_name>/fullbackup
```

Para dividir o backup:

```
split -d -b1024M --verbose  <backupfilename.tar.gz> <backupfilename.tar.gz>
```

**Configurar a replicação do log binário**

Para criar um usuário de replicação no banco de dados de origem e fornecer os privilégios adequados:

```
CREATE USER 'repl_user'@'' IDENTIFIED BY ''; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'';
```

Para habilitar a replicação no Aurora conectando-se ao cluster de banco de dados Aurora, habilite os registros binários no grupo de parâmetros do cluster de banco de dados. Definir `binlog_format = mixed` (o modo misto é preferido). Essa alteração exige que você reinicie a instância para aplicar a atualização.

```
CALL mysql.rds_set_external_master ('sourcedbinstanceIP', sourcedbport, 'repl_user', '', 'binlog_file_name', binlog_file_position, 0); CALL mysql.rds_start_replication;
```

Para confirmar se a replicação está sincronizada:

```
SHOW Slave Status \G;
```

O campo **Segundos atrás do mestre** mostra o quanto o Aurora está atrasado em relação ao banco de dados on-premises.

# Migrar aplicações Java on-premises para a AWS usando o App2Container da AWS
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container"></a>

*Dhananjay Karanjkar, Amazon Web Services*

## Resumo
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-summary"></a>

O AWS App2Container (A2C) é uma ferramenta de linha de comando que ajuda a transformar aplicativos existentes executados em máquinas virtuais em contêineres, sem a necessidade de alterações no código. O A2C descobre aplicações em execução em um servidor, identifica dependências e gera artefatos relevantes para uma implantação sem contratempos no Amazon Elastic Container Service (Amazon ECS) e no Amazon Elastic Kubernetes Service (Amazon EKS).

Esse padrão fornece as etapas para migrar remotamente aplicativos Java on-premises implantados em um servidor de aplicativos para o AWS Fargate ou o Amazon EKS usando o App2Container por meio da máquina de trabalho. 

A máquina de trabalho pode ser usada nos seguintes casos de uso:
+ A instalação do Docker não é permitida ou não está disponível nos servidores de aplicativos em que os aplicativos Java estão sendo executados.
+ Você deve gerenciar a migração de vários aplicativos implantados em diferentes servidores físicos ou virtuais.

Esse padrão usa AWS CodeCommit AWS CodePipeline, AWS CodeBuild e.

## Pré-requisitos e limitações
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-prereqs"></a>

**Pré-requisitos **
+ Um servidor de aplicação com uma aplicação Java em execução em um servidor Linux
+ Uma máquina de trabalho com um sistema operacional Linux
+ Uma máquina de trabalho com pelo menos 20 GB de espaço em disco disponível

**Limitações**
+ Nem todos os aplicativos são compatíveis. Para obter mais informações, consulte [Aplicativos compatíveis para Linux](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html).

## Arquitetura
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-architecture"></a>

**Pilha de tecnologia de origem**
+ Aplicativos Java em execução no servidor Linux

**Pilha de tecnologias de destino**
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodeDeploy
+ AWS CodePipeline
+ Amazon Elastic Container Registry
+ AWS Fargate

**Arquitetura de destino**

![\[Arquitetura para aplicações Java on-premises na AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/61ed65a0-fab2-4fc8-8531-18bfd56a25b3/images/602cde7b-ab0c-46a5-8c37-afe304adf061.png)


 

## Ferramentas
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-tools"></a>

**Ferramentas**
+ [AWS App2Container:](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html) o AWS App2Container (A2C) é uma ferramenta da linha de comando que ajuda você a elevar e mudar aplicações executadas em seus datacenters on-premises ou em máquinas virtuais, para que eles sejam executados em contêineres gerenciados pelo Amazon ECS ou Amazon EKS.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) — CodeBuild A AWS é um serviço de construção totalmente gerenciado na nuvem. CodeBuild compila seu código-fonte, executa testes de unidade e produz artefatos prontos para serem implantados.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) — CodeCommit A AWS é um serviço de controle de versão hospedado pela Amazon Web Services que você pode usar para armazenar e gerenciar de forma privada ativos (como documentos, código-fonte e arquivos binários) na nuvem.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) — CodePipeline A AWS é um serviço de entrega contínua que você pode usar para modelar, visualizar e automatizar as etapas necessárias para lançar seu software.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html): o Amazon Elastic Container Service (Amazon ECS) é um serviço de gerenciamento de contêineres altamente escalável e rápido que facilita a execução, a interrupção e o gerenciamento de contêineres em um cluster.
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html): o Amazon Elastic Container Registry (Amazon ECR) é um serviço gerenciado de registro de imagem de contêiner, seguro, escalável e confiável.
+ [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html): o Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado que você pode usar para executar o Kubernetes na AWS, eliminando a necessidade de instalar, operar e manter seus próprios nós ou ambiente de gerenciamento do Kubernetes.
+ [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) — O AWS Fargate é uma tecnologia que você pode usar com o Amazon ECS para executar contêineres sem precisar gerenciar servidores ou clusters de instâncias do Amazon Elastic Compute Cloud (Amazon). EC2 Com o Fargate, não é mais necessário provisionar, configurar nem escalar os clusters de máquinas virtuais para executar contêineres.

## Épicos
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-epics"></a>

### Configurar credenciais
<a name="set-up-credentials"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um segredo para acessar o servidor do aplicativo. | Para acessar o servidor do aplicativo remotamente a partir da máquina de trabalho, crie um segredo no AWS Secrets Manager. Como seu segredo, você pode usar a chave privada SSH ou o Certificado e a chave privada SSH. Para obter mais informações, consulte [Gerenciar segredos para o AWS ApP2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/manage-secrets.html). | DevOps, Desenvolvedor | 

### Configure a máquina do operador
<a name="set-up-the-worker-machine"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instalar o arquivo tar. | Executar `sudo yum install -y tar`. | DevOps, Desenvolvedor | 
| Instale a AWS CLI. | Instalar a interface da linha de comando Amazon (AWS CLI), execute `curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"`. Descompacte `awscliv2.zip`.Executar `sudo ./aws/install`. | DevOps, Desenvolvedor | 
| Instale o App2Container. | Execute os seguintes comandos :`curl -o AWSApp2Container-installer-linux.tar.gz https://app2container-release-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/AWSApp2Container-installer-linux.tar.gz``sudo tar xvf AWSApp2Container-installer-linux.tar.gz``sudo ./install.sh` | DevOps, Desenvolvedor | 
| Configure os perfis. | Para configurar o perfil padrão da AWS, execute `sudo aws configure`.Para configurar o perfil da AWS, execute `sudo aws configure --profile <profile name>`. | DevOps, Desenvolvedor | 
| Instalar o Docker. | Execute os seguintes comandos.`sudo yum install -y docker``sudo systemctl enable docker & sudo systemctl restart docker` |  | 
| Inicialize o App2Container. | Para inicializar o App2Container, você precisa das seguintes informações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Executar `sudo app2container init`. | DevOps, Desenvolvedor | 

### Configurar a máquina de trabalho
<a name="configure-the-worker-machine"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a máquina de trabalho para se conectar e executar remotamente os comandos do App2Container no servidor do aplicativo. | Para configurar a máquina de trabalho, as seguintes informações são necessárias:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Executar `sudo app2container remote configure`. | DevOps, Desenvolvedor | 

### Descubra, analise e extraia aplicativos na máquina de trabalho
<a name="discover-analyze-and-extract-applications-on-the-worker-machine"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Descubra os aplicativos Java locais on-premises. | Para descobrir remotamente todos os aplicativos em execução no servidor de aplicativos, execute o comando a seguir.`sudo app2container remote inventory --target <FQDN/IP of App server>`Esse comando gera uma lista de aplicativos implantados em `inventory.json`. | Desenvolvedor, DevOps | 
| Analise os aplicativos descobertos. | Para analisar remotamente cada aplicativo usando o que foi obtido no estágio de inventário, execute o comando a seguir.`sudo app2container remote analyze --application-id <java-app-id> --target <FQDN/IP of App Server>`Isso gera um arquivo `analysis.json` no local do espaço de trabalho. Depois que esse arquivo for gerado, você poderá alterar os parâmetros de conteinerização com base nas suas necessidades. | Desenvolvedor, DevOps | 
| Extraia os aplicativos analisados. | Para gerar um arquivo do aplicativo analisado, execute remotamente o comando a seguir, que deverá gerar o pacote tar no local do espaço de trabalho.`sudo app2container remote extract --application-id <application id> --target <FQDN/IP of App Server>`Os artefatos extraídos podem ser gerados na máquina de trabalho local. | Desenvolvedor, DevOps | 

### Coloque em contêineres os artefatos extraídos na máquina de trabalho
<a name="containerize-the-extracted-artifacts-on-the-worker-machine"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Coloque os artefatos extraídos em contêineres. | Coloque em contêineres os artefatos extraídos na etapa anterior executando o comando a seguir.`sudo app2container containerize --input-archive <tar bundle location on worker machine>` | Desenvolvedor, DevOps | 
| Finalize o destino. | Para finalizar o destino, abra `deployment.json`, que será criado quando o comando `containerize` for executado. Para especificar o AWS Fargate como destino, defina `createEcsArtifacts` como `true`. Para definir o Amazon EKS como destino, defina `createEksArtifacts` como verdadeiro. | Desenvolvedor, DevOps | 

### Gere e provisione artefatos da AWS
<a name="generate-and-provision-aws-artifacts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere artefatos de implantação da AWS na máquina do operador. | Para gerar artefatos de implantação, execute o comando a seguir.`sudo app2container generate app-deployment --application-id <application id>`Isso gera o CloudFormation modelo `ecs-master.yml` da AWS no espaço de trabalho. | DevOps | 
| Provisionar os artefatos. | Para provisionar ainda mais os artefatos gerados, implante o CloudFormation modelo da AWS executando o comando a seguir.`aws cloudformation deploy --template-file <path to ecs-master.yml> --capabilities CAPABILITY_NAMED_IAM --stack-name <application id>–ECS` | DevOps | 
| Gere o pipeline. | Modifique `pipeline.json`, que foi criada na história anterior, com base nas suas necessidades. Em seguida, execute o `generate pipeline` comando para gerar os artefatos de implantação do pipeline. | DevOps | 

## Recursos relacionados
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-resources"></a>
+ [O que é o App2Container?](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html)
+ [Publicação no blog do AWS App2Container](https://aws.amazon.com/blogs/aws/aws-app2container-a-new-containerizing-tool-for-java-and-asp-net-applications/)
+ [Princípios básicos da configuração da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Noções básicas do Docker para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html)
+ [Comandos do Docker](https://docs.docker.com/engine/reference/commandline/cli/)

# Migre sistemas de arquivos compartilhados em uma AWS grande migração
<a name="migrate-shared-file-systems-in-an-aws-large-migration"></a>

*Amit Rudraraju, Sam Apa, Bheemeswararao Balla, Wally Lu e Sanjeev Prakasam, Amazon Web Services*

## Resumo
<a name="migrate-shared-file-systems-in-an-aws-large-migration-summary"></a>

A migração de 300 ou mais servidores é considerada uma *grande migração*. O objetivo de uma grande migração é migrar cargas de trabalho de seus datacenters locais existentes para o. Nuvem AWS, e esses projetos geralmente se concentram nas cargas de trabalho de aplicativos e bancos de dados. No entanto, os sistemas de arquivos compartilhados exigem atenção concentrada e um plano de migração separado. Este padrão descreve o processo de migração para sistemas de arquivos compartilhados e fornece as práticas recomendadas para migrá-los com êxito como parte de um grande projeto de migração.

Um *sistema de arquivos compartilhado* (SFS), também conhecido como sistema de arquivos em *rede * ou *cluster*, é um compartilhamento de arquivos montado em vários servidores. Os sistemas de arquivos compartilhados são acessados por meio de protocolos como Network File System (NFS), Common Internet File System (CIFS) ou Server Message Block (SMB).

Esses sistemas não são migrados com ferramentas de migração padrão, por exemplo, AWS Application Migration Service porque não são dedicados ao host que está sendo migrado nem são representados como um dispositivo de bloco. Embora a maioria das dependências do host seja migrada de forma transparente, a coordenação e o gerenciamento dos sistemas de arquivos dependentes devem ser tratados separadamente.

Você migra sistemas de arquivos compartilhados nas seguintes fases: descobrir, planejar, preparar, substituir e validar. Usando esse padrão e as pastas de trabalho anexadas, você migra seu sistema de arquivos compartilhado para um serviço de AWS armazenamento, como Amazon Elastic File System (Amazon EFS), Amazon FSx for NetApp ONTAP ou Amazon FSx for Windows File Server. Para transferir o sistema de arquivos, você pode usar AWS DataSync ou uma ferramenta de terceiros, como NetApp SnapMirror.

**nota**  
Esse padrão faz parte de uma série de orientação AWS prescritiva sobre [grandes migrações para o. Nuvem AWS](https://aws.amazon.com/prescriptive-guidance/large-migrations/) Esse padrão inclui as melhores práticas e instruções para SFSs incorporação em seus planos de ondas para servidores. Se você estiver migrando um ou mais sistemas de arquivos compartilhados fora de um grande projeto de migração, consulte as instruções de transferência de dados na AWS documentação do [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) e [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).

## Pré-requisitos e limitações
<a name="migrate-shared-file-systems-in-an-aws-large-migration-prereqs"></a>

**Pré-requisitos **

Os pré-requisitos podem variar dependendo dos sistemas de arquivos compartilhados de origem e destino e do seu caso de uso. Os problemas mais comuns são os seguintes:
+ Um ativo Conta da AWS.
+ Você concluiu a descoberta do portfólio de aplicativos para seu grande projeto de migração e começou a desenvolver planos de ondas. Para obter mais informações, consulte [Manual de portfólio para AWS grandes migrações](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html).
+ Nuvens privadas virtuais (VPCs) e grupos de segurança que permitem tráfego de entrada e saída entre o data center local e seu ambiente. AWS [Para obter mais informações, consulte Opções de [conectividade de rede para Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) e requisitos de rede.AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html)
+ Permissões para criar AWS CloudFormation pilhas ou permissões para criar FSx recursos do Amazon EFS ou da Amazon. Para obter mais informações, consulte a [CloudFormation documentação](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html), a [documentação do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/security-iam.html) ou a [ FSx documentação da Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security-iam.html).
+ Se você estiver usando AWS DataSync para realizar a migração, precisará das seguintes permissões:
  + Permissões AWS DataSync para enviar registros para um grupo de CloudWatch registros do Amazon Logs. Para obter mais informações, consulte [Permitir DataSync o upload de registros para grupos de CloudWatch registros](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html#cloudwatchlogs).
  + Permissões para acessar o grupo CloudWatch de registros de registros. Para obter mais informações, consulte [Visão geral do gerenciamento de permissões de acesso aos seus recursos do CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
  + Permissões para criar agentes e tarefas em DataSync. Para obter mais informações, consulte [Permissões obrigatórias do IAM para uso AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/permissions-requirements.html).

**Limitações**
+ Esse padrão foi projetado para migrar SFSs como parte de um grande projeto de migração. Ele inclui as melhores práticas e instruções para SFSs incorporação em seus planos de migração de aplicativos. Se você estiver migrando um ou mais sistemas de arquivos compartilhados fora de um grande projeto de migração, consulte as instruções de transferência de dados na AWS documentação do [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) e [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).
+ Esse padrão é baseado em arquiteturas, serviços e padrões de migração comumente usados. No entanto, grandes projetos e estratégias de migração podem variar entre as organizações. Talvez seja necessário personalizar essa solução ou as pastas de trabalho fornecidas com base em seus requisitos.

## Arquitetura
<a name="migrate-shared-file-systems-in-an-aws-large-migration-architecture"></a>

**Pilha de tecnologia de origem**

Um ou mais itens a seguir:
+ Servidor de arquivos Linux (NFS)
+ Servidor de arquivos Windows (SMB)
+ NetApp matriz de armazenamento
+ Matriz de armazenamento Dell EMC Isilon

**Pilha de tecnologias de destino**

Um ou mais itens a seguir:
+ Amazon Elastic File System
+ Amazon FSx para NetApp ONTAP
+ Servidor FSx de arquivos Amazon para Windows

**Arquitetura de destino**

![\[Diagrama de arquitetura do uso da AWS DataSync para migrar sistemas de arquivos compartilhados locais para a AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/13232433-7d33-44c8-8998-b720f33f67b3.png)


O diagrama mostra o seguinte processo:

1. Você estabelece uma conexão entre o data center local e o Nuvem AWS usando um AWS service (Serviço da AWS) como AWS Direct Connect ou AWS Site-to-Site VPN.

1. Você instala o DataSync agente no data center local.

1. De acordo com seu plano wave, você usa DataSync para replicar dados do sistema de arquivos compartilhado de origem para o compartilhamento de AWS arquivos de destino.

**Fases de migração**

A imagem a seguir mostra as fases e etapas de alto nível para migrar um SFS em um grande projeto de migração.

![\[Fases de descoberta, planejamento, preparação, substituição e validação da migração de sistemas de arquivo compartilhados para a AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/f1e0c94d-0eea-46a8-bdec-3297b34c1d43.png)


A seção [Épicos](#migrate-shared-file-systems-in-an-aws-large-migration-epics) desse padrão contém instruções detalhadas sobre como concluir a migração e usar as pastas de trabalho anexadas. Veja a seguir uma visão geral de alto nível das etapas dessa abordagem em fases.


| 
| 
| Fase | Steps | 
| --- |--- |
| Descobrir | 1. Usando uma ferramenta de descoberta, você coleta dados sobre o sistema de arquivos compartilhado, incluindo servidores, pontos de montagem e endereços IP.2. Usando um banco de dados de gerenciamento de configuração (CMDB) ou sua ferramenta de migração, você coleta detalhes sobre o servidor, incluindo informações sobre a onda de migração, ambiente, proprietário do aplicativo, nome do serviço de gerenciamento de serviços de TI (ITSM), unidade organizacional e ID do aplicativo. | 
| Planejar | 3. Usando as informações coletadas sobre os servidores SFSs e os servidores, crie o plano de ondas do SFS.4. Usando as informações na planilha de construção, para cada SFS, escolha um destino AWS service (Serviço da AWS) e uma ferramenta de migração. | 
| Preparar | 5. Configure a infraestrutura de destino no Amazon EFS, Amazon FSx for NetApp ONTAP ou Amazon FSx for Windows File Server.6. Configure o serviço de transferência de dados, como DataSync, e inicie a sincronização inicial de dados. Quando a sincronização inicial estiver concluída, você poderá configurar sincronizações recorrentes para serem executadas de acordo com uma programação.7. Atualize o plano SFS em ondas com informações sobre o compartilhamento de arquivos de destino, como endereço IP ou caminho. | 
| Substituir | 8. Interrompa os aplicativos que acessam ativamente o SFS de origem.9. No serviço de transferência de dados, execute uma sincronização final de dados.10. Quando a sincronização estiver concluída, verifique se ela foi totalmente bem-sucedida revisando os dados de registro em CloudWatch Registros. | 
| Validar | 11. Nos servidores, altere o ponto de montagem para o novo caminho do SFS.12. Reinicie e valide os aplicativos. | 

## Ferramentas
<a name="migrate-shared-file-systems-in-an-aws-large-migration-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)é um serviço on-line de transferência e descoberta de dados que ajuda você a mover arquivos ou dados de objetos para, de e entre serviços AWS de armazenamento.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.
+  FSxA [Amazon](https://docs.aws.amazon.com/fsx/?id=docs_gateway) fornece sistemas de arquivos que suportam protocolos de conectividade padrão do setor e oferecem alta disponibilidade e replicação em todo o mundo. Regiões da AWS

**Outras ferramentas**
+ [SnapMirror](https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BA1081BE-B2BB-4C6E-8A82-FB0F87AC514E.html)é uma ferramenta de replicação de NetApp dados que replica dados de volumes de origem ou qtrees especificados para volumes ou [qtrees](https://library.netapp.com/ecmdocs/ECMP1154894/html/GUID-8F084F85-2AB8-4622-B4F3-2D9E68559292.html) de destino, respectivamente. Você pode usar essa ferramenta para migrar um sistema de arquivos de NetApp origem para a Amazon FSx for NetApp ONTAP.
+ [Robocopy](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy), abreviação de *Robust File Copy*, é um diretório de linha de comando e comando para Windows. Você pode usar essa ferramenta para migrar um sistema de arquivos de origem do Windows para o Amazon FSx for Windows File Server.

## Práticas recomendadas
<a name="migrate-shared-file-systems-in-an-aws-large-migration-best-practices"></a>

**Abordagens de planejamento de ondas**

Ao planejar ondas para seu grande projeto de migração, considere a latência e o desempenho do aplicativo. Quando o SFS e os aplicativos dependentes estão operando em locais diferentes, como um na nuvem e outro no datacenter on-premises, isso pode aumentar a latência e afetar o desempenho do aplicativo. Veja a seguir as opções disponíveis ao criar planos de onda:

1. **Migrar o SFS e todos os servidores dependentes na mesma onda**: essa abordagem evita problemas de desempenho e minimiza o retrabalho, como reconfigurar pontos de montagem várias vezes. É recomendado quando é necessária uma latência muito baixa entre o aplicativo e o SFS. No entanto, o planejamento de ondas é complexo e o objetivo geralmente é remover variáveis dos agrupamentos de dependências, não as adicionar. Além disso, essa abordagem não é recomendada se muitos servidores acessarem o mesmo SFS, pois isso torna a onda muito grande.

1. **Migrar o SFS após a migração do último servidor dependente**: por exemplo, se um SFS for acessado por vários servidores e esses servidores estiverem programados para migrar nas ondas 4, 6 e 7, programe o SFS para migrar na onda 7.

   Essa abordagem geralmente é a mais lógica para grandes migrações e é recomendada para aplicativos sensíveis à latência. Ela reduz os custos associados à transferência de dados. Também minimiza o período de latência entre o SFS e os aplicativos de nível superior (como produção) porque os aplicativos de nível superior geralmente são programados para serem migrados por último, após o desenvolvimento e os aplicativos de controle de qualidade.

   No entanto, essa abordagem ainda exige descoberta, planejamento e agilidade. Talvez seja necessário migrar o SFS em uma onda anterior. Confirme se os aplicativos podem suportar a latência adicional pelo período de tempo entre a primeira onda dependente e a onda contendo o SFS. Conduza uma sessão de descoberta com os proprietários do aplicativo e migre o aplicativo na mesma onda para o aplicativo mais sensível à latência. Se forem descobertos problemas de desempenho após a migração de um aplicativo dependente, esteja preparado para migrar rapidamente o SFS o mais rápido possível.

1. **Migrar o SFS no final de um grande projeto de migração**: essa abordagem é recomendada se a latência não for um fator, como quando os dados no SFS são acessados com pouca frequência ou não são essenciais para o desempenho do aplicativo. Essa abordagem agiliza a migração e simplifica as tarefas de substituição.

Você pode combinar essas abordagens com base na sensibilidade à latência do aplicativo. Por exemplo, você pode migrar de forma sensível à latência SFSs usando as abordagens 1 ou 2 e, em seguida, migrar o restante usando a abordagem 3. SFSs 

**Escolha de um serviço AWS de sistema de arquivos**

AWS oferece vários serviços em nuvem para armazenamento de arquivos. Cada um oferece benefícios e limitações diferentes para desempenho, escala, acessibilidade, integração, conformidade e otimização de custos. Há algumas opções lógicas padrão. Por exemplo, se seu sistema de arquivos local atual estiver operando o Windows Server, o Amazon FSx for Windows File Server é a opção padrão. Ou se o sistema de arquivos local estiver operando o NetApp ONTAP, o Amazon FSx for NetApp ONTAP é a opção padrão. No entanto, você pode escolher um serviço de destino com base nos requisitos do seu aplicativo ou para obter outros benefícios operacionais na nuvem. Para obter mais informações, consulte Como [escolher o serviço de armazenamento de AWS arquivos certo para sua implantação](https://d1.awsstatic.com/events/Summits/awsnycsummit/Choosing_the_right_AWS_file_storage_service_for_your_deployment_STG302.pdf) (apresentação da AWS Summit).

**Escolher uma ferramenta de migração**

O Amazon EFS e a Amazon FSx oferecem suporte ao uso de AWS DataSync para migrar sistemas de arquivos compartilhados para o. Nuvem AWS Para obter mais informações sobre sistemas e serviços de armazenamento compatíveis, benefícios e casos de uso, consulte [O que é AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html). Para obter uma visão geral do processo de uso DataSync para transferir seus arquivos, consulte [Como as AWS DataSync transferências funcionam](https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-transfer-works.html).

Também há várias ferramentas de terceiros disponíveis, incluindo as seguintes:
+ Se você escolher a Amazon FSx para NetApp ONTAP, poderá usá-la NetApp SnapMirror para migrar os arquivos do data center local para a nuvem. SnapMirror usa replicação em nível de bloco, que pode ser mais rápida DataSync e reduzir a duração do processo de transferência de dados. Para obter mais informações, consulte [Migrando FSx para o uso do ONTAP. NetApp SnapMirror](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap-snapmirror.html)
+ Se você escolher o Amazon FSx para Windows File Server, poderá usar o Robocopy para migrar arquivos para a nuvem. Para obter mais informações, consulte [Migração de arquivos existentes FSx para o Windows File Server usando o Robocopy](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-files-to-fsx.html).

## Épicos
<a name="migrate-shared-file-systems-in-an-aws-large-migration-epics"></a>

### Descobrir
<a name="discover"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar a pasta de trabalho de descoberta do SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 
| Coletar informações sobre o SFS de origem. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 
| Coletar informações sobre os servidores. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 

### Planejar
<a name="plan"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar o plano de ondas do SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Líder de construção, líder de substituição, engenheiro de migração, líder de migração | 
| Escolha o destino AWS service (Serviço da AWS) e a ferramenta de migração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 

### Preparar
<a name="prepare"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar o sistema de arquivos de destino. | De acordo com os detalhes registrados em seu plano de ondas, configure os sistemas de arquivos de destino no destino Conta da AWS, no VPC e nas sub-redes. Para obter instruções, consulte a AWS documentação a seguir:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração, administrador da AWS | 
| Configurar a ferramenta de migração e transfira dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrador da AWS, administrador de nuvem, engenheiro de migração, líder de migração | 
| Atualizar o plano de ondas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 

### Substituir
<a name="cut-over"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Interromper aplicativos. | Se aplicativos ou clientes estiverem executando ativamente operações de leitura e gravação no SFS de origem, interrompa-as antes de realizar a sincronização final dos dados. Para obter instruções, consulte a documentação do aplicativo ou seus processos internos para interromper as atividades de leitura e gravação. Por exemplo, consulte [Iniciar ou interromper o servidor Web (IIS 8)](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635851(v=ws.11)) (documentação da Microsoft) ou [Gerenciar serviços do sistema com systemctl](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-systemd_configuring-basic-system-settings#managing-system-services-with-systemctl_managing-systemd) (documentação da Red Hat). | Proprietário do aplicativo, desenvolvedor do aplicativo | 
| Executar a transferência final de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Engenheiro de migração, líder de migração | 
| Validar a transferência de dados. | Se você estiver usando AWS DataSync, faça o seguinte para validar a transferência final de dados concluída com êxito:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html)Se você estiver usando uma ferramenta de terceiros, consulte as instruções de validação da transferência de dados na documentação da ferramenta de migração selecionada. | Engenheiro de migração, líder de migração | 

### Validar
<a name="validate"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remonte o sistema de arquivos e valide a função e o desempenho do aplicativo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrador de sistemas da AWS, proprietário do aplicativos | 

## Solução de problemas
<a name="migrate-shared-file-systems-in-an-aws-large-migration-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Os valores das células no Microsoft Excel não são atualizados. | Copie as fórmulas nas linhas de amostra arrastando a alça de preenchimento. Para obter mais informações, consulte as instruções para [Windows](https://support.microsoft.com/en-us/office/fill-a-formula-down-into-adjacent-cells-041edfe2-05bc-40e6-b933-ef48c3f308c6) ou [Mac](https://support.microsoft.com/en-au/office/copy-a-formula-by-dragging-the-fill-handle-in-excel-for-mac-dd928259-622b-473f-9a33-83aa1a63e218) (site de suporte da Microsoft). | 

## Recursos relacionados
<a name="migrate-shared-file-systems-in-an-aws-large-migration-resources"></a>

**AWS documentação**
+ [AWS DataSync documentação](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)
+ [Documentação do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)
+ [ FSx Documentação da Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/index.html)
+ [Grandes migrações para o Nuvem AWS](https://aws.amazon.com/prescriptive-guidance/large-migrations/)
  + [Guia para AWS grandes migrações](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/welcome.html)
  + [Manual de portfólio para AWS grandes migrações](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html)

**Solução de problemas**
+ [Solução de AWS DataSync problemas](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync.html)
+ [Solução de problemas do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html)
+ [Solução de problemas do Amazon FSx para Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/troubleshooting.html)
+ [Solução de problemas da Amazon FSx para NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/troubleshooting.html)

## Anexos
<a name="attachments-a30cf791-7a8a-4f71-8927-bc61f3b332f2"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/a30cf791-7a8a-4f71-8927-bc61f3b332f2/attachments/attachment.zip)

# Migre um banco de dados Oracle para o Amazon RDS for Oracle usando adaptadores de arquivo simples GoldenGate Oracle
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters"></a>

*Dhairya Jindani e Baji Shaik, Amazon Web Services*

## Resumo
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-summary"></a>

 GoldenGate O Oracle é um serviço de captura e replicação de dados em tempo real para bancos de dados e ambientes de TI heterogêneos. No entanto, esse serviço não é compatível atualmente com o Amazon Relational Database Service (Amazon RDS) para Oracle. Para obter uma lista dos bancos de dados compatíveis, consulte [Oracle GoldenGate for Heterogeneous Databases](https://docs.oracle.com/goldengate/c1230/gg-winux/GGHDB/12.3-what-is-oracle-goldengate-heterogeneous-databases.htm#GGHDB-GUID-08EAC588-F76C-4E37-BEBA-0DC57B98CA46) (documentação da Oracle). Esse padrão descreve como usar os adaptadores de arquivo GoldenGate simples Oracle GoldenGate e Oracle para gerar arquivos simples do banco de dados Oracle de origem, que pode estar no local ou em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Em seguida, você pode importar esses arquivos simples para uma instância de banco de dados Amazon RDS para Oracle.

Nesse padrão, você usa o Oracle GoldenGate para extrair os arquivos de trilha do seu banco de dados Oracle de origem. A bomba de dados copia os arquivos de trilha para um servidor de integração, que é uma EC2 instância da Amazon. No servidor de integração, a Oracle GoldenGate usa o adaptador de arquivo simples para gerar uma série de arquivos simples sequenciais com base na captura de dados transacionais dos arquivos de trilha. O Oracle GoldenGate formata os dados como valores separados por delimitador ou valores delimitados por comprimento. Em seguida, você usa o Oracle SQL\$1Loader para importar os arquivos simples para a instância de banco de dados de destino do Amazon RDS para Oracle.

**Público-alvo**

Esse padrão é destinado para aqueles que têm experiência e conhecimento dos blocos de construção fundamentais GoldenGate de um Oracle. Para obter mais informações, consulte [Visão geral da GoldenGate arquitetura Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD115) (documentação da Oracle).

## Pré-requisitos e limitações
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Uma GoldenGate licença Oracle.
+ Uma licença separada para um GoldenGate adaptador Oracle.
+ Um banco de dados Oracle de origem, executado localmente ou em uma EC2 instância da Amazon.
+ Uma instância Amazon EC2 Linux usada como servidor de integração. Para obter mais informações, consulte [Comece a usar instâncias do Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) ( EC2 documentação da Amazon).
+ Uma instância de destino do banco de dados do Amazon RDS para Oracle. Para obter mais informações, consulte [Criação de uma instância de banco de dados Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html) (documentação do Amazon RDS).

**Versões do produto**
+ Oracle Database Enterprise Edition versão 10g, 11g, 12c ou superior
+ Oracle GoldenGate versão 12.2.0.1.1 ou posterior

## Arquitetura
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-architecture"></a>

**Pilha de tecnologia de origem**

Um banco de dados Oracle (no local ou em uma EC2 instância da Amazon)

**Pilha de tecnologias de destino**

Amazon RDS para Oracle

**Arquitetura de origem e destino**

![\[Migração de um banco de dados Oracle para o Amazon RDS for Oracle usando um GoldenGate adaptador Oracle.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f34961f7-aa9a-41cb-b1ea-522e36ef2f67/images/21ef5177-e669-4591-aced-28d2f22decf2.png)


1. O Oracle GoldenGate extrai trilhas dos registros do banco de dados de origem.

1. O data pump extrai as trilhas e as migra para um servidor de integração.

1. O adaptador de arquivo GoldenGate simples Oracle lê as trilhas, as definições de origem e os parâmetros de extração.

1. Você sai da extração, que gera um arquivo de controle e arquivos de dados simples.

1. Você migra os arquivos de dados simples para uma instância de banco de dados do Amazon RDS para Oracle na Nuvem AWS.

## Ferramentas
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-tools"></a>

**Serviços da AWS**
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) para Oracle ajuda você a configurar, operar e escalar um banco de dados relacional da Oracle na Nuvem AWS.

**Outros serviços**
+  GoldenGateO [Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110) é um serviço que ajuda você a replicar, filtrar e transformar dados de um banco de dados em outro banco de dados heterogêneo ou em outra topologia de destino, como arquivos simples.
+ [Os adaptadores de GoldenGate aplicativos Oracle](https://docs.oracle.com/goldengate/gg121211/gg-adapter/GADAD/flatfile_config.htm#GADAD424) permitem GoldenGate que a Oracle produza uma série de arquivos simples sequenciais e arquivos de controle a partir de dados transacionais capturados nos arquivos de trilha de um banco de dados de origem. Esses adaptadores são amplamente usados para operações de extração, transformação e carregamento (ETL) em aplicativos de data warehouse e aplicativos proprietários ou legados. GoldenGate A Oracle realiza essa captura e a aplica quase em tempo real em bancos de dados, plataformas e sistemas operacionais heterogêneos. Os adaptadores suportam formatos diferentes para os arquivos de saída, como CSV ou Apache Parquet. Você pode carregar esses arquivos gerados para carregar os dados em diferentes bancos de dados heterogêneos.

## Épicos
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-epics"></a>

### Configurar o Oracle GoldenGate no servidor de banco de dados de origem
<a name="set-up-oracle-goldengate-on-the-source-database-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o Oracle GoldenGate. | No servidor do banco de dados de origem, baixe o Oracle GoldenGate versão 12.2.0.1.1 ou posterior. Para obter instruções, consulte [Baixando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164) (documentação da Oracle). | DBA | 
| Instale o Oracle GoldenGate. | Para obter instruções, consulte [Instalando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentação da Oracle). | DBA | 
| Configure o Oracle GoldenGate. | Para obter instruções, consulte [Preparando o banco de dados para Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentação da Oracle). | DBA | 

### Configure o Oracle GoldenGate no servidor de integração
<a name="set-up-oracle-goldengate-on-the-integration-server"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o Oracle GoldenGate. | No servidor de integração, baixe o Oracle GoldenGate versão 12.2.0.1.1 ou posterior. Para obter instruções, consulte [Baixando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164) (documentação da Oracle). | DBA | 
| Instale o Oracle GoldenGate. | Crie diretórios, configure o processo do gerenciador e crie o arquivo `defgen` para um ambiente heterogêneo. Para obter instruções, consulte [Instalando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentação da Oracle). | DBA | 

### Alterar a configuração de captura GoldenGate de dados do Oracle
<a name="change-the-oracle-goldengate-data-capture-configuration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare os GoldenGate adaptadores Oracle. | No servidor de integração, configure o software do GoldenGate adaptador Oracle. Faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.html) | DBA | 
| Configure a data pump. | No servidor de origem, configure o data pump para transferir o arquivo de trilha do servidor de origem para o servidor de integração. Crie o arquivo de parâmetros do data pump e o diretório do arquivo de trilhas. Para obter instruções, consulte [Configurando o adaptador de arquivo simples](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentação da Oracle). | DBA | 

### Gere e migre os arquivos simples
<a name="generate-and-migrate-the-flat-files"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Gere os arquivos simples. | Crie o arquivo de extração e o arquivo de controle e, em seguida, inicie o processo de extração no servidor de integração. Isso extrai as alterações do banco de dados e grava o banco de dados de origem nos arquivos simples. Para obter instruções, consulte [Usando o adaptador de arquivo simples](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD432) (documentação da Oracle). | DBA | 
| Carregue os arquivos simples no banco de dados de destino. | Carregue os arquivos simples na instância de destino do banco de dados do Amazon RDS para Oracle. Para obter mais informações, consulte [Importação usando o Oracle SQL\$1Loader](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.SQLLoader.html) (documentação do Amazon RDS). | DBA | 

## Solução de problemas
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| O adaptador de arquivo GoldenGate simples Oracle gera um erro. | Para obter uma descrição dos erros do adaptador, consulte [Localizar mensagens de erro](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD437) (documentação da Oracle). Para obter instruções de solução de problemas, consulte [Solução de problemas do adaptador de arquivo simples](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-CB3D9B2C-49CC-408A-8C00-06E0C7923DD6.htm#GADAD552) (documentação da Oracle). | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-resources"></a>
+ [Instalando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentação da Oracle)
+ [Configurando o Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentação da Oracle)
+ [Compreendendo GoldenGate os adaptadores Oracle](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-F9105B02-9836-4F98-99F8-6E9C46D42764.htm#GADAD101) (documentação da Oracle)
+ [Configurando o adaptador de arquivo simples](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentação da Oracle)

# Altere os aplicativos Python e Perl para oferecer suporte à migração do banco de dados do Microsoft SQL Server para o Amazon Aurora Edição Compatível com PostgreSQL
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition"></a>

*Dwarika Patra e Deepesh Jayaprakash, Amazon Web Services*

## Resumo
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-summary"></a>

Esse padrão descreve as alterações nos repositórios de aplicativos que podem ser necessárias quando você migra bancos de dados do Microsoft SQL Server para o Amazon Aurora Edição Compatível com PostgreSQL. O padrão pressupõe que esses aplicativos sejam baseados em Python ou em Perl e fornece instruções separadas para essas linguagens de script.

A migração de bancos de dados do SQL Server para o Aurora compatível com PostgreSQL envolve conversão de esquemas, conversão de objetos de banco de dados, migração de dados e carregamento de dados. Devido às diferenças entre o PostgreSQL e o SQL Server (relacionadas a tipos de dados, objetos de conexão, sintaxe e lógica), a tarefa de migração mais difícil envolve fazer as alterações necessárias na base de código para que ela funcione corretamente com o PostgreSQL.

Em um aplicativo baseado em Python, objetos e classes de conexão estão espalhados por todo o sistema. Além disso, a base de código do Python pode usar várias bibliotecas para se conectar ao banco de dados. Se a interface de conexão do banco de dados mudar, os objetos que executam as consultas em linha do aplicativo também precisarão de alterações.

Em um aplicativo baseado em Perl, as alterações envolvem objetos de conexão, drivers de conexão de banco de dados, instruções SQL em linha estáticas e dinâmicas e como o aplicativo lida com consultas dinâmicas complexas de DML e conjuntos de resultados.

Ao migrar seu aplicativo, você também pode considerar possíveis melhorias na AWS, como a substituição do servidor FTP pelo acesso ao Amazon Simple Storage Service (Amazon S3).

O processo de migração de aplicativos envolve os seguintes desafios:
+ Objetos de conexão. Se os objetos de conexão estiverem espalhados no código com várias bibliotecas e chamadas de função, talvez seja necessário encontrar uma maneira generalizada de alterá-los para oferecer suporte ao PostgreSQL.
+ Tratamento de erros ou exceções durante a recuperação ou atualizações de registros. Se você tiver operações condicionais de criação, leitura, atualização e exclusão (CRUD) no banco de dados que retornam variáveis, conjuntos de resultados ou data frames, quaisquer erros ou exceções podem resultar em erros de aplicativo com efeitos em cascata. Eles devem ser tratados com cuidado, com validações adequadas e pontos de economia. Um desses pontos de salvamento é chamar grandes consultas SQL em linha ou objetos de banco de dados dentro de blocos `BEGIN...EXCEPTION...END`.
+ Controle de transações e sua validação. Isso inclui confirmações e reversões manuais e automáticas. O driver do PostgreSQL para Perl exige que você sempre defina explicitamente o atributo de confirmação automática.
+ Tratamento de consultas SQL dinâmicas. Isso requer uma forte compreensão da lógica de consulta e testes iterativos para garantir que as consultas funcionem conforme o esperado.
+ Desempenho. Você deve garantir que as alterações no código não resultem na degradação do desempenho do aplicativo.

Esse padrão explica detalhadamente o processo de conversão.

## Pré-requisitos e limitações
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-prereqs"></a>

**Pré-requisitos **
+ Conhecimento prático das sintaxes Python e Perl.
+ Habilidades básicas em SQL Server e PostgreSQL.
+ Compreensão da arquitetura de seu aplicativo existente.
+ Acesso ao código do aplicativo, ao banco de dados do SQL Server e ao banco de dados do PostgreSQL.
+ Acesso ao ambiente de desenvolvimento Windows ou Linux (ou outro Unix) com credenciais para desenvolver, testar e validar alterações em aplicativos.
+ **Para um aplicativo baseado em Python, bibliotecas Python padrão que seu aplicativo pode exigir, como **Pandas** para lidar com quadros de dados e psycopg2 ou para conexões de banco de dados. **SQLAlchemy****
+ Para um aplicativo baseado em Perl, são necessários pacotes Perl com bibliotecas ou módulos dependentes. O módulo rede abrangente de arquivos do Perl (CPAN) pode oferecer suporte à maioria dos requisitos do aplicativo.
+ Todas as bibliotecas ou módulos personalizados dependentes necessários. 
+ Credenciais de banco de dados para acesso de leitura ao SQL Server e read/write acesso ao Aurora.
+ PostgreSQL para validar e depurar alterações de aplicativos com serviços e usuários.
+ Acesso a ferramentas de desenvolvimento durante a migração de aplicativos, como Visual Studio Code, Sublime Text ou **pgAdmin**.

**Limitações**
+ Algumas versões, módulos, bibliotecas e pacotes do Python ou Perl não são compatíveis com o ambiente de nuvem.
+ Algumas bibliotecas e estruturas de terceiros usadas para o SQL Server não podem ser substituídas para oferecer suporte à migração do PostgreSQL. 
+ As variações de desempenho podem exigir alterações em seu aplicativo, nas consultas em linha do Transact-SQL (T-SQL), nas funções do banco de dados e nos procedimentos armazenados.
+ PostgreSQL suporta nomes em minúsculas para nomes de tabelas, nomes de colunas e outros objetos de banco de dados. 
+ Alguns tipos de dados, como colunas UUID, são armazenados somente em letras minúsculas. Os aplicativos Python e Perl devem lidar com essas diferenças de maiúsculas e minúsculas. 
+ As diferenças na codificação de caracteres devem ser tratadas com o tipo de dados correto para as colunas de texto correspondentes no banco de dados do PostgreSQL.                                

**Versões do produto**
+ Python 3.6 ou superior (use a versão compatível com seu sistema operacional)
+ Perl 5.8.3 ou superior (use a versão compatível com seu sistema operacional)
+ Edição 4.2 ou superior do Aurora compatível com PostgreSQL (veja [detalhes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html#AuroraPostgreSQL.Updates.20180305.42))

## Arquitetura
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-architecture"></a>

**Pilha de tecnologia de origem**
+ Linguagem de script (programação de aplicativos): Python 2.7 ou superior ou Perl 5.8 
+ Banco de dados: Microsoft SQL Server versão 13
+ Sistema operacional: Red Hat Enterprise Linux (RHEL) 7 

**Pilha de tecnologias de destino**
+ Linguagem de script (programação de aplicativos): Python 3.6 ou superior ou Perl 5.8 ou superior 
+ Banco de dados: Aurora 4.2 compatível com PostgreSQL
+ Sistema operacional: RHEL 7 

**Arquitetura de migração **

![\[Migração de um aplicativo do Perl ou Python com o SQL Server para o Aurora compatível com PostgreSQL\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b64de64a-bd55-4db7-ba7b-0a2557862af1/images/b8fab3e2-ded5-4f58-86bf-3f645252e9fc.png)


## Ferramentas
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-tools"></a>

**Ferramentas e serviços da AWS**
+ A [Edição compatível com PostgreSQL do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) é um mecanismo de banco de dados relacional totalmente gerenciado, compatível com PostgreSQL e compatível com ACID que combina a velocidade e a confiabilidade de bancos de dados comerciais de alta tecnologia com a economia de bancos de dados de código aberto. O Aurora PostgreSQL é um substituto imediato do PostgreSQL e torna mais fácil e econômico configurar, operar e escalar suas implantações novas e existentes do PostgreSQL.
+ A [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.

**Outras ferramentas**
+ [Bibliotecas de conexão de banco de dados [Python](https://www.python.org/) e PostgresSQL, como psycopg2 e [SQLAlchemy](https://www.sqlalchemy.org/)](https://pypi.org/project/psycopg2/)
+ [Perl](https://www.perl.org/) e seus [módulos do DBI](https://metacpan.org/pod/DBD::Pg)
+ [Terminal interativo do PostgreSQL](https://www.postgresql.org/docs/13/app-psql.html) (psql)

## Épicos
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-epics"></a>

### Migre seu repositório de aplicativos para o PostgreSQL (etapas de alto nível)
<a name="migrate-your-application-repository-to-postgresql-ndash-high-level-steps"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Siga estas etapas de conversão de código para migrar seu aplicativo para o PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Os épicos a seguir fornecem instruções detalhadas para algumas dessas tarefas de conversão para aplicativos Python e Perl. | Desenvolvedor de aplicativos | 
| Use uma lista de verificação para cada etapa da migração. | Adicione o seguinte à sua lista de verificação para cada etapa da migração do aplicativo, incluindo a etapa final:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 

### Analise e atualize seu aplicativo — base de código Python
<a name="analyze-and-update-your-application-ndash-python-code-base"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analise sua base de código Python existente.  | Sua análise deve incluir o seguinte para facilitar o processo de migração do aplicativo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 
| Converta suas conexões de banco de dados para suportar o PostgreSQL.  | A maioria dos aplicativos Python usa a biblioteca **pyodbc **para se conectar aos bancos de dados do SQL Server da seguinte maneira.<pre>import pyodbc<br />....<br />try:<br />    conn_string = "Driver=ODBC Driver 17 for SQL<br />    Server;UID={};PWD={};Server={};Database={}".format (conn_user, conn_password,<br />    conn_server, conn_database)<br />    conn = pyodbc.connect(conn_string)<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre>Converta a conexão do banco de dados para suportar o PostgreSQL da seguinte maneira.<pre>import pyodbc<br />import psycopg2<br />....<br />try:<br />    conn_string = ‘postgresql+psycopg2://’+<br />    conn_user+’:’+conn_password+’@’+conn_server+’/’+conn_database<br />    conn = pyodbc.connect(conn_string, connect_args={‘options’:’-csearch_path=dbo’})<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre> | Desenvolvedor de aplicativos | 
| Altere as consultas SQL em linha para PostgreSQL. | Converta suas consultas SQL em linha em um formato compatível com PostgreSQL. Por exemplo, a consulta do SQL Server a seguir recupera uma string de uma tabela.<pre>dtype = "type1"<br />stm = ‘"SELECT TOP 1 searchcode FROM TypesTable (NOLOCK)<br />WHERE code="’ + "’" + str(dtype) + "’"<br /># For Microsoft SQL Server Database Connection<br />engine = create_engine(‘mssql+pyodbc:///?odbc_connect=%s’ % urllib.parse.quote_plus(conn_string), connect_args={‘connect_timeout’:login_timeout})<br />conn = engine_connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre>Após a conversão, a consulta SQL em linha compatível com PostgreSQL tem a seguinte aparência.<pre>dtype = "type1"<br />stm = ‘"SELECT searchcode FROM TypesTable<br />WHERE code="’ + "’" + str(dtype) + "’ LIMIT 1"<br /># For PostgreSQL Database Connection<br />engine = create_engine(‘postgres+psycopg2://%s’ %conn_string, connect_args={‘connect_timeout’:login_timeout})<br />conn = engine.connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre> | Desenvolvedor de aplicativos | 
| Gerencie consultas SQL dinâmicas. | O SQL dinâmico pode estar presente em um script ou em vários scripts do Python. Exemplos anteriores mostraram como usar a função string replace (substituição de strings) do Python para inserir variáveis para estruturar consultas SQL dinâmicas. Uma abordagem alternativa é anexar a string de consulta com variáveis sempre que aplicável. No exemplo a seguir, a string de consulta é estruturada dinamicamente com base nos valores retornados por uma função.<pre>query = ‘"SELECT id from equity e join issues i on e.permId=i.permId where e.id’"<br />query += get_id_filter(ids) + " e.id is NOT NULL</pre>Esses tipos de consultas dinâmicas são muito comuns durante a migração do aplicativo. Siga estas etapas para lidar com consultas dinâmicas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 
| Gerencie conjuntos de resultados, variáveis e data frames. | No Microsoft SQL Server, você usa métodos Python, como `fetchone()` ou `fetchall()` para recuperar o conjunto de resultados do banco de dados. Você também pode usar `fetchmany(size)` e especificar o número de registros a serem retornados do conjunto de resultados. Para fazer isso, você pode usar o objeto de conexão **pyodbc**, conforme mostrado no exemplo a seguir.**pyodbc (Microsoft SQL Server)**<pre>import pyodbc <br />server = 'tcp:myserver.database.windows.net' <br />database = 'exampledb' <br />username = 'exampleusername' <br />password = 'examplepassword' <br />conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)<br />cursor = conn.cursor()<br />cursor.execute("SELECT * FROM ITEMS") <br />row = cursor.fetchone() <br />while row: <br />    print(row[0])<br />    row = cursor.fetchone()</pre>**No Aurora, para realizar tarefas semelhantes, como conectar-se ao PostgreSQL e buscar conjuntos de resultados, você pode usar psycopg2 ou. **SQLAlchemy**** Essas bibliotecas do Python fornecem o módulo de conexão e o objeto cursor para percorrer os registros do banco de dados do PostgreSQL, conforme mostrado no exemplo a seguir.**psycopg2 (Aurora compatível com PostgreSQL)**<pre>import psycopg2<br />query = "SELECT * FROM ITEMS;"<br />//Initialize variables<br />host=dbname=user=password=port=sslmode=connect_timeout=""<br />connstring = "host='{host}' dbname='{dbname}' user='{user}' \<br />password='{password}'port='{port}'".format(host=host,dbname=dbname,\<br />user=user,password=password,port=port) <br />conn = psycopg2.connect(connstring)<br />cursor = conn.cursor()<br />cursor.execute(query)<br />column_names = [column[0] for column in cursor.description]<br />print("Column Names: ", column_names)<br />print("Column values: "<br />for row in cursor:<br />    print("itemid :", row[0])<br />    print("itemdescrption :", row[1])<br />    print("itemprice :", row[3]))</pre>**SQLAlchemy (Compatível com Aurora PostgreSQL)**<pre>from sqlalchemy import create_engine<br />from pandas import DataFrame<br />conn_string = 'postgresql://core:database@localhost:5432/exampledatabase'<br />engine = create_engine(conn_string)<br />conn = engine.connect()<br />dataid = 1001<br />result = conn.execute("SELECT * FROM ITEMS")<br />df = DataFrame(result.fetchall())<br />df.columns = result.keys()<br />df = pd.DataFrame()<br />engine.connect()<br />df = pd.read_sql_query(sql_query, engine, coerce_float=False)<br />print("df=", df)</pre> | Desenvolvedor de aplicativos | 
| Teste seu aplicativo durante e após a migração. | Testar o aplicativo do Python migrado é um processo contínuo. Como a migração inclui alterações no objeto de conexão (**psycopg2** ou **SQLAlchemy**), tratamento de erros, novos recursos (quadros de dados), alterações de SQL em linha, funcionalidades de cópia em massa (`bcp`em vez de`COPY`) e alterações semelhantes, ela deve ser testada cuidadosamente durante e após a migração do aplicativo. Verifique se existe:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 

### Analise e atualize seu aplicativo — base de código Perl
<a name="analyze-and-update-your-application-ndash-perl-code-base"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Analise sua base de código Perl existente. | Sua análise deve incluir o seguinte para facilitar o processo de migração do aplicativo. Você deve identificar:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 
| Converta as conexões do aplicativo do Perl e do módulo do DBI para suportar o PostgreSQL. | Os aplicativos baseados em Perl geralmente usam o módulo do Perl DBI, que é um módulo padrão de acesso ao banco de dados para a linguagem de programação Perl. Você pode usar o mesmo módulo do DBI com drivers diferentes para SQL Server e PostgreSQL.Para obter mais informações sobre os módulos do Perl, instalações e outras instruções necessários, consulte a documentação do [DBD::Pg](https://metacpan.org/pod/DBD::Pg). O exemplo a seguir se conecta ao Aurora compatível com PostgreSQL em `exampletest-aurorapg-database.cluster-sampleclusture.us-east.-rds.amazonaws.com`.<pre>#!/usr/bin/perl<br />use DBI;<br />use strict;<br />my $driver = "Pg";<br />my $hostname = "exampletest-aurorapg-database-sampleclusture.us-east.rds.amazonaws.com"<br />my $dsn = "DBI:$driver: dbname = $hostname;host = 127.0.0.1;port = 5432";<br />my $username = "postgres";<br />my $password = "pass123";<br />$dbh = DBI->connect("dbi:Pg:dbname=$hostname;host=$host;port=$port;options=$options",<br />      $username,<br />      $password,<br />      {AutoCommit => 0, RaiseError => 1, PrintError => 0}<br />      );</pre> | Desenvolvedor de aplicativos | 
| Altere as consultas SQL em linha para PostgreSQL. | Seu aplicativo pode ter consultas SQL em linha com `SELECT`, `DELETE`, `UPDATE` e declarações semelhantes que incluam cláusulas de consulta que o PostgreSQL não suporta. Por exemplo, palavras-chave de consulta como `TOP` e `NOLOCK` não são suportadas no PostgreSQL. Os exemplos a seguir mostram como você pode gerenciar variáveis `TOP`, `NOLOCK` e booleanas.No SQL Server:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id   \<br />FROM active_student_record b WITH (NOLOCK) \<br />INNER JOIN student_contributor c WITH (NOLOCK) on c.contributor_id = b.c_st)</pre>Para o PostgreSQL, converta para:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id  \<br />FROM active_student_record b INNER JOIN student_contributor c  \<br />on c.contributor_id = b.c_student_contr_id WHERE b_current_1 is true \<br />LIMIT $numofRecords)"</pre> | Desenvolvedor de aplicativos | 
| Gerencie consultas SQL dinâmicas e variáveis do Perl. | As consultas SQL dinâmicas são instruções SQL criadas no runtime do aplicativo. Essas consultas são estruturadas dinamicamente quando o aplicativo está em execução, dependendo de determinadas condições, portanto, o texto completo da consulta não é conhecido até o runtime. Um exemplo é um aplicativo de análise financeira que analisa as 10 principais ações diariamente, e essas ações mudam todos os dias. As tabelas SQL são criadas com base nos melhores desempenhos e os valores não são conhecidos até o runtime.Digamos que as consultas SQL em linha deste exemplo sejam passadas para uma função de encapsulamento para obter o conjunto de resultados em uma variável e, em seguida, uma variável use uma condição para determinar se a tabela existe:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Este é um exemplo de manipulação de variáveis, seguido pelas consultas SQL Server e PostgreSQL para este caso de uso.<pre>my $tableexists = db_read( arg 1, $sql_qry, undef, 'writer');<br />my $table_already_exists = $tableexists->[0]{table_exists};<br />if ($table_already_exists){<br /># do some thing<br />}<br />else {<br /># do something else<br />}</pre>SQL Server:<pre>my $sql_qry = "SELECT OBJECT_ID('$backendTable', 'U') table_exists", undef, 'writer')";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT TO_REGCLASS('$backendTable', 'U') table_exists", undef, 'writer')";</pre>O exemplo a seguir usa uma variável** **do Perl em SQL em linha, que executa uma instrução `SELECT` com uma `JOIN` para buscar a chave primária da tabela e a posição da coluna chave.SQL Server:<pre>my $sql_qry = "SELECT column_name', character_maxi mum_length \<br />FROM INFORMATION_SCHEMA.COLUMNS \<br />WHERE TABLE_SCHEMA='$example_schemaInfo' \<br />AND TABLE_NAME='$example_table' \<br />AND DATA_TYPE IN ('varchar','nvarchar');";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT c1.column_name, c1.ordinal_position \<br />FROM information_schema.key_column_usage AS c LEFT \<br />JOIN information_schema.table_constraints AS t1 \<br />ON t1.constraint_name = c1.constraint_name \<br />WHERE t1.table_name = $example_schemaInfo'.'$example_table’ \<br />AND t1.constraint_type = 'PRIMARY KEY' ;";</pre> | Desenvolvedor de aplicativos | 

### Faça alterações adicionais em seu aplicativo baseado em Perl ou Python para oferecer suporte ao PostgreSQL
<a name="make-additional-changes-to-your-perl-based-or-python-based-application-to-support-postgresql"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Converta estruturas adicionais do SQL Server em PostgreSQL. | As alterações a seguir se aplicam a todos os aplicativos, independentemente da linguagem de programação.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desenvolvedor de aplicativos | 

### Melhorar o desempenho
<a name="improve-performance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Aproveite os serviços da AWS para aprimorar o desempenho. | Ao migrar para a nuvem AWS, você pode refinar o design do aplicativo e do banco de dados para aproveitar os serviços da AWS. Por exemplo, se as consultas do seu aplicativo do Python, que está conectado a um servidor de banco de dados compatível com o Aurora PostgreSQL, estiverem demorando mais do que as consultas originais do Microsoft SQL Server, considere criar um feed de dados históricos diretamente para um bucket do Amazon Simple Storage Service (Amazon S3) a partir do servidor Aurora e usar consultas SQL baseadas no Amazon Athena para gere relatórios e consultas de dados analíticos para seus painéis de usuário. | Desenvolvedor de aplicativos, arquiteto de nuvem | 

## Recursos relacionados
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-resources"></a>
+ [Perl](https://www.perl.org/)
+ [Módulo do Perl DBI](https://metacpan.org/pod/DBI)
+ [Python](https://www.python.org/)
+ [psycopg2](https://pypi.org/project/psycopg2/)
+ [SQLAlchemy](https://www.sqlalchemy.org/)
+ [Cópia em massa: PostgreSQL](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ [Cópia em massa: Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15)
+ [PostgreSQL](https://www.postgresql.org/)
+ [Trabalho com Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)

## Mais informações
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-additional"></a>

Tanto o Microsoft SQL Server quanto o Aurora compatível com PostgreSQL são compatíveis com o ANSI SQL. No entanto, você ainda deve estar ciente de quaisquer incompatibilidades na sintaxe, nos tipos de dados da coluna, nas funções específicas do banco de dados nativo, nas inserções em massa e na diferenciação de maiúsculas e minúsculas ao migrar seu aplicativo do Python ou Perl do SQL Server para o PostgreSQL.

As seções a seguir fornecem mais informações sobre possíveis inconsistências.

**Comparação de tipos de dados**

Alterações no tipo de dados do SQL Server para o PostgreSQL podem levar a diferenças significativas nos dados resultantes com os quais os aplicativos operam. Para obter uma comparação dos tipos de dados, consulte a tabela no [site da Sqlines](https://www.sqlines.com/sql-server-to-postgresql).

**Funções SQL nativas ou integradas**

O comportamento de algumas funções difere entre os bancos de dados SQL Server e PostgreSQL. A tabela a seguir oferece uma comparação.


| 
| 
| Microsoft SQL Server | Description | PostgreSQL | 
| --- |--- |--- |
| `CAST`  | Converte um valor de um tipo de dados para outro. | PostgreSQL `type :: operator` | 
| `GETDATE()` | Retorna a data e hora do sistema de banco de dados atual, em um formato `YYYY-MM-DD hh:mm:ss.mmm`. | `CLOCK_TIMESTAMP` | 
| `DATEADD` | Adiciona um time/date intervalo a uma data. | Expressão `INTERVAL` | 
| `CONVERT` | Converte um valor em um formato de dados específico. | `TO_CHAR` | 
| `DATEDIFF` | Retorna a diferença entre duas datas. | `DATE_PART` | 
| `TOP` | Limita o número de linhas em um conjunto de `SELECT` resultados. | `LIMIT/FETCH` | 

** Blocos anônimos**

Uma consulta SQL estruturada é organizada em seções como declaração, executáveis e tratamento de exceções. A tabela a seguir compara as versões do Microsoft SQL Server e PostgreSQL de um bloco anônimo simples. Para blocos anônimos complexos, recomendamos que você chame uma função de banco de dados personalizada em seu aplicativo.


| 
| 
| Microsoft SQL Server | PostgreSQL | 
| --- |--- |
| <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sqlqry = "BEGIN TRAN<br />$sql_qry1 $sql_qry2<br />if @\@error !=0 ROLLBACK<br />TRAN<br />else COMIT TRAN";</pre> | <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sql_qry = " DO \$\$<br />BEGIN<br />$header_sql $content_sql<br />END<br />\$\$";</pre> | 

 

**Outras diferenças**
+ **Inserções de linhas em massa:** o equivalente do PostgreSQL do [utilitário bcp do Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) é [COPY](https://www.postgresql.org/docs/9.2/sql-copy.html).
+ **Sensibilidade a maiúsculas e minúsculas:** os nomes das colunas diferenciam maiúsculas de minúsculas no PostgreSQL, portanto, é necessário converter os nomes das colunas do SQL Server para letras minúsculas ou maiúsculas. Isso se torna um fator quando você extrai ou compara dados ou coloca nomes de colunas em conjuntos de resultados ou variáveis. O exemplo a seguir identifica colunas nas quais os valores podem ser armazenados em maiúsculas ou minúsculas.

```
my $sql_qry = "SELECT $record_id FROM $exampleTable WHERE LOWER($record_name) = \'failed transaction\'"; 
```
+ **Concatenação: **o SQL Server usa `+` como operador para concatenação de strings, enquanto o PostgreSQL usa `||`.
+ **Validação: **você deve testar e validar consultas e funções SQL em linha antes de usá-las no código do aplicativo para PostgreSQL.
+ **Inclusão da biblioteca ORM:** [você também pode procurar incluir ou substituir a biblioteca de conexão de banco de dados existente por bibliotecas ORM Python, como [SQLAlchemy](https://www.sqlalchemy.org/)PynomoDB.](https://pynamodb.readthedocs.io/en/latest/quickstart.html) Isso ajudará a consultar e manipular facilmente dados de um banco de dados usando um paradigma orientado a objetos.

# Padrões de migração por workload
<a name="migration-migration-patterns-by-workload-pattern-list"></a>

**Topics**
+ [IBM](migration-migration-patterns-by-workload-ibm-pattern-list.md)
+ [Microsoft](migration-migration-patterns-by-workload-microsoft-pattern-list.md)
+ [N/D](migration-migration-patterns-by-workload-notapplicable-pattern-list.md)
+ [Código aberto](migration-migration-patterns-by-workload-open-source-pattern-list.md)
+ [Oracle](migration-migration-patterns-by-workload-oracle-pattern-list.md)
+ [SAP](migration-migration-patterns-by-workload-sap-pattern-list.md)

# IBM
<a name="migration-migration-patterns-by-workload-ibm-pattern-list"></a>

**Topics**
+ [Migre um banco de dados Db2 da Amazon para o EC2 Aurora MySQL compatível usando o AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migre o Db2 for LUW para a Amazon EC2 usando o envio de registros para reduzir o tempo de interrupção](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migre o Db2 for LUW para o Amazon EC2 com recuperação de desastres de alta disponibilidade](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migre do IBM Db2 na Amazon para o EC2 Aurora compatível com PostgreSQL usando o AWS DMS e o AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)

# Microsoft
<a name="migration-migration-patterns-by-workload-microsoft-pattern-list"></a>

**Topics**
+ [Aceleração da descoberta e da migração de workloads da Microsoft para a AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Altere os aplicativos Python e Perl para oferecer suporte à migração do banco de dados do Microsoft SQL Server para o Amazon Aurora Edição Compatível com PostgreSQL](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)
+ [Crie CloudFormation modelos da AWS para tarefas do AWS DMS usando Microsoft Excel e Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Exportar um banco de dados do Microsoft SQL Server para o Amazon S3 usando o AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Implemente SHA1 o hashing para dados de PII ao migrar do SQL Server para o PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Ingira e migre instâncias EC2 do Windows para uma conta do AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migrar uma fila de mensagens do Microsoft Azure Service Bus para o Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migre um banco de dados Microsoft SQL Server da Amazon EC2 para o Amazon DocumentDB usando o AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migre um banco de dados Microsoft SQL Server para o Aurora MySQL usando o AWS DMS e o AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migre uma aplicação .NET do Microsoft Azure App Service para o AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando servidores vinculados](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Saiba como migrar um banco de dados Microsoft SQL Server on-premises para o Amazon RDS para SQL Server utilizando backup e restauração nativos.](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migrar um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift utilizando o AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migre um banco de dados Microsoft SQL Server on-premises para o Amazon Redshift usando agentes de extração de dados da AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migre um banco de dados local do Microsoft SQL Server para o Microsoft SQL Server na Amazon executando Linux EC2](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migre dados do Microsoft Azure Blob para o Amazon S3 usando o Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migre aplicativos hospedados no IIS para a Amazon EC2 usando o appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migre um banco de dados local do Microsoft SQL Server para a Amazon EC2 usando o Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Redefinir a hospedagem de workloads on-premises na Nuvem AWS: lista de verificação de migração](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Resolva erros de conexão após migrar o Microsoft SQL Server para a Nuvem AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Configure a infraestrutura Multi-AZ para um SQL Server Always On FCI usando a Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)

# N/D
<a name="migration-migration-patterns-by-workload-notapplicable-pattern-list"></a>

**Topics**
+ [Crie um processo de aprovação para solicitações de firewall durante uma migração de rehospedagem para AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)

# Código aberto
<a name="migration-migration-patterns-by-workload-open-source-pattern-list"></a>

**Topics**
+ [Crie usuários e funções do aplicativo no Aurora compatível com PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Migre o Amazon RDS for Oracle para o Amazon AWS SCT RDS for PostgreSQL com e usando e AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migre um banco de dados MariaDB on-premises para o Amazon RDS para MariaDB usando ferramentas nativas](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migrar um banco de dados MySQL on-premises para o Amazon RDS para MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migrar um banco de dados MySQL on-premises para o Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migrar um banco de dados PostgreSQL on-premises para o Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migrar um banco de dados do Couchbase Server para a Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migre do IBM WebSphere Application Server para o Apache Tomcat na Amazon EC2 com o Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migre do PostgreSQL na Amazon para o EC2 Amazon RDS for PostgreSQL usando pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migrar aplicações Java on-premises para a AWS usando o App2Container da AWS](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migre bancos de dados MySQL locais para o Aurora MySQL usando XtraBackup Percona, Amazon EFS e Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migre tabelas externas da Oracle para a compatibilidade com o Amazon Aurora PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Reinicie o AWS Replication Agent automaticamente sem desativá-lo SELinux após a reinicialização de um servidor de origem RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Transporte bancos de dados PostgreSQL entre duas instâncias de banco de dados Amazon RDS usando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Oracle
<a name="migration-migration-patterns-by-workload-oracle-pattern-list"></a>

**Topics**
+ [Converter VARCHAR2 (1) tipo de dados para Oracle para tipo de dados booleano para Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Emule o Oracle DR usando um banco de dados global Aurora compatível com PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Migre incrementalmente do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL usando o Oracle SQL Developer e o AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Faça o upload de arquivos BLOB em TEXT usando a codificação de arquivos no Aurora PostgreSQL-Compatible](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migre o Amazon RDS para Oracle para o Amazon RDS para PostgreSQL no modo SSL usando o AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migre um banco de dados Amazon RDS for Oracle para Conta da AWS outro Região da AWS e AWS DMS use-o para replicação contínua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migre um banco de dados Oracle local para a Amazon EC2 usando o Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migre um banco de dados Oracle on-premises para o Amazon RDS para MySQL, usando o AWS DMS e o AWS SCT.](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para Oracle usando o Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migrar um banco de dados Oracle on-premises para o Amazon RDS para PostgreSQL usando um Oracle bystander e o AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migre um banco de dados Oracle local para o Oracle na Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for MariaDB usando o AWS DMS e o AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migre um banco de dados Oracle da Amazon EC2 para o Amazon RDS for Oracle usando o AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migre um banco de dados Oracle para o Amazon RDS for Oracle usando adaptadores de arquivo simples GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Migre um banco de dados Oracle para o Amazon Redshift usando o AWS DMS e o AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migrar um banco de dados Oracle para o Aurora PostgreSQL usando AWS DMS e AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migre um banco de dados Oracle JD Edwards EnterpriseOne para a AWS usando o Oracle Data Pump e o AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migre uma tabela particionada do Oracle para o PostgreSQL usando o AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migre um PeopleSoft banco de dados Oracle para a AWS usando o AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migrar dados de um banco de dados Oracle on-premises para o Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migre do Amazon RDS para Oracle para o Amazon RDS para MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migre do Oracle 8i ou 9i para o Amazon RDS para PostgreSQL usando visões materializadas e o AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migre do Oracle 8i ou 9i para o Amazon RDS for PostgreSQL usando o AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migre do banco de dados Oracle para o Amazon RDS for PostgreSQL usando o Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migre da Oracle no Amazon EC2 para o Amazon RDS para MySQL usando o AWS DMS e o AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migre do Oracle WebLogic para o Apache Tomcat (TomEE) no Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migre índices baseados em funções do Oracle para o PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migre aplicativos legados do Oracle Pro\$1C para o ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migrar valores do Oracle CLOB para linhas individuais no PostgreSQL na AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migre códigos de erro do banco de dados Oracle para um banco de dados compatível com Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migre funções nativas do Oracle para o PostgreSQL usando extensões](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migre o Oracle PeopleSoft para o Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migre a funcionalidade Oracle ROWID para o PostgreSQL na AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migrar os pacotes de pragma Oracle SERIALLY\$1REUSABLE para o PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migre colunas geradas virtualmente do Oracle para o PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configure a funcionalidade Oracle UTL\$1FILE no Aurora compatível com PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Valide objetos de banco de dados após migrar do Oracle para o Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# SAP
<a name="migration-migration-patterns-by-workload-sap-pattern-list"></a>

**Topics**
+ [Migre do SAP ASE para o Amazon RDS para SQL Server usando o AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migre o SAP ASE na Amazon EC2 para o Amazon Aurora compatível com PostgreSQL usando o AWS SCT e o AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)

# Mais padrões
<a name="migration-more-patterns-pattern-list"></a>

**Topics**
+ [Acesse Serviços da AWS a partir da IBM z/OS instalando o AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Avaliar o desempenho das consultas para migrar bancos de dados do SQL Server para o MongoDB Atlas na AWS](assess-query-performance-for-migrating-sql-server-databases-to-mongodb-atlas-on-aws.md)
+ [Automatização do failover e do failback entre regiões usando o DR Orchestrator Framework](automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.md)
+ [Automatize tarefas de banco de dados no SQL Server Express no Amazon EC2 AWS Lambda usando um Agendador de Tarefas](automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.md)
+ [Crie um visualizador avançado de arquivos de mainframe na Nuvem AWS](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Conecte-se ao ambiente de gerenciamento e dados do Application Migration Service em uma rede privada](connect-to-application-migration-service-data-and-control-planes-over-a-private-network.md)
+ [Containerize workloads de mainframe que foram modernizadas pela Blu Age](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [Converta consultas JSON Oracle em SQL do banco de dados PostgreSQL](convert-json-oracle-queries-into-postgresql-database-sql.md)
+ [Converta o atributo temporal Teradata NORMALIZE em Amazon Redshift SQL](convert-the-teradata-normalize-temporal-feature-to-amazon-redshift-sql.md)
+ [Converter o atributo Teradata RESET WHEN para Amazon Redshift SQL](convert-the-teradata-reset-when-feature-to-amazon-redshift-sql.md)
+ [Copie tabelas do Amazon DynamoDB entre contas usando AWS Backup](copy-amazon-dynamodb-tables-across-accounts-using-aws-backup.md)
+ [Implemente um cluster Cassandra na Amazon EC2 com estática privada IPs para evitar o reequilíbrio](deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.md)
+ [Implante aplicativos de várias pilhas usando o AWS CDK com TypeScript](deploy-multiple-stack-applications-using-aws-cdk-with-typescript.md)
+ [Implante instâncias de cluster de failover do SQL Server na Amazon EC2 e na Amazon FSx usando o Terraform](deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.md)
+ [Emule matrizes PL/SQL associativas Oracle no Amazon Aurora PostgreSQL e no Amazon RDS for PostgreSQL](emulate-oracle-plsql-associative-arrays-in-aurora-and-rds-postgresql.md)
+ [Estime o tamanho do mecanismo Amazon RDS para um banco de dados Oracle usando relatórios AWR](estimate-the-amazon-rds-engine-size-for-an-oracle-database-by-using-awr-reports.md)
+ [Gere insights de dados usando o AWS Mainframe Modernization Amazon Q no Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Manipule blocos anônimos em instruções de SQL dinâmico no Aurora PostgreSQL](handle-anonymous-blocks-in-dynamic-sql-statements-in-aurora-postgresql.md)
+ [Identificação automática de imagens de contêineres duplicadas ao migrar para um repositório do Amazon ECR](identify-duplicate-container-images-automatically-when-migrating-to-ecr-repository.md)
+ [Configure um cluster de failover do Microsoft SQL Server no Amazon EC2 FSx usando for Windows File Server](microsoft-sql-failover-cluster-on-amazon-ec2.md)
+ [Migração de workloads do Apache Cassandra para o Amazon Keyspaces usando o AWS Glue](migrate-apache-cassandra-workloads-to-amazon-keyspaces-by-using-aws-glue.md)
+ [Migre suas cargas de trabalho de contêiner do Azure Red Hat OpenShift (ARO) para Serviço Red Hat OpenShift na AWS (ROSA)](migrate-container-workloads-from-aro-to-rosa.md)
+ [Migre do Oracle 8i ou 9i para o Amazon RDS for Oracle usando o AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.md)
+ [Migre o grupo de disponibilidade Always On do Microsoft SQL Server usando AWS Application Migration Service](migrate-microsoft-sql-server-always-on-group-using-mgn.md)
+ [Migre funções e procedimentos do Oracle que tenham mais de 100 argumentos para o PostgreSQL](migrate-oracle-functions-and-procedures-that-have-more-than-100-arguments-to-postgresql.md)
+ [Migre o SAP HANA para a AWS usando o SAP HSR com o mesmo nome de host](migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.md)
+ [Migre o SQL Server para a AWS usando grupos de disponibilidade distribuídos](migrate-sql-server-to-aws-using-distributed-availability-groups.md)
+ [Modernize e implante aplicativos de mainframe usando o Terraform AWS Transform](modernize-mainframe-app-transform-terraform.md)
+ [Modernize as workloads de impressão on-line de mainframe na AWS usando o Micro Focus Enterprise Server e o LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Modernize o gerenciamento de saída do mainframe AWS usando o Rocket Enterprise Server e o LRS X PageCenter](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Modifique os cabeçalhos HTTP ao migrar de F5 para um Application Load Balancer na AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Gerenciamento do failover multi-AZ para clusters do EMR usando o Controlador de Recuperação de Aplicações](multi-az-failover-spark-emr-clusters-arc.md)
+ [Análise das dependências de objetos em migrações parciais de banco de dados da Oracle para o PostgreSQL](multilevel-object-analysis-for-database-migration-from-oracle-to-postgresql.md)
+ [Configure um CI/CD pipeline para migração de banco de dados usando o Terraform](set-up-ci-cd-pipeline-for-db-migration-with-terraform.md)
+ [Configure a recuperação de desastres para o Oracle JD Edwards com o EnterpriseOne AWS Elastic Disaster Recovery](set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.md)
+ [Simplificar o gerenciamento de certificados privados usando a CA privada da AWS e o AWS RAM](simplify-private-certificate-management-by-using-aws-private-ca-and-aws-ram.md)
+ [Transfira z/OS dados do Db2 em grande escala para o Amazon S3 em arquivos CSV](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Transforme o Easytrieve em linguagens modernas usando linguagens personalizadas AWS Transform](transform-easytrieve-modern-languages.md)