Zelfstudie: Oracle naar Azure Database for PostgreSQL flexibele serverschemaconversie

In deze zelfstudie leert u hoe u Oracle-databaseschema's omzet naar Azure Database for PostgreSQL met behulp van de PostgreSQL-extensie voor Visual Studio Code in combinatie met Microsoft Foundry om PostgreSQL-definities te genereren en te beoordelen.

Het omvat het maken van verbinding met uw Oracle-bron en Azure Database for PostgreSQL doel, het configureren van Microsoft Foundry, het uitvoeren van de migratiewizard en het controleren van gegenereerde PostgreSQL-artefacten. Voordat u begint, moet u ervoor zorgen dat u netwerktoegang en referenties hebt voor zowel servers als een Microsoft Foundry-implementatie.

Dit is wat u kunt verwachten tijdens de conversie:

  • Schemadetectie: Het hulpprogramma analyseert uw Oracle-schemaobjecten.
  • AI-verwerking: Microsoft Foundry verwerkt en compatibele objecten converteert.
  • Controles van de scratch-database: het hulpprogramma probeert te compileren en beschikbare statische controles uit te voeren. Functionele, gegevens en toepassingsvalidatie blijven gescheiden.
  • Objectcontrole: Gebruik Conversion Objectverkenner om resultaten te inspecteren en gegenereerde PostgreSQL-definities te verfijnen.
  • Uitvoergeneratie: geconverteerde objecten worden opgeslagen als PostgreSQL-bestanden.

Prerequisites

In deze sectie worden de vereisten beschreven voor het gebruik van de functie oracle naar Azure Database for PostgreSQL-schemaconversie in Visual Studio Code voordat u een conversie start.

Systeemvereisten

Categorie Details
Visual Studio Code-versie 1.95.2 of hoger
GitHub Copilot-abonnement Pro+, Business, Enterprise

Ondersteuning van het besturingssysteem

Besturingssysteem Ondersteuningsdetails
Windows alleen x64-architectuur
Linux x64-architectuur
macOS macOS 13+

Vereisten voor doel Azure Database for PostgreSQL

Onderdeel Versievereiste
Azure Database for PostgreSQL PostgreSQL versie 15 of hoger
Scratch-database Azure-database voor PostgreSQL flexibele server

Vereisten voor AI-modellen

U hebt een van de volgende AI-onderdelen nodig die zijn geconfigureerd:

AI-onderdeel Modelversie
Microsoft Foundry GPT-5.2-implementatie

configuratie van Microsoft Foundry-implementatie

Maak in Microsoft Foundry een implementatie die gebruikmaakt van het gpt-5.2-model. De implementatienaam is de naam die u hebt gekozen bij het maken van de implementatie; deze hoeft niet overeen te komen met de modelnaam.

Het eindpunt is uw Microsoft Resource-URL van Foundry. Microsoft Foundry-resources verschillende equivalente hostnamen beschikbaar maken; een van de volgende indelingen is geldig:

  • https://{your-resource}.services.ai.azure.com
  • https://{your-resource}.openai.azure.com
  • https://{your-resource}.cognitiveservices.azure.com

Vervang {your-resource} door de resourcenaam van uw Microsoft Foundry (bijvoorbeeld oracletopg). Als u een inferentieroute rechtstreeks wilt aanroepen, is het huidige previewtraject /openai/responses?api-version=2025-04-01-preview.

Zie Endpoints voor Microsoft Foundry Models voor meer informatie over eindpuntindelingen en deductieroutes.

Tip

Als u Microsoft Foundry-verkeer wilt routeren via Azure API Management voor gecentraliseerd beheer, beperking en waarneembaarheid, configureert u een AI-gateway vóór uw Foundry-resource en gebruikt u de gateway-URL als het eindpunt. Zie AI Gateway configureren in uw Foundry-resources voor meer informatie.

Vereiste databasebevoegdheden

Voordat u schemaconversie uitvoert, controleert u bij uw databasebeheerders de toegang tot bronmetagegevens en de machtigingen voor de scratchdatabase. Het Oracle-account heeft toegang nodig tot metagegevens van schema's en dictionary-weergaven, niet tot rijgegevens van de applicatie. Het PostgreSQL-account moet overeenkomende schema's kunnen verwijderen en opnieuw kunnen maken en objecten kunnen maken voor validatie. Gebruik waar mogelijk een afzonderlijk account en volg het principe van minimale rechten.

Oracle-bronrechten

De volgende minimale bevoegdheden zijn vereist voor de Oracle-brondatabase:

Voorrecht Purpose
CONNECT Basisdatabaseverbinding
SELECT_CATALOG_ROLE Toegang tot gegevenswoordenlijstweergaven
EEN WOORDENLIJST SELECTEREN Systeemmetagegevens en woordenlijstobjecten lezen
SELECTEREN SYS.ARGUMENT$ Toegang tot informatie over procedure- en functieargumenten
SELECTEREN SYS.V_$RESOURCE_LIMIT Toegang tot het gebruik van sessies en processen en de limieten daarvan via V$RESOURCE_LIMIT

Databasebevoegdheden scratchen

Stel de volgende toegangsrechten in voor de geselecteerde scratch-database. Machtigingen op databaseniveau CREATE verlenen geen machtiging om een schema te verwijderen dat eigendom is van een andere rol.

Toegang Purpose
CONNECT in de database Maak verbinding voor conversie en validatie.
CREATE in de database Validatieschema's maken.
Eigenaar zijn van overeenkomende schema's, of een rol met de juiste autorisatie Verwijder de overeenkomende schema's voordat u ze opnieuw maakt.
Toestemming om objecten te maken in de validatieschema’s Geconverteerde definities maken en samenstellen.
Machtigingen voor het installeren van extensies of hulp van een beheerder Installeer de extensies die nodig zijn voor conversie en validatie.

Netwerkvereisten

  • Uitgaande connectiviteit: Microsoft Foundry-eindpunten.
  • Databaseverbinding: Zowel Oracle als bron en Azure Database for PostgreSQL Flexible Server als doel.
  • HTTPS-toegang: Visual Studio Code Extensions Marketplace en GitHub Copilot-services.
  • GitHub opslagplaatstoegang: https://github.com/microsoft/pgsql-tools/.

Oracle Instant Client (voor dikke clientmodus)

Het hulpprogramma voor schemaconversie maakt standaard verbinding met Oracle met behulp van de thin client-modus, waarvoor geen extra software is vereist. Als voor uw omgeving een dikke clientmodus is vereist, installeert u Oracle Instant Client op de computer waarop Visual Studio Code wordt uitgevoerd. Het hulpprogramma leest uw sqlnet.ora- en tnsnames.ora-configuratie en schakelt automatisch over naar de thick-clientmodus wanneer een instelling dit vereist.

U kunt bepalen of de dikke clientmodus vereist is door de Oracle-netwerkconfiguratiebestanden in uw bronomgeving te controleren. Zoek naar de volgende parameters in het sqlnet.ora bestand (meestal in $ORACLE_HOME/network/admin/):

Parameter Geeft aan dat de dikke modus is vereist
SQLNET.CRYPTO_CHECKSUM_CLIENT Instellen op REQUIRED of REQUESTED voor systeemeigen netwerkversleuteling
SQLNET.ENCRYPTION_CLIENT Instellen op REQUIRED of REQUESTED voor systeemeigen netwerkversleuteling

Microsoft Foundry-authenticatie

Configureer een van de volgende verificatiemethoden voor Microsoft Foundry:

Verificatiemethode Requirements
API-sleutel Microsoft Foundry-eindpunt-URL en API-sleutel.
Microsoft Entra ID Aangemeld bij de Azure-accountextensie, rol Foundry User (voorheen Azure AI User) toegewezen aan de Microsoft Foundry-resource.

Migratieproces

In deze sectie leidt u door het conversieproces. U installeert de extensie, initialiseert een project, maakt verbinding met Oracle, controleert Discovery en configureert de scratchdatabase en Microsoft Foundry. De conversie probeert compilatie en beschikbare statische controles in de scratchdatabase uit te voeren. Vervolgens controleert en verfijnt u de uitvoer, implementeert u deze in een afzonderlijke niet-productiedatabase en valideert u deze onafhankelijk voordat u het in productie gebruikt.

Stap 1: De PostgreSQL Visual Studio Code-extensie installeren

  1. Open Visual Studio Code.

  2. Ga naar de weergave Extensies (Ctrl+Shift+X).

  3. Zoek naar PostgreSQL en installeer de extensie PostgreSQL die is gepubliceerd door Microsoft.

    1. Marketplace downloaden

    Schermopname van het installeren van de PostgreSQL-extensie in Visual Studio Code.

Stap 2: Een Azure Database for PostgreSQL-verbinding maken

  1. Maak in het PostgreSQL-extensiepaneel een verbinding met uw Azure Database for PostgreSQL Flexibele server-instantie.

  2. Voer de verbindingsgegevens in (host, database, gebruikersnaam, wachtwoord).

  3. Test de verbinding en sla deze op.

    Schermopname van het toevoegen van een nieuwe Azure Database for PostgreSQL-verbinding.

Stap 3: Een nieuwe werkruimte openen

  1. Maak een nieuwe map op uw lokale computer voor het migratieproject.

  2. Open de map als een nieuwe werkruimte in Visual Studio Code.

    Schermopname van het toevoegen van een nieuwe werkruimte in Visual Studio Code.

Stap 4: Een migratieproject initialiseren

  1. Open de PostgreSQL-extensie.

  2. Ga naar het deelvenster Migraties.

  3. Selecteer Migratieproject maken.

    Schermopname van het maken van een nieuw migratieproject.

Stap 5: Projectinstellingen configureren

  1. Voer in de wizard Migratie de naam van uw project in.

  2. Selecteer Volgende om door te gaan.

    Schermopname van projectnaam.

Stap 6: De Oracle-verbinding configureren

  1. Voer uw Oracle-verbindingsgegevens in:

    • Hostnaam of servernaam.
    • Poortnummer.
    • Database- of servicenaam.
    • Gebruikersnaam en wachtwoord.

    Het hulpprogramma selecteert de dunne of dikke clientmodus automatisch vanuit uw sqlnet.ora en tnsnames.ora instellingen. De gebruikersinterface maakt geen handmatige selector beschikbaar. Thin mode wordt standaard gebruikt. Als uw sqlnet.ora thick mode vereist, zorg er dan voor dat Oracle Instant Client is geïnstalleerd en dat de locatie ervan is opgenomen in de omgevingsvariabele PATH voordat u doorgaat. Zie Oracle Instant Client voor meer informatie.

  2. Kies Schema's laden. Het hulpprogramma test de Oracle-verbinding en vermeldt, indien geslaagd, alle door de gebruiker gedefinieerde schema's die beschikbaar zijn in Oracle.

  3. Selecteer een of meer schema's die u wilt converteren naar PostgreSQL.

  4. Selecteer Volgende: Discovery.

    Schermafbeelding van de Oracle-verbinding met geselecteerde schema's en de knop 'Volgende: Detectie'. De verbindingswaarden zijn weggelakt.

Stap 7: Discovery-resultaten bekijken

Discovery toont de broninventaris en de geplande extractieomvang. Er wordt in deze fase geen DDL geëxtraheerd. Zie Discovery in het overzicht van schemaconversie voor een uitleg van de totalen in de samenvatting en de reikwijdte.

  1. Wacht tot Detectie is voltooid.

  2. Controleer onder Bronmachtigingen het doel en resultaat van elke controle. Bespreek mislukte controles met uw Oracle-databasebeheerder. Nadat u problemen met machtigingen hebt opgelost, selecteert u Detectie vernieuwen en controleert u de bijgewerkte resultaten. Zie bronmachtigingen voor Oracle voor de vereiste machtigingen.

  3. Bekijk de overzichtsaantallen van gedetecteerd, te extraheren, uitgesloten en ongeldige objecten.

  4. Vouw ondersteunde objecttypen uit om het aantal te extraheren, uitgesloten en ongeldige objecten per type te controleren. Een ondersteund type kan nog steeds uitgesloten objecten hebben; deze aantallen zijn geen conversieresultaten.

  5. Vouw Niet-ondersteunde objecttypen uit om niet-ondersteunde categorieën in de bron te controleren. Zie Beperkingen voor schemaconversie voor ondersteuningsdetails en PostgreSQL-alternatieven.

  6. Controleer onder Afhankelijke schema's de schema's waarnaar wordt verwezen die u niet hebt geselecteerd. Selecteer Diagram weergeven om de referenties weer te geven. De getallen op de verbindingen vertegenwoordigen afhankelijkheidsverwijzingen, niet het aantal objecten dat moet worden geëxtraheerd of geconverteerd.

  7. Bekijk de afzonderlijke kennisgeving over Oracle-systeemschema's waarnaar wordt verwezen en die niet worden gemigreerd. Behandel deze verwijzingen niet als aanvullende toepassingsschema's voor conversie.

  8. Als u de schemaselectie wilt wijzigen, selecteert u Vorige om terug te keren naar Verbinding maken met Oracle, werkt u Schemas bij en selecteert u Volgende: Detectie opnieuw. Controleer de bijgewerkte scope voordat u doorgaat.

  9. Selecteer Ik heb de objecten, uitsluitingen en afhankelijke schema's gecontroleerd.

  10. Selecteer Volgende: PostgreSQL-verbinding.

    Schermopname van Discovery met machtigingscontroles, objectaantallen, afhankelijkheden, bereikbevestiging en Volgende: PostgreSQL-verbinding. Verbindingsdetails zijn weggelakt.

Stap 8: Een Azure Database for PostgreSQL scratchdatabase configureren

Gebruik een lege of toegewezen, ongebruikte scratchdatabase zonder objecten of gegevens die u moet behouden. Zie De scratchdatabase voorbereiden voor de voorbereidingsrichtlijnen.

  1. Selecteer de Azure Database for PostgreSQL-verbinding die u hebt gedefinieerd in de PostgreSQL-extensie.

  2. Selecteer de doeldatabase in de vervolgkeuzelijst.

  3. Klik op Extensies controleren. Als de waarschuwing Aanbevolen extensies zijn niet geïnstalleerd verschijnt, bekijkt u de ontbrekende extensies. Volg de voorbereidingsrichtlijnen voor de scratch-database om de benodigde extensies toe te voegen aan de toestaanlijst van de server en deze in de geselecteerde database te installeren en selecteer Vervolgens opnieuw Extensies verifiëren. U kunt doorgaan ondanks de waarschuwing, maar voor objecten die afhankelijk zijn van ontbrekende extensies zijn mogelijk handmatige wijzigingen vereist.

    Schermopname van de scratchdatabaseverbinding met de waarschuwing voor aanbevolen extensies en bevestiging van schemarecreatie.

  4. Selecteer het selectievakje om te bevestigen dat scratchschema's die overeenkomen met de geselecteerde Oracle-schema's, worden verwijderd en opnieuw worden gemaakt tijdens de conversie, waarbij de bestaande objecten en gegevens worden verwijderd.

  5. Selecteer Volgende: Microsoft Foundry-modelconfiguratie.

Stap 9: Het Microsoft Foundry-taalmodel configureren

Wijs in Microsoft Foundry een implementatiequotum toe van meer dan 1.000.000 tokens per minuut (TPM). Het volgende implementatievoorbeeld is geconfigureerd voor 2,3 miljoen TPM; het beschikbare quotum dat wordt weergegeven, is specifiek voor die omgeving.

Schermopname van implementatiedetails van Microsoft Foundry met de limiet voor tokens per minuut ingesteld op 2,3 miljoen.

Ga terug naar de migratiewizard in Visual Studio Code om de modelverbinding te configureren:

  1. Voer de details van uw Microsoft Foundry in:
    • Eindpunt-URL.
    • Implementatienaam (de naam die u hebt toegewezen aan de implementatie in Microsoft Foundry; het onderliggende model moet gpt-5.2).
  2. Selecteer de verificatiemethode:
    • API-sleutel: Voer de API-sleutel in voor uw Microsoft Foundry-implementatie.
    • Microsoft Entra-id: meld u aan met de Azure-accountextensie. Het hulpprogramma verkrijgt automatisch het verificatietoken. Zorg ervoor dat de aangemelde identiteit de rol Foundry User (voorheen Azure AI User) heeft op de Microsoft Foundry-resource. Zie rolgebaseerde toegangscontrole voor Microsoft Foundry voor meer informatie.
  3. Selecteer Test Microsoft Foundry Connection om de configuratie te controleren.
  4. Nadat de verbinding is voltooid, selecteert u Migratie maken Project.

Stap 10: De schemaconversie uitvoeren

  1. Het systeem gaat naar de hoofdwizard voor migratie.

  2. Selecteer Migreren om het schemaconversieproces te starten.

  3. Bewaak de voortgang van de conversie in de Visual Studio Code-interface.

  4. Wanneer de conversie is voltooid, wordt in het project Schemaconversie is voltooid weergegeven en de actie conversieoverzicht bekijken.

    Schermopname van voltooide schemaconversie met extractie- en conversievoortgang en samenvatting conversie controleren.

Stap 11: Het schemaconversierapport bekijken

  1. Nadat de schemaconversie is voltooid, wordt het HTML-conversierapport automatisch geopend.
  2. Bekijk de detectie-, extractie- en conversieresultaten en notities op objectniveau.
  3. Zie Het HTML-rapport weergeven voor de conversie van Oracle-schema's voor hulp bij het interpreteren van het rapport.

Stap 12: Geconverteerde objecten controleren en verfijnen

  1. Selecteer in het voltooide migratieproject de optie Conversieoverzicht controleren.

    Schermopname van het conversieoverzicht met objectaantallen en acties voor conversieobjectverkenner, conversierapport en installatie-instructie.

  2. Selecteer op de pagina ConversiesamenvattingConversieobjectverkenner.

    Schermopname van Conversion Objectverkenner met bron- en doelobjecten, statussen en de acties Vraag en Herstel.

  3. Selecteer een object om de Oracle- en PostgreSQL-definities te vergelijken en lees de conversienotities.

    Schermopname van Oracle- en PostgreSQL-definities naast conversienotities.

  4. Gebruik Ask om de conversie en de bijbehorende afhankelijkheden uit te leggen, of Fix om een Copilot-prompt te openen en wijzigingen aan te brengen in het PostgreSQL-bestand.

  5. Controleer de bewerkingen en bevestig dat de implementatie-SQL de correcties bevat die u wilt implementeren. Stel niet dat het bewerken van een bestand per object het gegenereerde deploy.sqlbestand bijwerkt.

Zie Geconverteerde objecten controleren in conversie-Objectverkenner voor filters, vergelijkingen en handmatige compilatiestappen.

Stap 13: Implementatie voorbereiden met de Setup Experience

De conversiewerkstroom genereert automatisch installatiebestanden wanneer deze wordt voltooid. Als u de installatie-instructies opent, wordt er geen uitrol gestart.

  1. Selecteer in het voltooide migratieproject de optie Conversieoverzicht controleren.
  2. Selecteer op de pagina Overzicht conversies de optie Installatie-instructies. Deze actie wordt beschikbaar wanneer de installatiebestanden gereed zijn.
  3. Controleer het gegenereerde setup_instructions.md bestand dat in de editor wordt geopend. Visual Studio Code toont ook de installatiemap in Explorer.
  4. Volg geconverteerde schema's implementeren met de installatie-ervaring om een afzonderlijke niet-productiedoeldatabase voor te bereiden, gereedheidscontroles uit te voeren, de geconverteerde schema's te implementeren en implementatieresultaten te bekijken.

Stap 14: Het geïmplementeerde schema valideren vóór gebruik in productie

Gebruik de niet-productiedatabase die in de vorige stap is geïmplementeerd voor functionele, gegevens en toepassingsvalidatie, niet de scratchdatabase voor conversie.

Als u een object na de implementatie wijzigt, past u de correctie handmatig toe:

  1. Verbind de SQL-editor met de PostgreSQL-server voor niet-productie en de database waarin het geconverteerde schema is geïmplementeerd. Bevestig de actieve database van de editor.
  2. Bekijk schemaverwijzingen en selecteer de volledige statement of statements die u wilt uitvoeren.
  3. Selecteer de knop Afspelen om alleen de geselecteerde opdrachten uit te voeren. Controleer de uitvoer van de uitvoering en los fouten op voordat u doorgaat.
  4. Controleer of de objectbestanden en implementatie-SQL de geteste correcties vóór de productie-implementatie bevatten. Een bestand bijwerken, een geïmplementeerd object bijwerken en deploy.sql bijwerken zijn afzonderlijke acties.

Valideer het geïmplementeerde schema onafhankelijk met representatieve testgegevens en toepassingsworkloads. Controleer afhankelijkheden, beperkingen, bedrijfslogica en resultatensets aan de Oracle-bron en test deze opnieuw na correcties. Controleer alle objecten die niet zijn geconverteerd of gedeployed, in plaats van alleen geslaagde conversies te testen.

Important

Verantwoordelijkheid voor klantvalidatie: dezelfde AI-engine die wordt gebruikt voor schemaconversie kan ook helpen bij validatie en beoordeling. AI-systemen kunnen af en toe hun eigen fouten bevestigen. Als u gegevensverlies, functionele regressies of beveiligingsproblemen wilt voorkomen, valideert u onafhankelijk alle geconverteerde objecten en correcties op objectniveau voordat u in productie gaat. Als onderdeel van uw besturingselementen kunt u het filteren van Microsoft Foundry-inhoud inschakelen om schadelijke of ongewenste uitvoer te verminderen. Zie Content-filtering voor Microsoft Foundry Models voor hulp.

Ga naar de PostgreSQL-extensie voor Visual Studio Code en Cursor voor meer informatie over de extensie Visual Studio Code.