Migração de Oracle para PostgreSQL

A extensão PostgreSQL para Visual Studio Code fornece um fluxo de trabalho guiado para a conversão de esquemas e aplicações da Oracle. O assistente guia-o ao longo do processo de estabelecer a ligação ao Oracle, selecionar esquemas, rever a deteção, escolher uma base de dados PostgreSQL temporária e configurar o Microsoft Foundry. Após a conversão, reveja o relatório HTML e o Conversion Object Explorer e, em seguida, prepare a implementação com a Experiência de Configuração. Planeie separadamente a migração dos dados de linha.

Importante

O fluxo de trabalho de migração do Oracle para PostgreSQL está disponível apenas no Visual Studio Code.

Como a conversão de esquema e de aplicação se articulam

A extensão converte uma carga de trabalho da Oracle em duas fases. A conversão de esquema é efetuada primeiro e produz a linguagem de definição de dados (DDL) do PostgreSQL para os seus objetos da base de dados. A conversão da aplicação é efetuada posteriormente e atualiza o código que faz chamadas a esses objetos.

Conversão de esquemas

A conversão de esquemas lê o dicionário de dados da Oracle dos esquemas selecionados e utiliza a sua instância do Microsoft Foundry para gerar DDL de PostgreSQL. A ferramenta tenta efetuar a compilação na base de dados temporária e utiliza as verificações estáticas disponíveis para identificar problemas. Estas verificações não estabelecem comportamento equivalente em tempo de execução ou prontidão para produção. Uma execução produz:

  • Ficheiros PostgreSQL .sql a nível do objeto, organizados por esquema do Oracle e tipo de objeto.
  • Um relatório de conversão HTML com resultados de descoberta, extração e conversão, taxas de conversão e notas ao nível do objeto.
  • Mapeamentos de objetos e notas que pode inspecionar no Conversion Object Explorer, incluindo objetos que requerem alterações manuais.
  • Instruções de configuração e scripts para uma operação de implementação em separado.
  • Notas de codificação que descrevem os padrões da Oracle encontrados no esquema e como são mapeados para PostgreSQL.

Conversão de aplicações

A conversão de aplicação incide sobre o código específico da Oracle que envolve a base de dados: scripts SQL, chamadas de procedimentos armazenados, ficheiros de controlo de carregamento, scripts de shell e ficheiros Java. Utiliza como entrada as notas de programação da conversão de esquema, para que o código da aplicação convertido fique alinhado com os nomes, tipos e convenções de chamada dos objetos que a conversão de esquema efetivamente produziu.

Pode converter código de aplicação relacionado com base de dados dentro desta extensão, ou entregar o trabalho à GitHub aplicação Copilot modernization extension para uma modernização completa.

Sequencie as duas passagens

Executa primeiro a conversão do esquema. A conversão de aplicações utiliza as notas de codificação e os nomes convertidos dos objetos a partir da conversão de esquemas. Reveja o esquema e resolva as alterações obrigatórias antes de converter o código da aplicação. Se mais tarde editar uma definição do PostgreSQL, verifique novamente as aplicações que a utilizam. Não é suportado reexecutar uma conversão de esquema concluída.

Pré-requisitos

Antes de começar, certifique-se de que tem:

  • Visual Studio Code instalado.
  • A extensão PostgreSQL instalada.
  • Acesso a uma base de dados fonte Oracle com permissões para ler metadados de esquemas e vistas de dicionário. O acesso a dados por linha não é obrigatório.
  • Um servidor flexível do Base de Dados do Azure para PostgreSQL com uma base de dados temporária vazia ou dedicada e não utilizada, que não contenha nada que seja necessário preservar. O utilizador de ligação deve conseguir eliminar e recriar esquemas correspondentes e criar objetos de validação. A conversão de esquema não suporta o Azure HorizonDB como base de dados temporária.
  • Um recurso da Microsoft Foundry com um modelo implementado gpt-5.2 e uma quota superior a 1.000.000 de tokens por minuto (TPM). Precisas do URL do endpoint e de uma chave API ou de uma conta Microsoft Entra ID com acesso.

Para requisitos de sistema operativo, versão, permissões e conectividade, consulte os pré-requisitos do tutorial de conversão de esquemas.

Verificar se a funcionalidade de migrações está ativada

A pgsql.enableMigrations definição controla a vista de Migrações e todos os comandos de migração. Esta definição está ativada por predefinição.

Se a vista de Migrações não aparecer na barra lateral, abra as definições do Visual Studio Code (Ctrl+, no Windows/Linux, Cmd+, no macOS) e confirme que pgsql.enableMigrations está definida como true.

Criar um projeto de migração

O assistente de migração do projeto recolhe a sua fonte, o âmbito de descoberta, a ligação à base de dados temporária e a configuração da IA antes de criar o espaço de trabalho do projeto.

Passo 1: Configuração do Project

  1. Abre a vista de Migrações na barra lateral.

  2. Comece um novo projeto de uma destas formas:

    • Se o espaço de trabalho ainda não contiver um projeto de migração, selecione + Create Migration Project na vista.
    • Selecione o + botão na barra de ferramentas de visualização.
    • Clique com o botão direito numa pasta da área de trabalho no Explorador e selecione Abrir Projeto de Migração.

    A página do projeto de migração do New Oracle to Base de Dados do Azure para PostgreSQL abre-se, listando o que precisa:

    • Detalhes de ligação para a base de dados de origem
    • Nomes dos esquemas a converter
    • URL e chave do endpoint de um recurso do Microsoft Foundry
    • Nome de ligação para uma instância existente do Base de Dados do Azure para PostgreSQL
  3. Insira um nome no campo Project Name.

  4. Selecione Próximo: Conexão Oracle.

Captura de ecrã da página do novo projeto de migração com o campo Nome do Projeto.

Passo 2: Liga-te à Oracle

A página Ligar à Oracle recolhe as credenciais da base de dados de origem da Oracle e permite-lhe carregar esquemas.

  1. Preencha os campos de ligação Oracle:

    Campo Description
    Nome de Host Oracle Nome do host ou endereço IP do servidor de base de dados Oracle.
    Porta Oracle Porta do ouvinte (predefinida: 1521).
    Oracle SID ou Nome do Serviço Oracle SID ou nome de serviço para a instância da base de dados.
    Nome de utilizador Oracle Utilizador de base de dados com acesso a metadados de esquema e vistas de dicionário.
    Palavra-passe Oracle Palavra-passe para o utilizador da Oracle.
  2. Selecione Carregar Esquemas para ligar e recuperar a lista de esquemas disponíveis.

  3. Na lista suspensa Esquemas, selecione um ou mais esquemas para migrar.

  4. Selecione Próximo: Descoberta.

Passo 3: Rever a deteção

A descoberta verifica as permissões de origem e inventaria os esquemas selecionados antes da extração DDL.

  1. Revise as verificações de permissões e resolva qualquer acesso à origem em falta.
  2. Revise os objetos Descobertos, Por extrair, Excluídos e Objetos inválidos, juntamente com detalhes do tipo de objeto e razões de exclusão.
  3. Reveja as dependências do esquema. Os esquemas dependentes listam esquemas referenciados que não selecionaste; listar uma dependência não inclui esse esquema no âmbito de conversão.
  4. Confirma o âmbito da origem. Se alterar a seleção, atualize a Discovery antes de prosseguir.
  5. Confirme o âmbito revisto e selecione Seguinte: Ligação PostgreSQL.

Para o ecrã completo de Descoberta e orientações, consulte Rever os resultados da Descoberta no tutorial.

Passo 4: Escolha uma base de dados temporária do Base de Dados do Azure para PostgreSQL

A página Choose an Base de Dados do Azure para PostgreSQL scratch database seleciona a base de dados usada para validar a DDL convertida.

Warning

A conversão elimina esquemas que correspondem aos esquemas Oracle selecionados utilizando DROP SCHEMA ... CASCADE e depois recriando-os. Esta ação elimina objetos e dados existentes nesses esquemas e pode remover objetos dependentes noutros esquemas. Use uma base de dados scratch vazia ou uma base de dados scratch dedicada e não utilizada que não contenha objetos ou dados que precise de preservar.

  1. Na lista pendente Ligação PostgreSQL, selecione um perfil de ligação existente. Se a ligação que precisas não estiver listada, seleciona Atualizar Perfis para recarregar os perfis disponíveis, ou cria uma nova ligação na vista de Ligações e identidade primeiro.
  2. Na lista pendente Base de Dados PostgreSQL, selecione a base de dados de destino. Selecione Carregar Bases de Dados se a lista estiver vazia.
  3. Selecione Verificar Extensões para verificar as extensões recomendadas. Se faltar alguma, adicione as extensões que a sua conversão precisa à lista de permissões do servidor e instale-as. O aviso amarelo não bloqueia a continuação, mas objetos dependentes podem exigir alterações manuais.
  4. Selecione o reconhecimento de que os esquemas scratch correspondentes são eliminados e recriados durante a conversão.
  5. Selecionar Próximo: Configuração do Modelo Microsoft Foundry.

Passo 5: Configurar o modelo do Microsoft Foundry

A página Escolher um Modelo do Microsoft Foundry configura a implantação do Microsoft Foundry que suporta a conversão de esquemas e código.

  1. Complete os campos do modelo de linguagem:

    Campo Description
    Nome do modelo gpt-5.2.
    Microsoft Foundry Endpoint URL do endpoint do recurso do Microsoft Foundry (por exemplo, https://<resource>.openai.azure.com/).
    Método de Autenticação Escolha API Key ou Microsoft Entra Id.
    Chave de API do Microsoft Foundry Chave API para o recurso Microsoft Foundry (mostrada quando o Método de Autenticação é Chave API).
    Conta Azure Conta Microsoft com acesso ao recurso (apresentado quando método de autenticação é Microsoft Entra Id).
    Inquilino Tenant Microsoft Entra para a conta (mostrado quando o Método de Autenticação é Microsoft Entra Id).
    Nome da implantação Nome do modelo implementado no seu recurso Microsoft Foundry.
  2. Selecione Testar Ligação Microsoft Foundry para verificar a conectividade.

  3. Selecione Criar Projeto de Migração.

Aloque uma quota de implantação superior a 1.000.000 TPM. Consulte Configurar a capacidade do Microsoft Foundry.

Executar migração de esquemas

Depois de criares o projeto, faz a conversão e revê os resultados no projeto de migração.

Extrair e converter esquemas

  1. Selecione Migrar para iniciar a extração e conversão.
  2. Monitorizar o progresso da extração e conversão.
  3. Quando o projeto mostrar que a conversão de esquema está concluída, selecione Rever resumo da conversão.

O relatório HTML abre automaticamente quando a conversão termina. Reabra-o selecionando Relatório de Conversão no resumo de Conversão. Revise separadamente os totais de descoberta, extração e conversão; descrevem diferentes fases.

Rever os objetos convertidos

Use o Conversion Object Explorer para inspecionar tanto os objetos convertidos como os não convertidos:

  1. Abra um objeto para comparar as suas definições Oracle e PostgreSQL, quando disponíveis, e leia as suas notas de conversão.
  2. Selecione Perguntar para obter uma explicação ou Corrigir para edições assistidas pelo Copilot no seu ficheiro PostgreSQL.
  3. Se o esquema já estiver implementado numa base de dados não produtiva, compile as correções aí confirmando o servidor ativo e a base de dados, selecionando instruções completas e executando apenas essa seleção. Caso contrário, prepare primeiro a implementação descrita na secção seguinte.
  4. Confirme que o SQL de implementação inclui as correções que pretende implementar. Editar um ficheiro objeto não significa que o respetivo objeto da base de dados ou o script de implementação gerado tenham mudado.

Para filtros, membros de pacotes e passos detalhados, consulte Conversion Object Explorer.

Preparar o desdobramento

No resumo de conversão, selecione Instruções de configuração para abrir as instruções de implantação geradas e revelar o diretório de configuração. Revê o pacote, executa verificações apenas de validação e depois executa o script de implementação gerado numa base de dados de destino não produtiva separada. Gerar ficheiros de configuração não implementa o schema.

Revise os relatórios de implementação e valide de forma independente os dados e o comportamento da aplicação antes da utilização em produção. Para pré-requisitos, modos de base de dados e comandos, veja Implementar esquemas convertidos com o assistente de configuração.

Migrar código da aplicação

Após a migração do esquema, converta código de aplicação específico da Oracle (scripts SQL, procedimentos armazenados, ficheiros de controlo de carregadores, scripts shell ou ficheiros Java) para equivalentes compatíveis com PostgreSQL. A migração de aplicações é uma funcionalidade de pré-visualização.

Escolha um método de migração

A extensão oferece dois caminhos para migração de código de aplicação:

  • Modernização completa da aplicação: Se instalar a extensão de modernização da aplicação GitHub Copilot, selecione Migrar usando a modernização da aplicação para continuar a migração com notas de codificação da conversão de esquemas. Selecione Ver notas de codificação para rever as orientações geradas antes de prosseguir.
  • Opção apenas para base de dados: Para converter apenas código de aplicação relacionado com base de dados dentro desta extensão, selecione Migrar usando a extensão PostgreSQL.

Converter o código da aplicação dentro da extensão

  1. No cartão de Migração de Aplicações , selecione Migrar Dados (ou Selecionar Método se for detetada a extensão de modernização da aplicação).
  2. Na página Converter Aplicação , selecione Selecionar Aplicação Oracle para Converter e escolha a pasta que contém o código da aplicação Oracle.
  3. Selecione uma Ligação PostgreSQL e uma Base de Dados PostgreSQL para contexto de conversão.
  4. Selecione Carregar Bases de Dados se a lista da base de dados estiver vazia.
  5. Selecione Converter Aplicação para iniciar a conversão.

Use as ferramentas Copilot para migração de aplicações

A extensão regista duas ferramentas de modelos de linguagem Copilot para assistência à migração:

  • Oracle Client Code Application Converter (pgsql_migration_oracle_app): Converte o código da aplicação cliente Oracle para equivalentes PostgreSQL utilizando modelos de prompt e orientações de codificação da análise de migração de esquemas. Aceita os seguintes parâmetros:

    • Pasta da base de código da aplicação (obrigatório): Localização do código a converter.
    • Localização das Notas de Codificação (opcional): Caminho para as notas de codificação a partir da migração do esquema.
    • Nome da base de dados Postgres (opcional): Nome da base de dados PostgreSQL para contexto de conversão.
    • Postgres DB Connection (opcional): Nome da ligação para a base de dados PostgreSQL.
  • Mostrar Relatório de Migração Oracle para Postgres (pgsql_migration_show_report): Mostra o relatório de migração gerado pela conversão de esquema. Requer um parâmetro Path to Report File .

Para mais informações sobre o uso das ferramentas do Copilot, consulte integração com o Copilot.

Comparar ficheiros convertidos

Após a conversão, reveja as alterações lado a lado usando os comandos de diferença incorporados.

  1. No Explorer, clique com o botão direito num ficheiro SQL convertido na oracle pasta ou postgres no projeto de migração e selecione Comparar Pares de Ficheiros de Migração DDL.
  2. Para ficheiros de código de aplicação convertidos (.sql, .ctl, .sh, .load ou .java), clique com o botão direito do rato no ficheiro e selecione Comparar pares de ficheiros de migração da aplicação.

A vista de diferenças lado a lado mostra o código-fonte original do Oracle juntamente com o resultado convertido para PostgreSQL, para que possa identificar quaisquer artefactos que exijam ajuste manual.

O comando Compare DDL Migration File Pairs exige a estrutura folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql para localizar um par correspondente. Para a saída de conversão de esquema, use o Conversion Object Explorer para navegar pelos mapeamentos origem-destino.

Gerir projetos de migração

Utilize a vista Migrações na barra lateral para gerir os seus projetos:

Ação Description
Open Migration Project Abra um projeto de migração existente no painel de controlo.
Mostrar no Explorador Mostra a pasta do projeto na vista do Explorador.
Delete Remover um projeto de migração. É-lhe pedido que confirme antes da eliminação.
Atualizar Recarregue a lista de projetos de migração no espaço de trabalho atual.