Migração do Oracle para PostgreSQL

A extensão PostgreSQL para Visual Studio Code fornece um fluxo de trabalho guiado para conversão de esquema e aplicativo do Oracle. O assistente orienta você na conexão com o Oracle, selecionando esquemas, revisando a descoberta, escolhendo um banco de dados temporário do PostgreSQL e configurando Microsoft Foundry. Após a conversão, examine o relatório HTML e o Pesquisador de Objetos de Conversão e prepare a implantação com a Experiência de Instalação. Planeje a migração de row data separadamente.

Importante

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

Como o esquema e a conversão de aplicativo se encaixam

A extensão converte uma carga de trabalho oracle em duas passagens. A conversão de esquema é executada primeiro e produz a DDL (linguagem de definição de dados) do PostgreSQL para seus objetos de banco de dados. A conversão de aplicativo é executada posteriormente e atualiza o código que chama esses objetos.

Conversão de esquema

A conversão de esquema lê o dicionário de dados Oracle para os esquemas selecionados e usa sua implantação do Microsoft Foundry para gerar o DDL do PostgreSQL. A ferramenta tenta compilar no banco de dados temporário e usa verificações estáticas disponíveis para identificar problemas. Essas verificações não estabelecem o comportamento de runtime equivalente ou a preparação de produção. Uma execução produz:

  • Arquivos PostgreSQL .sql no nível do objeto, organizados por esquema 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 no nível do objeto.
  • Mapeamentos de objetos e anotações que você pode inspecionar em Conversion Pesquisador de Objetos, incluindo objetos que precisam de alterações manuais.
  • Instruções de instalação e scripts para uma operação de implantação separada.
  • Notas de codificação que descrevem os padrões Oracle encontrados no esquema e como eles são mapeados para PostgreSQL.

Conversão de aplicativo

A conversão de aplicativo tem como destino o código específico do Oracle que envolve o banco de dados: scripts SQL, chamadas de procedimento armazenado, arquivos de controle do carregador, scripts de shell e arquivos Java. Ele usa as notas de codificação da conversão de esquema como entrada, de modo que o código do aplicativo convertido se alinha com os nomes de objeto, tipos e convenções de chamada que a conversão de esquema realmente produziu.

Você pode converter o código do aplicativo relacionado ao banco de dados dentro dessa extensão ou entregar o trabalho à extensão de modernização do GitHub aplicativo Copilot para uma passagem de modernização completa.

Sequenciar as duas passagens

Execute a conversão de esquema primeiro. A conversão de aplicativo usa as notas de codificação e os nomes de objeto convertidos da conversão de esquema. Examine o esquema e resolva as alterações necessárias antes de converter o código do aplicativo. Se você editar posteriormente uma definição do PostgreSQL, verifique novamente os aplicativos que a utilizam. Não há suporte para executar novamente uma conversão de esquema concluída.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Visual Studio Code instalado.
  • A extensão PostgreSQL instalada.
  • Acesso a um banco de dados de origem Oracle com permissões para ler metadados de esquema e views do dicionário de dados. O acesso a dados de linha não é necessário.
  • Um servidor flexível do Banco de Dados do Azure para PostgreSQL com um banco de dados temporário vazio ou dedicado, não utilizado, que não contém nada que você precise preservar. O usuário de conexão deve ser capaz de remover e recriar esquemas correspondentes e criar objetos de validação. A conversão de esquema não dá suporte a Azure HorizonDB como o banco de dados zero.
  • Um recurso Microsoft Foundry com um modelo implantado gpt-5.2 e uma cota maior que 1.000.000 tokens por minuto (TPM). Você precisa da URL do endpoint e de uma chave de API ou de uma conta do Microsoft Entra ID com acesso.

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

Verificar se o recurso de migrações está habilitado

A pgsql.enableMigrations configuração controla a exibição Migrações e todos os comandos de migração. Essa configuração é habilitada por padrão.

Se a exibição Migrações não aparecer na barra lateral, abra as configurações do Visual Studio Code (Ctrl+, em Windows/Linux, Cmd+, no macOS) e verifique se ela pgsql.enableMigrations está definida como true.

Criar um projeto de migração

O assistente de projeto de migração coleta sua fonte, escopo de descoberta, conexão de banco de dados temporário e configuração de IA antes de criar o workspace do projeto.

Etapa 1: Configuração do projeto

  1. Abra o modo de exibição Migrações na barra lateral.

  2. Inicie um novo projeto de uma destas maneiras:

    • Se o workspace ainda não contiver um projeto de migração, selecione + Criar Projeto de Migração na exibição.
    • Selecione o botão + na barra de ferramentas de exibição.
    • Clique com o botão direito do mouse em uma pasta de workspace no Explorer e selecione Abrir Projeto de Migração.

    A página Novo projeto de migração do Oracle para o Banco de Dados do Azure para PostgreSQL é exibida, listando o que você precisa:

    • Detalhes da conexão para o banco de dados de origem
    • Nomes dos esquemas a serem convertidos
    • Chave e URL do ponto de extremidade para um recurso do Microsoft Foundry
    • Nome da conexão para uma instância de Banco de Dados do Azure para PostgreSQL existente
  3. Insira um nome no campo Nome do Project.

  4. Selecione Avançar: Conexão Oracle.

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

Etapa 2: Conectar-se ao Oracle

A página Conectar ao Oracle coleta suas credenciais de banco de dados de origem Oracle e permite carregar esquemas.

  1. Preencha os campos de conexão do Oracle:

    Campo Descrição
    Nome do host do Oracle Nome do host ou endereço IP do servidor de banco de dados Oracle.
    Porta Oracle Porta do ouvinte (padrão: 1521).
    Oracle SID ou Nome do Serviço Oracle SID ou nome de serviço para a instância do banco de dados.
    Nome de usuário do Oracle Usuário de banco de dados com acesso a metadados de esquema e views do dicionário.
    Senha do Oracle Senha para o usuário do Oracle.
  2. Selecione Esquemas de Carga para se conectar e recuperar a lista de esquemas disponíveis.

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

  4. Selecione Avançar: Discovery.

Etapa 3: Examinar descoberta

Discovery verifica as permissões de origem e faz o inventário dos esquemas selecionados antes da extração de DDL.

  1. Revise as verificações de permissões e resolva qualquer falta de acesso à origem.
  2. Examine Descobertos, A serem extraídos, Excluídos e Objetos inválidos, juntamente com os detalhes dos tipos de objeto e os motivos de exclusão.
  3. Examine as dependências do schema. Esquemas dependentes listam esquemas referenciados que você não selecionou; listar uma dependência não inclui esse esquema no escopo de conversão.
  4. Confirme o escopo da fonte. Se você alterar a seleção, atualize a Descoberta antes de continuar.
  5. Reconheça o escopo revisado e selecione Avançar: Conexão PostgreSQL.

Para ver a tela completa da Descoberta e as orientações, consulte Revisar os resultados da Descoberta no tutorial.

Etapa 4: Escolher um banco de dados Banco de Dados do Azure para PostgreSQL zero

A página Escolher um banco de dados temporário do Banco de Dados do Azure para PostgreSQL seleciona o banco de dados usado para validar a DDL convertida.

Aviso

A conversão descarta esquemas que correspondem aos esquemas Oracle selecionados usando DROP SCHEMA ... CASCADE e depois os recria. Essa ação exclui objetos e dados existentes nesses esquemas e pode remover objetos dependentes em outros esquemas. Use um banco de dados zero vazio ou um banco de dados zero dedicado e não utilizado que não contenha nenhum objeto ou dados que você precisa preservar.

  1. Na lista suspensa Conexão do PostgreSQL, selecione um perfil de conexão existente. Se a conexão necessária não estiver listada, selecione Atualizar Perfis para recarregar perfis disponíveis ou crie uma nova conexão na exibição Conexões e identidade primeiro.
  2. Na lista suspensa PostgreSQL Database, selecione o banco de dados de destino. Selecione Carregar Bancos de Dados se a lista estiver vazia.
  3. Selecione Verificar Extensões para verificar as extensões recomendadas. Se algum estiver ausente, adicione as extensões necessárias para a 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 a confirmação de que os esquemas de arranhões correspondentes são descartados e recriados durante a conversão.
  5. Selecione Avançar: Configuração do modelo do Microsoft Foundry.

Etapa 5: Configurar o modelo Microsoft Foundry

A página Escolher um modelo de Microsoft foundry configura a implantação do Microsoft Foundry que alimenta o esquema e a conversão de código.

  1. Conclua os campos do modelo de idioma:

    Campo Descrição
    Nome do modelo gpt-5.2.
    Ponto de extremidade do Microsoft Foundry URL do ponto de extremidade do recurso do Microsoft Foundry (por exemplo, https://<resource>.openai.azure.com/).
    Método de Autenticação Escolha Chave de API ou Microsoft Entra ID.
    Chave da API do Microsoft Foundry Chave de API para o recurso Microsoft Foundry (mostrado quando o Método de Autenticação é Chave de API).
    Conta do Azure Conta Microsoft com acesso ao recurso (exibida quando o Método de Autenticação é Microsoft Entra ID).
    Tenant Locatário do Microsoft Entra para a conta (mostrado quando o Método de Autenticação é Microsoft Entra ID).
    Nome da implantação Nome do modelo implantado em seu recurso Microsoft Foundry.
  2. Selecione Testar conexão do Microsoft Foundry para verificar a conectividade.

  3. Selecione Create Migration Project.

Aloque uma cota de implantação maior que 1.000.000 TPM. Consulte Configurar a capacidade do Microsoft Foundry.

Executar a migração de esquema

Depois de criar o projeto, execute a conversão e examine os resultados no projeto de migração.

Extrair e converter esquemas

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

O relatório HTML é aberto automaticamente quando a conversão é concluída. Reabra-o selecionando o relatório de conversão no resumo da conversão. Examine os totais de descoberta, extração e conversão separadamente; eles descrevem diferentes estágios.

Examinar objetos convertidos

Use Conversion Pesquisador de Objetos para inspecionar objetos convertidos e não convertidos:

  1. Abra um objeto para comparar suas definições Oracle e PostgreSQL, quando disponíveis, e leia suas notas de conversão.
  2. Selecione Solicitar uma explicação ou corrigir edições assistidas por Copilot em seu arquivo PostgreSQL.
  3. Se o esquema já estiver implantado em um banco de dados de não produção, compile correções lá confirmando o servidor ativo e o banco de dados, selecionando instruções completas e executando apenas essa seleção. Caso contrário, primeiro prepare a implantação descrita na próxima seção.
  4. Confirme se o SQL de implantação inclui as correções que você pretende implantar. A edição de um arquivo de objeto não estabelece que seu objeto de banco de dados ou script de implantação gerado foi alterado.

Para filtros, membros do pacote e etapas detalhadas, consulte Conversion Pesquisador de Objetos.

Preparar a implantação

No resumo da conversão, selecione Instruções de instalação para abrir as instruções de implantação geradas e revelar o diretório de instalação. Examine o pacote, execute verificações somente validação e execute o script de implantação gerado no banco de dados de destino de não produção separado. A geração de arquivos de instalação não implanta o schema.

Examine os relatórios de implantação e valide de forma independente os dados e o comportamento do aplicativo antes do uso em produção. Para pré-requisitos, modos de banco de dados e comandos, consulte Implantar esquemas convertidos com o Setup Experience.

Migrar código do aplicativo

Após a migração do esquema, converta o código do aplicativo específico do Oracle (scripts SQL, procedimentos armazenados, arquivos de controle do carregador, scripts de shell ou arquivos Java) em equivalentes compatíveis com PostgreSQL. A migração de aplicativo é um recurso em versão prévia.

Escolher um método de migração

A extensão oferece dois caminhos para a migração de código do aplicativo:

  • Modernização completa do aplicativo: se você instalar a extensão de modernização do GitHub aplicativo Copilot, selecione Migrar usando a modernização do aplicativo para continuar a migração com notas de codificação da conversão de esquema. Selecione Exibir notas de codificação para examinar as diretrizes geradas antes de prosseguir.
  • Opção somente de banco de dados: para converter apenas o código do aplicativo relacionado ao banco de dados nessa extensão, selecione Migrar usando a extensão PostgreSQL.

Converter código do aplicativo dentro da extensão

  1. No cartão Migração de Aplicativos, selecione Migrar dados (ou Selecionar método se for detectada a extensão de modernização de aplicativos).
  2. Na página Converter Aplicativo , selecione Selecionar Aplicativo Oracle para Converter e escolha a pasta que contém o código do aplicativo Oracle.
  3. Selecione uma Conexão PostgreSQL e o Banco de Dados PostgreSQL para o contexto de conversão.
  4. Selecione Carregar Bancos de Dados se a lista de bancos de dados estiver vazia.
  5. Selecione Converter Aplicativo para iniciar a conversão.

Usar ferramentas de Copilot para migração de aplicativos

A extensão registra duas ferramentas de modelo de linguagem Copilot para assistência de migração:

  • Conversor de código de aplicação cliente Oracle (pgsql_migration_oracle_app): converte o código da aplicação cliente Oracle em equivalentes do PostgreSQL usando modelos de prompt e diretrizes de codificação da análise de migração de esquema. Aceita os seguintes parâmetros:

    • Pasta da base de código do aplicativo (obrigatório): local do código a ser convertido.
    • Caminho de localização de notas de codificação (opcional): caminho para codificar anotações da migração de esquema.
    • Nome do BD postgres (opcional): nome do banco de dados PostgreSQL para contexto de conversão.
    • Conexão postgres DB (opcional): nome da conexão para o banco de dados PostgreSQL.
  • Mostrar o Relatório de Migração do Oracle para Postgres (pgsql_migration_show_report): exibe o relatório de migração gerado pela conversão de esquema. Requer um parâmetro Caminho para o Arquivo de Relatório .

Para obter mais informações sobre como usar Copilot ferramentas, consulte Copilot integração.

Comparar arquivos convertidos

Após a conversão, examine as alterações lado a lado usando os comandos de diferenciação internos.

  1. No Explorer, clique com o botão direito do mouse em um arquivo SQL convertido na pasta oracle ou postgres no projeto de migração e selecione Comparar pares de arquivos de migração DDL.
  2. Para arquivos de código de aplicativo convertidos (.sql, .ctl, .sh, .loadou .java), clique com o botão direito do mouse no arquivo e selecione Comparar Pares de Arquivos de Migração de Aplicativo.

A visualização de comparação lado a lado mostra o código-fonte original do Oracle ao lado da saída convertida para PostgreSQL, para que você possa identificar eventuais artefatos que exijam ajuste manual.

O comando Comparar Pares de Arquivos de Migração DDL requer 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 Pesquisador de Objetos para navegar pelos mapeamentos de origem para destino.

Gerenciar projetos de migração

Use a visualização Migrações na barra lateral para gerenciar seus projetos:

Ação Descrição
Projeto de Migração Aberto Abra um projeto de migração existente no painel.
Mostrar no Explorador de Arquivos Mostrar a pasta do projeto no modo de exibição do Explorer.
Delete Remova um projeto de migração. Você será solicitado a confirmar antes da exclusão.
Atualizar Recarregue a lista de projetos de migração no workspace atual.