Migrazione da Oracle a PostgreSQL

L'estensione PostgreSQL per Visual Studio Code fornisce un flusso di lavoro guidato per la conversione dello schema e dell'applicazione Oracle. La procedura guidata illustra la connessione a Oracle, la selezione di schemi, l'individuazione, la scelta di un database creato da zero PostgreSQL e la configurazione di Microsoft Foundry. Dopo la conversione, esaminare il report HTML e il Conversion Esplora oggetti, quindi preparare la distribuzione con il Setup Experience. Pianificare separatamente la migrazione dei dati delle righe.

Importante

Il flusso di lavoro di migrazione da Oracle a PostgreSQL è disponibile solo in Visual Studio Code.

Come si integrano la conversione dello schema e dell'applicazione

L'estensione converte un carico di lavoro Oracle in due passaggi. La conversione dello schema viene eseguita per prima e produce il linguaggio DDL (Data Definition Language) PostgreSQL per gli oggetti del database. La conversione dell'applicazione viene eseguita in seguito e aggiorna il codice che chiama tali oggetti.

Conversione dello schema

La conversione dello schema legge il dizionario dati Oracle per gli schemi selezionati e usa la distribuzione di Microsoft Foundry per generare postgreSQL DDL. Lo strumento tenta la compilazione nel database scratch e usa i controlli statici disponibili per identificare i problemi. Questi controlli non stabiliscono un comportamento di runtime equivalente o l'idoneità per la produzione. Un'esecuzione produce:

  • File PostgreSQL .sql a livello di oggetto, organizzati in base allo schema Oracle e al tipo di oggetto.
  • Report di conversione HTML con risultati di individuazione, estrazione e conversione, tassi di conversione e note a livello di oggetto.
  • Mapping di oggetti e note che è possibile esaminare in Conversion Esplora oggetti, inclusi gli oggetti che richiedono modifiche manuali.
  • Istruzioni di installazione e script per un'operazione di distribuzione separata.
  • Note sulla codifica che descrivono i modelli Oracle trovati nello schema e come vengono mappati in PostgreSQL.

Conversione dell'applicazione

La conversione dell'applicazione ha come destinazione il codice specifico di Oracle che racchiude il database: script SQL, chiamate di stored procedure, file di controllo del caricatore, script della shell e file Java. Accetta le note di codifica dalla conversione dello schema come input, quindi il codice dell'applicazione convertito si allinea con i nomi, i tipi e le convenzioni di chiamata che la conversione dello schema ha effettivamente prodotto.

È possibile convertire il codice dell'applicazione correlato al database all'interno di questa estensione oppure affidare il lavoro all'estensione GitHub Copilot per la modernizzazione delle app per un passaggio completo di modernizzazione.

Metti in sequenza le due passate

Eseguire prima la conversione dello schema. La conversione dell'applicazione usa le note di codifica e i nomi degli oggetti convertiti dalla conversione dello schema. Esaminare lo schema e risolvere le modifiche necessarie prima di convertire il codice dell'applicazione. Se in seguito si modifica una definizione PostgreSQL, controllare di nuovo i chiamanti dell'applicazione. La ripetizione di una conversione dello schema completata non è supportata.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • Visual Studio Code installato.
  • Estensione PostgreSQL installata.
  • Accesso a un database di origine Oracle con le autorizzazioni per leggere i metadati dello schema e le viste del dizionario. L'accesso ai dati di riga non è richiesto.
  • Un server flessibile Database di Azure per PostgreSQL con un database creato da zero vuoto o dedicato che non contiene dati da conservare. L'utente della connessione deve essere in grado di eliminare e ricreare schemi corrispondenti e creare oggetti di convalida. La conversione dello schema non supporta Azure HorizonDB come database scratch.
  • Una risorsa Microsoft Foundry con un modello gpt-5.2 distribuito e una quota superiore a 1.000.000 token al minuto (TPM). Sono necessari l'URL dell'endpoint e una chiave API o un account Microsoft Entra ID con accesso.

Per informazioni sui requisiti relativi a sistema operativo, versione, autorizzazioni e connettività, vedere i prerequisiti del tutorial sulla conversione dello schema.

Verificare che la funzionalità delle migrazioni sia abilitata

L'impostazione pgsql.enableMigrations regola la visualizzazione Migrazioni e tutti i comandi di migrazione. Questa opzione è attivata per impostazione predefinita.

Se la visualizzazione Migrazioni non viene visualizzata nella barra laterale, aprire le impostazioni di Visual Studio Code (CTRL+, in Windows/Linux, Cmd+, in macOS) e verificare che pgsql.enableMigrations sia impostato su true.

Creare un progetto di migrazione

La procedura guidata del progetto di migrazione raccoglie l'origine dati, l'ambito di individuazione, la connessione al database creato da zero e la configurazione dell'IA prima di creare l'area di lavoro del progetto.

Passaggio 1: Configurazione del progetto

  1. Apri la vista Migrazioni nella barra laterale.

  2. Avvia un nuovo progetto in uno dei modi seguenti:

    • Se l'area di lavoro non contiene ancora un progetto di migrazione, selezionare + Crea progetto di migrazione nella visualizzazione.
    • Selezionare il pulsante + nella barra degli strumenti della vista.
    • Fare clic con il pulsante destro del mouse su una cartella dell'area di lavoro in Explorer e scegliere Apri progetto di migrazione.

    Si apre la pagina Nuovo progetto di migrazione da Oracle ad Database di Azure per PostgreSQL, che elenca ciò che è necessario:

    • Dettagli di connessione per il database di origine
    • Nomi degli schemi da convertire
    • URL dell'endpoint e chiave per una risorsa Microsoft Foundry
    • Nome della connessione per un'istanza esistente di Database di Azure per PostgreSQL
  3. Immettere un nome nel campo nome Project.

  4. Selezionare Avanti: Connessione Oracle.

Schermata della nuova pagina del progetto di migrazione con il campo Nome progetto.

Passaggio 2: Connettersi a Oracle

La pagina Connetti a Oracle raccoglie le credenziali del database di origine Oracle e consente di caricare gli schemi.

  1. Completare i campi di connessione Oracle:

    Campo Descrizione
    Oracle Hostname Nome host o indirizzo IP del server di database Oracle.
    Porta Oracle Porta del listener (impostazione predefinita: 1521).
    SiD Oracle o nome del servizio SID Oracle o nome del servizio per l'istanza del database.
    Nome utente Oracle Utente del database con accesso ai metadati dello schema e alle viste dizionario.
    Oracle Password Password per l'utente Oracle.
  2. Selezionare Carica schemi per connettersi e recuperare l'elenco degli schemi disponibili.

  3. Nell'elenco a discesa Schemi selezionare uno o più schemi di cui eseguire la migrazione.

  4. Selezionare Avanti: Rilevamento.

Passaggio 3: Esaminare l'individuazione

Discovery verifica le autorizzazioni di accesso all'origine ed esegue l'inventario degli schemi selezionati prima dell'estrazione del DDL.

  1. Esaminare i controlli delle autorizzazioni e risolvere eventuali accessi mancanti all'origine.
  2. Esaminare Oggetti individuati, Da estrarre, Esclusi e Oggetti non validi, insieme ai dettagli del tipo di oggetto e ai motivi di esclusione.
  3. Esaminare le dipendenze dello schema. Gli schemi dipendenti elencano gli schemi non selezionati a cui viene fatto riferimento; l'elenco di una dipendenza non include lo schema nell'ambito di conversione.
  4. Confermare l'ambito dell'origine. Se si modifica la selezione, aggiornare Discovery prima di procedere.
  5. Confermare l'ambito esaminato e selezionare Avanti: Connessione PostgreSQL.

Per la schermata Individuazione completa e le indicazioni, vedere Esaminare i risultati di Individuazione nell'esercitazione.

Passaggio 4: Scegliere un database Database di Azure per PostgreSQL scratch

La pagina Scegliere un database Database di Azure per PostgreSQL scratch seleziona il database usato per convalidare il DDL convertito.

Avviso

La conversione elimina gli schemi che corrispondono agli schemi Oracle selezionati usando DROP SCHEMA ... CASCADE e quindi li ricrea. Questa azione elimina oggetti e dati esistenti in tali schemi e può rimuovere oggetti dipendenti in altri schemi. Usare un database scratch vuoto o un database scratch dedicato inutilizzato che non contiene oggetti o dati da conservare.

  1. Nell'elenco a discesa Connessione PostgreSQL selezionare un profilo di connessione esistente. Se la connessione necessaria non è elencata, selezionare Aggiorna profili per ricaricare i profili disponibili o creare prima una nuova connessione nella visualizzazione Connessioni e identità .
  2. Nell'elenco a discesa Database PostgreSQL selezionare il database di destinazione. Selezionare Carica database se l'elenco è vuoto.
  3. Selezionare Verifica estensioni per controllare le estensioni consigliate. Se mancano, aggiungere le estensioni necessarie per la conversione all'elenco di elementi consentiti del server, quindi installarle. L'avviso giallo non blocca la continuazione, ma gli oggetti dipendenti potrebbero richiedere modifiche manuali.
  4. Selezionare la conferma che gli schemi creati da zero corrispondenti vengono eliminati e ricreati durante la conversione.
  5. Selezionare Avanti: Configurazione del modello di Microsoft Foundry.

Passaggio 5: Configurare il modello Microsoft Foundry

La pagina Choose a Microsoft Foundry Model consente di configurare la distribuzione Microsoft Foundry che supporta la conversione dello schema e del codice.

  1. Completare i campi del modello linguistico:

    Campo Descrizione
    Nome modello gpt-5.2.
    Endpoint di Microsoft Foundry URL dell'endpoint della risorsa Microsoft Foundry (ad esempio, https://<resource>.openai.azure.com/).
    Metodo di autenticazione Scegliere Chiave API o ID Microsoft Entra.
    Chiave API di Microsoft Foundry Chiave API per la risorsa Microsoft Foundry (visualizzata quando il metodo di autenticazione è chiave API).
    Account Azure account Microsoft con accesso alla risorsa (mostrata quando il metodo di autenticazione è Microsoft Entra ID).
    Tenant Microsoft Entra tenant per l'account (visualizzato quando il metodo di autenticazione è Microsoft Entra ID).
    Nome distribuzione Nome del modello distribuito nella risorsa Microsoft Foundry.
  2. Selezionare Test connessione Microsoft Foundry per verificare la connettività.

  3. Selezionare Crea progetto di migrazione.

Allocare una quota di deployment maggiore di 1.000.000 TPM. Vedere Configurare la capacità Microsoft Foundry.

Eseguire la migrazione dello schema

Dopo aver creato il progetto, eseguire la conversione ed esaminare i risultati nel progetto di migrazione.

Estrarre e convertire gli schemi

  1. Selezionare Migrazione per avviare l'estrazione e la conversione.
  2. Monitorare l'avanzamento dell'estrazione e della conversione.
  3. Quando il progetto mostra La conversione dello schema è completata, selezionare Rivedi il riepilogo della conversione.

Il report HTML viene aperto automaticamente al termine della conversione. Riaprilo selezionando Report di conversione nel Riepilogo della conversione. Esaminare separatamente i totali di individuazione, estrazione e conversione; descrivono fasi diverse.

Esaminare gli oggetti convertiti

Usare Esplora oggetti di conversione per controllare gli oggetti convertiti e non convertiti:

  1. Aprire un oggetto per confrontare le relative definizioni Oracle e PostgreSQL, se disponibili, e leggere le relative note di conversione.
  2. Selezionare Domanda per una spiegazione o Correzione per le modifiche assistite da Copilot al relativo file PostgreSQL.
  3. Se lo schema è già stato distribuito in un database non di produzione, compilare le correzioni confermando il server e il database attivi, selezionando istruzioni complete ed eseguendo solo tale selezione. In caso contrario, preparare prima la distribuzione descritta nella sezione successiva.
  4. Verificare che l'SQL di distribuzione includa le correzioni che si intende distribuire. La modifica di un file oggetto non stabilisce che il relativo oggetto di database o lo script di distribuzione generato sia stato modificato.

Per i filtri, i membri del pacchetto e i passaggi dettagliati, vedere Conversion Esplora oggetti.

Preparare la distribuzione

In Riepilogo della conversione selezionare Istruzioni di installazione per aprire le istruzioni di distribuzione generate e visualizzare la directory di installazione. Esaminare il pacchetto, eseguire controlli di sola convalida e quindi eseguire lo script di distribuzione generato in un database di destinazione non di produzione separato. La generazione di file di installazione non distribuisce lo schema.

Esaminare i report di distribuzione e convalidare in modo indipendente i dati e il comportamento dell'applicazione prima dell'uso in produzione. Per i prerequisiti, le modalità di database e i comandi, vedere Distribuire schemi convertiti con l'esperienza di installazione.

Eseguire la migrazione del codice dell'applicazione

Dopo la migrazione dello schema, convertire il codice dell'applicazione specifico di Oracle (script SQL, stored procedure, file di controllo del caricatore, script della shell o file Java) in equivalenti compatibili con PostgreSQL. La migrazione delle applicazioni è una funzionalità di anteprima.

Scegliere un metodo di migrazione

L'estensione offre due percorsi per la migrazione del codice dell'applicazione:

  • Modernizzazione completa dell'app: se si installa l'estensione di modernizzazione dell'app di GitHub Copilot, selezionare Esegui la migrazione usando la modernizzazione dell'app per continuare la migrazione con le note di codifica della conversione dello schema. Selezionare Visualizza note sulla codifica per esaminare le indicazioni generate prima di procedere.
  • Opzione solo database: per convertire solo il codice dell'applicazione correlata al database all'interno di questa estensione, selezionare Esegui la migrazione tramite l'estensione PostgreSQL.

Convertire il codice dell'applicazione all'interno dell'estensione

  1. Nella scheda Migrazione dell'applicazione selezionare Esegui migrazione dati (o Seleziona metodo se viene rilevata l'estensione di modernizzazione dell'app).
  2. Nella pagina Converti applicazioneselezionare Seleziona applicazione Oracle da convertire e scegliere la cartella contenente il codice dell'applicazione Oracle.
  3. Selezionare una connessione PostgreSQL e un database PostgreSQL per il contesto di conversione.
  4. Selezionare Carica database se l'elenco di database è vuoto.
  5. Selezionare Converti applicazione per avviare la conversione.

Usare gli strumenti di Copilot per la migrazione delle applicazioni

L'estensione registra due strumenti del modello linguistico Copilot per assistenza per la migrazione:

  • Oracle Client Code Application Converter (pgsql_migration_oracle_app): converte il codice dell'applicazione client Oracle in equivalenti PostgreSQL usando modelli di richiesta e linee guida per la codifica dall'analisi della migrazione dello schema. Accetta i parametri seguenti:

    • Cartella codebase dell'applicazione (obbligatoria): percorso del codice da convertire.
    • Percorso delle note di codifica (facoltativo): percorso delle note di codifica generate dalla migrazione dello schema.
    • Nome database Postgres (facoltativo): nome del database PostgreSQL per il contesto di conversione.
    • Connessione database Postgres (facoltativo): nome della connessione per il database PostgreSQL.
  • Mostra report di migrazione da Oracle a Postgres (pgsql_migration_show_report): visualizza il report di migrazione generato dalla conversione dello schema. Richiede un parametro Path to Report File .

Per altre informazioni sull'uso degli strumenti di Copilot, vedere integrazione Copilot.

Confrontare i file convertiti

Dopo la conversione, rivedi le modifiche una accanto all’altra usando i comandi diff integrati.

  1. In Esplora file, fare clic con il pulsante destro del mouse su un file SQL convertito nella cartella oracle o postgres nel progetto di migrazione e selezionare Confronta le coppie di file di migrazione DDL.
  2. Per i file di codice dell'applicazione convertiti (.sql, .ctl, .sh.load, o .java), fare clic con il pulsante destro del mouse sul file e scegliere Confronta coppie di file di migrazione dell'applicazione.

La visualizzazione comparativa affiancata mostra il codice sorgente Oracle originale accanto all'output PostgreSQL convertito, in modo da poter individuare eventuali artefatti che richiedono un intervento manuale.

Il comando Confronta coppie di file di migrazione DDL richiede la struttura folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql per individuare una coppia corrispondente. Per l'output di conversione dello schema, usare Conversion Esplora oggetti per esplorare i mapping da origine a destinazione.

Gestire i progetti di migrazione

Usare la visualizzazione Migrazioni nella barra laterale per gestire i progetti:

Action Descrizione
Progetto di migrazione aperto Aprire un progetto di migrazione esistente nel dashboard.
Mostra in Explorer Mostra la cartella del progetto nella vista Explorer.
Elimina Rimuovere un progetto di migrazione. Viene richiesto di confermare prima dell'eliminazione.
Aggiorna Ricaricare l'elenco dei progetti di migrazione nell'area di lavoro corrente.