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á.
Converter o tipo de dados VARCHAR2(1) para Oracle em tipo de dados booleano para Amazon Aurora PostgreSQL
Criado por Naresh Damera (AWS)
Ambiente: PoC ou piloto | Origem: Oracle | Destino: Amazon Aurora PostgreSQL |
Tipo R: redefinir arquitetura | Workload: Oracle | Tecnologias: migração DevelopmentAndTesting; armazenamento e backup; bancos de dados |
Serviços da AWS: Amazon Aurora; Amazon AWS DMS; Amazon RDS; AWS SCT |
Resumo
Durante uma migração do Amazon Relational Database Service (Amazon RDS) para Oracle para o Amazon Aurora Edição Compatível com PostgreSQL, você pode encontrar uma incompatibilidade de dados ao validar a migração no Amazon Web Services (AWS) Database Migration Service (AWS DMS). Para evitar essa incompatibilidade, você pode converter o tipo de dados VARCHAR2(1) em tipo de dados booleano.
O tipo de dados VARCHAR2 armazena strings de texto de tamanho variável e VARCHAR2(1) indica que a string tem 1 caractere de comprimento ou 1 byte. Para obter mais informações sobre VARCHAR2, consulte Tipos de dados integrados da Oracle
Neste padrão, na coluna da tabela de dados de origem de amostra, os dados VARCHAR2(1) são Y para Sim ou N para Não. Este padrão inclui instruções para usar o AWS DMS e o AWS Schema Conversion Tool (AWS SCT) para converter esse tipo de dados dos valores Y e N em VARCHAR2(1) em valores verdadeiros ou falsos em booleano.
Público-alvo
Este padrão é recomendado para quem tem experiência na migração de bancos de dados Oracle para o Aurora PostgreSQL-Compatible usando o AWS DMS. Ao concluir a migração, siga as recomendações em Conversão do Oracle em Amazon RDS para PostgreSQL ou Amazon Aurora PostgreSQL (documentação do AWS SCT).
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
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 (documentação do Aurora).
Um banco de dados Amazon RDS para Oracle de origem que contém uma coluna de tabela com dados VARCHAR2(1).
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 (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 superior. Para obter mais informações, consulte Usar um banco de dados Oracle como origem para AWS DMS e Usar um banco de dados PostgreSQL como destino para AWS DMS (documentação do 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.
AWS Schema Conversion Tool (AWS SCT) versão 1.0.632 ou superior. Recomendamos que você use a versão mais recente do AWS SCT para obter o suporte mais abrangente de versões e atributos.
O Aurora é compatível com as versões do PostgreSQL listadas em Versões do mecanismo do banco de dados para Aurora PostgreSQL-Compatible (documentação do Aurora).
Arquitetura
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
Ferramentas
Serviços da AWS
O Amazon Aurora Edição Compatível com PostgreSQL é um mecanismo de banco de dados relacional totalmente gerenciado e em conformidade com ACID que ajuda você a configurar, operar e escalar implantações do PostgreSQL.
O AWS Database Migration Service (AWS DMS) 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 ajuda você a configurar, operar e escalar um banco de dados relacional Oracle na Nuvem AWS.
A AWS Schema Conversion Tool (AWS SCT) facilita as migrações heterogêneas de banco de dados convertendo automaticamente o esquema do banco de dados de origem e a maioria do código personalizado ipara um formato compatível com o banco de dados de destino.
Outros serviços
O 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
é 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
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um relatório de migração do banco de dados. |
| 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 Carregamento total, o AWS DMS carrega uma tabela por vez. Recomendamos que você desative as restrições de chave externa durante um carregamento total, usando um dos seguintes métodos:
Se não for possível desativar as restrições de chaves estrangeiras, crie uma tarefa de migração do AWS DMS para os dados primários que seja específica para a tabela principal e a 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.
| DBA, Desenvolvedor |
Crie a tarefa de carregamento inicial. | Crie uma tarefa de migração para a carga inicial no AWS DMS. Para obter instruções, consulte Criação de uma tarefa. Para método de migração, escolha Migrar dados existentes. Esse método de migração é chamado | 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. Adicione as seguintes validações:
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. | Administrador da AWS, DBA |
Criar uma tarefa de replicação contínua. | No 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. Em método de migração, escolha Replicar somente alterações de dados. Não inicie essa tarefa ainda. | DBA |
Tarefa | Descrição | 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 | Administrador da AWS |
Inicie a tarefa de migração do AWS DMS. | No console do AWS DMS, na página Painel, comece o carregamento inicial e as tarefas de replicação contínua que você criou no tópico anterior. | Administrador da AWS |
Monitore as tarefas e os estados de carregamento da tabela. | Durante a migração, monitore o status da tarefa e os estados da tabela. Quando a tarefa de carregamento inicial estiver concluída, na guia Estatísticas da tabela:
| 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 | 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 |
Tarefa | Descrição | 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 Validação de dados do AWS DMS. | 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. Quando você interrompe o banco de dados de origem, a carga inicial e as tarefas de replicação contínua no AWS DMS são automaticamente interrompidas. Nenhuma ação adicional é necessária para interromper essas tarefas. | Desenvolvedor |
Recursos relacionados
Referências da AWS
Migrar um banco de dados Oracle para o Aurora PostgreSQL usando AWS DMS e AWS SCT (Recomendações da AWS)
Convertendo Oracle em Amazon RDS para PostgreSQL ou Amazon Aurora PostgreSQL (documentação AWS SCT)
Como o AWS DMS funciona (documentação do AWS DMS)
Outras referências
Tipo de dados booleano
(documentação do PostgreSQL) Tipos de dados integrados da Oracle
(documentação da Oracle) pgAdmin
(site do pgAdmin) SQL Developer
(site da Oracle)
Tutoriais e vídeos
Mais informações
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 tarefa do AWS DMS a ser concluída e aprovada com sucesso na 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, o AWS DMS insere um registro na tabela public.awsdms_validation_failures_v1 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 à tarefa do AWS DMS e os dados forem inseridos na tabela de destino, a tarefa do AWS DMS mostrará o estado de validação como Registros incompatíveis.
Durante a conversão do AWS SCT, a tarefa de migração do AWS DMS altera o tipo de dados de VARCHAR2(1) para booleano e adiciona uma restrição de chave primária na coluna "NO"
.