Migre do Oracle 8i ou 9i para o Amazon RDS para PostgreSQL usando visões materializadas e o AWS DMS - Recomendações da AWS

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

Migre do Oracle 8i ou 9i para o Amazon RDS para PostgreSQL usando visões materializadas e o AWS DMS

Criado por Kumar Babu P G (AWS) e Pragnesh Patel (AWS)

Ambiente: PoC ou piloto

Origem: Oracle 8i ou 9i

Destino: Amazon RDS para PostgreSQL ou Aurora compatível com PostgreSQL

Tipo R: redefinir arquitetura

Workload: Oracle

Tecnologias: migração; bancos de dados

Serviços da AWS: Amazon RDS; Amazon Aurora

Resumo

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

Pré-requisitos

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

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

Ferramentas

  • O AWS DMS 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 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 digitalizar 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 warehouse para o Amazon Redshift usando atendentes de migração de dados integrados.  

Práticas recomendadas

Para obter as práticas recomendadas para atualizar visões materializadas, consulte a seguinte documentação da Oracle:

Épicos

TarefaDescriçãoHabilidades necessárias

Configure a rede para a instância do EC2.

Crie a nuvem privada virtual (VPC), sub-redes, gateway da Internet, tabelas de roteamento e grupos de segurança.

AWS SysAdmin

Criar a instância do EC2

Selecione a imagem de máquina da Amazon (AMI) para as instâncias EC2. 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 instância do EC2.

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 visões materializadas nos intervalos necessários na instância Oracle 10g/11g do Amazon EC2. Use a opção de atualização incremental para atualizar visões materializadas.

DBA
TarefaDescriçãoHabilidades 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
TarefaDescriçãoHabilidades 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, hora e 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
TarefaDescriçãoHabilidades necessárias

Crie uma instância de replicação no AWS DMS.

Preencha os campos para nome, classe de instância, VPC (o mesmo que para a instância EC2), 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.

Especificar o nome do endpoint, o tipo, o mecanismo de origem (Oracle), o nome do servidor (o nome DNS privado da instância EC2), a porta, o modo SSL, o nome de usuário, a senha, o SID, 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: maxFileSizee numberDataTypeEscala.

AWS SysAdmin, DBA

Connectar AWS DMS ao Amazon RDS para PostgreSQL.

Criar 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: maxFileSizee 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 CommitRateavanç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
TarefaDescriçãoHabilidades 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 ela 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

Abra as conexões para o 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 do EC2.

SysAdmin, DBA

Recursos relacionados