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 colunas geradas virtualmente do Oracle para o Postgre SQL
Criado por Veeranjaneyulu Grandhi (AWS), Rajesh Madiwale () e Ramesh Pathuri () AWS AWS
Ambiente: produção | Origem: banco de dados Oracle | Alvo: Compatível com Amazon RDS for Postgre SQL ou SQL Aurora Postgre |
Tipo R: redefinir arquitetura | Workload: Oracle | Tecnologias: migração; bancos de dados |
AWSserviços: Amazon Aurora; Amazon; RDS AWS DMS |
Resumo
Na versão 11 e anteriores, o Postgre SQL não fornece um recurso diretamente equivalente a uma coluna virtual Oracle. Lidar com colunas geradas virtualmente durante a migração do Oracle Database para o Postgre SQL versão 11 ou anterior é difícil por dois motivos:
As colunas virtuais não são visíveis durante a migração.
O Postgre SQL não suporta a
generate
expressão antes da versão 12.
No entanto, existem soluções alternativas para emular funcionalidades semelhantes. Ao usar o AWS Database Migration Service (AWSDMS) para migrar dados do Oracle Database para o Postgre SQL versão 11 e anterior, você pode usar funções de gatilho para preencher os valores nas colunas geradas virtualmente. Esse padrão fornece exemplos do banco de dados Oracle e SQL do código Postgre que você pode usar para essa finalidade. NãoAWS, você pode usar o Amazon Relational Database Service (Amazon) para SQL Postgre ou o RDS Amazon Aurora Postgre -Compatible Edition para seu banco de dados SQL Postgre. SQL
A partir da SQL versão 12 do Postgre, 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 SQL geradas pelo Postgre
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
Um banco de dados Oracle de origem
Bancos de SQL dados Postgre de destino (compatíveis com Amazon RDS para Postgre ou SQL Aurora Postgre) SQL
Limitações
Aplica-se somente às SQL versões do Postgre 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
ouLONG RAW
.Os índices definidos em relação a colunas virtuais são equivalentes aos índices baseados em funções no Postgre. SQL
As estatísticas da tabela devem ser coletadas.
Ferramentas
pgAdmin 4
é uma ferramenta de gerenciamento de código aberto para o 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
é um ambiente de desenvolvimento gratuito e integrado para trabalhar com bancos de dados Oracle SQL em implantações tradicionais e em nuvem.
Épicos
Tarefa | Descrição | 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.
Nessa tabela de origem, os dados na | DBA, Desenvolvedor de aplicativos |
Crie uma SQL tabela Postgre de destino em. AWS | Crie uma SQL tabela do Postgre AWS usando a seguinte declaração.
Nessa tabela, a coluna | DBA, Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um SQL gatilho do Postgre. | No PostgreSQL, crie um gatilho.
| DBA, Desenvolvedor de aplicativos |
Crie uma função de SQL gatilho do Postgre. | No PostgreSQL, crie uma função para o gatilho. Essa função preenche uma coluna virtual que é inserida ou atualizada pelo aplicativo ou AWS DMS valida os dados.
| DBA, Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma instância de replicação. | Para criar uma instância de replicação, siga as instruções na AWS DMS documentação. A instância de replicação deve estar na mesma nuvem privada virtual (VPC) dos bancos de dados de origem e destino. | DBA, Desenvolvedor de aplicativos |
Criar endpoints de origem e de destino. | Para criar os endpoints, siga as instruções na AWS DMS documentação. | DBA, Desenvolvedor de aplicativos |
Testar as conexões do endpoint. | Você pode testar as conexões do endpoint especificando a instância de replicação VPC 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 e Configurações de tarefa de carga completa na AWS DMS documentação. | 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
Introdução ao AWS Database Migration Service (AWSDMSdocumentação)
Usando um banco de dados Oracle como fonte para AWS DMS (AWSDMSdocumentação)
Usando um SQL banco de dados Postgre como alvo para AWS DMS (AWSDMSdocumentação)
Colunas geradas no Postgre SQL
(documentação do PostgreSQL) Funções de gatilho
(SQLdocumentação do Postgre) Colunas virtuais
no banco de dados Oracle (documentação do Oracle)