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)
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 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
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
Familiaridade com o uso de um banco de dados PostgreSQL como destino para o AWS DMS
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

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 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
Para obter as práticas recomendadas para atualizar visões materializadas, consulte a seguinte documentação da Oracle:
Épicos
Tarefa | Descrição | 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 | 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 |
Tarefa | Descrição | 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 |
Tarefa | Descrição | 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 |
Tarefa | Descrição | 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: maxFileSizee 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: 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 | DBA |
Execute os scripts de meio da migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute os seguintes scripts: | DBA |
Reinicie a tarefa para continuar a captura de dados de alteração (CDC). | Execute | DBA |
Tarefa | Descrição | 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 | DBA |
Execute os scripts de pós-migração do AWS SCT. | No Amazon RDS para PostgreSQL, execute esses scripts: | DBA |
Conclua etapas adicionais do Amazon RDS para PostgreSQL. | Incremente as sequências para corresponder ao Oracle, se necessário; execute | 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 |