Share via


SQL-problemen voor Oracle-migraties minimaliseren

Dit artikel is deel vijf van een zevendelige reeks die richtlijnen biedt voor het migreren van Oracle naar Azure Synapse Analytics. De focus van dit artikel is aanbevolen procedures voor het minimaliseren van SQL-problemen.

Overzicht

Kenmerken van Oracle-omgevingen

Het oorspronkelijke databaseproduct van Oracle, uitgebracht in 1979, was een commerciële RELATIONELE SQL-database voor OLTP-toepassingen (On-Line Transaction Processing), met veel lagere transactietarieven dan vandaag. Sinds die eerste release is de Oracle-omgeving uitgegroeid tot veel complexer en omvat talloze functies. De functies omvatten client-serverarchitecturen, gedistribueerde databases, parallelle verwerking, gegevensanalyse, hoge beschikbaarheid, datawarehousing, technieken voor gegevens in het geheugen en ondersteuning voor cloudexemplaren.

Tip

Oracle heeft het concept 'datawarehouse-apparaat' in het begin van de jaren 2000 geïntroduceerd.

Vanwege de kosten en complexiteit van het onderhouden en upgraden van verouderde on-premises Oracle-omgevingen willen veel bestaande Oracle-gebruikers profiteren van de innovaties die worden geboden door cloudomgevingen. Met moderne cloudomgevingen, zoals cloud, IaaS en PaaS, kunt u taken zoals infrastructuuronderhoud en platformontwikkeling delegeren aan de cloudprovider.

Veel datawarehouses die ondersteuning bieden voor complexe analytische SQL-query's op grote gegevensvolumes, maken gebruik van Oracle-technologieën. Deze datawarehouses hebben meestal een dimensional gegevensmodel, zoals ster- of sneeuwvlokschema's, en gebruiken datamarts voor afzonderlijke afdelingen.

Tip

Veel bestaande Oracle-installaties zijn datawarehouses die gebruikmaken van een dimensional gegevensmodel.

De combinatie van SQL- en dimensionale gegevensmodellen in Oracle vereenvoudigt de migratie naar Azure Synapse omdat de concepten van het SQL- en basisgegevensmodel overdraagbaar zijn. Microsoft raadt u aan om uw bestaande gegevensmodel naar Azure te verplaatsen om de risico's, inspanningen en migratietijd te verminderen. Hoewel uw migratieplan mogelijk een wijziging in het onderliggende gegevensmodel bevat, zoals een overstap van een Inmon-model naar een gegevenskluis, is het zinvol om in eerste instantie een migratie naar eigen inzicht uit te voeren. Na de eerste migratie kunt u vervolgens wijzigingen aanbrengen in de Azure-cloudomgeving om te profiteren van de prestaties, elastische schaalbaarheid, ingebouwde functies en kostenvoordelen.

Hoewel de SQL-taal is gestandaardiseerd, implementeren afzonderlijke leveranciers soms eigen extensies. Als gevolg hiervan kunt u SQL-verschillen vinden tijdens uw migratie waarvoor tijdelijke oplossingen in Azure Synapse zijn vereist.

Azure-faciliteiten gebruiken om een migratie op basis van metagegevens te implementeren

U kunt het migratieproces automatiseren en organiseren met behulp van de mogelijkheden van de Azure-omgeving. Deze aanpak minimaliseert de prestaties van de bestaande Oracle-omgeving, die mogelijk al dicht bij de capaciteit wordt uitgevoerd.

Azure Data Factory is een cloudservice voor gegevensintegratie die ondersteuning biedt voor het maken van gegevensgestuurde werkstromen in de cloud voor het organiseren en automatiseren van gegevensverplaatsing en gegevenstransformatie. U kunt Data Factory gebruiken om gegevensgestuurde werkstromen (pijplijnen) te maken en te plannen die gegevens uit verschillende gegevensarchieven opnemen. Data Factory kan gegevens verwerken en transformeren met behulp van rekenservices zoals Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics en Azure Machine Learning.

Azure bevat ook Azure Database Migration Services om u te helpen bij het plannen en uitvoeren van een migratie vanuit omgevingen zoals Oracle. SQL Server Migration Assistant (SSMA) voor Oracle kan de migratie van Oracle-databases automatiseren, waaronder in sommige gevallen functies en procedurele code.

Tip

Automatiseer het migratieproces met behulp van De mogelijkheden van Azure Data Factory.

Wanneer u van plan bent om Azure-faciliteiten, zoals Data Factory, te gebruiken om het migratieproces te beheren, maakt u eerst metagegevens waarin alle gegevenstabellen worden vermeld die moeten worden gemigreerd en hun locatie.

SQL DDL-verschillen tussen Oracle en Azure Synapse

De ANSI SQL-standaard definieert de basissyntaxis voor DDL-opdrachten (Data Definition Language). Sommige DDL-opdrachten, zoals CREATE TABLE en CREATE VIEW, zijn gebruikelijk voor Zowel Oracle als Azure Synapse, maar zijn uitgebreid om implementatiespecifieke functies te bieden, zoals indexering, tabeldistributie en partitioneringsopties.

Tip

SQL DDL-opdrachten CREATE TABLE en CREATE VIEW standaardkernelementen hebben, maar worden ook gebruikt om implementatiespecifieke opties te definiëren.

In de volgende secties worden de Oracle-specifieke opties besproken die moeten worden overwogen tijdens een migratie naar Azure Synapse.

Overwegingen voor tabellen/weergaven

Wanneer u tabellen migreert tussen verschillende omgevingen, worden doorgaans alleen de onbewerkte gegevens en de metagegevens beschreven waarmee deze fysiek worden gemigreerd. Andere database-elementen van het bronsysteem, zoals indexen en logboekbestanden, worden meestal niet gemigreerd omdat ze mogelijk onnodig zijn of anders worden geïmplementeerd in de nieuwe omgeving. De optie in de TEMPORARY syntaxis van CREATE TABLE Oracle is bijvoorbeeld gelijk aan het voorvoegsel van een tabelnaam met het # teken in Azure Synapse.

Prestatieoptimalisaties in de bronomgeving, zoals indexen, geven aan waar u prestatieoptimalisatie in de nieuwe doelomgeving kunt toevoegen. Als bit-toegewezen indexen bijvoorbeeld vaak worden gebruikt in query's in de bronomgeving van Oracle, wordt aangegeven dat er een niet-geclusterde index moet worden gemaakt in Azure Synapse. Andere systeemeigen technieken voor prestatieoptimalisatie, zoals tabelreplicatie, zijn mogelijk meer van toepassing dan het rechtstreeks maken van like-for-like indexen. SSMA voor Oracle kan migratieaanbeveling bieden voor tabeldistributie en indexering.

Tip

Bestaande indexen geven kandidaten aan voor indexering in het gemigreerde magazijn.

SQL-weergavedefinities bevatten DML-instructies (SQL Data Manipulation Language) die de weergave definiëren, meestal met een of meer SELECT instructies. Wanneer u instructies migreertCREATE VIEW, moet u rekening houden met de DML-verschillen tussen Oracle en Azure Synapse.

Niet-ondersteunde Oracle-databaseobjecttypen

Oracle-specifieke functies kunnen vaak worden vervangen door Azure Synapse-functies. Sommige Oracle-databaseobjecten worden echter niet rechtstreeks ondersteund in Azure Synapse. In de volgende lijst met niet-ondersteunde Oracle-databaseobjecten wordt beschreven hoe u equivalente functionaliteit in Azure Synapse kunt bereiken:

  • Indexeringsopties: in Oracle hebben verschillende indexeringsopties, zoals bit-toegewezen indexen, op functies gebaseerde indexen en domeinindexen, geen direct equivalent in Azure Synapse. Hoewel Azure Synapse deze indextypen niet ondersteunt, kunt u een vergelijkbare vermindering van schijf-I/O bereiken met behulp van door de gebruiker gedefinieerde indextypen en/of partitionering Schijf-I/O verminderen de queryprestaties.

    U kunt nagaan welke kolommen worden geïndexeerd en hun indextype door query's uit te voeren op systeemcatalogustabellen en -weergaven, zoals ALL_INDEXES, DBA_INDEXES, USER_INDEXESen DBA_IND_COL. U kunt ook query's uitvoeren op de dba_index_usage weergaven v$object_usage wanneer bewaking is ingeschakeld.

    Azure Synapse-functies, zoals parallelle queryverwerking en in-memory caching van gegevens en resultaten, maken het waarschijnlijk dat er minder indexen nodig zijn voor datawarehouse-toepassingen om uitstekende prestatiedoelen te bereiken.

  • Geclusterde tabellen: Oracle-tabellen kunnen worden geordend, zodat tabelrijen die vaak samen worden geopend (op basis van een gemeenschappelijke waarde) fysiek worden opgeslagen. Deze strategie vermindert schijf-I/O wanneer gegevens worden opgehaald. Oracle heeft ook een hash-clusteroptie voor afzonderlijke tabellen, waarmee een hash-waarde wordt toegepast op de clustersleutel en rijen met dezelfde hash-waarde fysiek worden opgeslagen.

    In Azure Synapse kunt u een vergelijkbaar resultaat bereiken door te partitioneren en/of andere indexen te gebruiken.

  • Gerealiseerde weergaven: Oracle ondersteunt gerealiseerde weergaven en beveelt een of meer van deze weergaven aan voor grote tabellen met veel kolommen, waarbij slechts een paar kolommen regelmatig worden gebruikt in query's. Gerealiseerde weergaven worden automatisch vernieuwd door het systeem wanneer gegevens in de basistabel worden bijgewerkt.

    In 2019 kondigde Microsoft aan dat Azure Synapse gerealiseerde weergaven ondersteunt met dezelfde functionaliteit als in Oracle. Gerealiseerde weergaven zijn nu een preview-functie in Azure Synapse.

  • In-databasetriggers: in Oracle kan een trigger zo worden geconfigureerd dat deze automatisch wordt uitgevoerd wanneer er een triggergebeurtenis optreedt. Het activeren van gebeurtenissen kan het volgende zijn:

    • Een DML-instructie, zoals INSERT, UPDATEof DELETE, wordt uitgevoerd. Als u een trigger hebt gedefinieerd die wordt geactiveerd vóór een INSERT instructie in een klanttabel, wordt de trigger eenmaal geactiveerd voordat een nieuwe rij in de klanttabel wordt ingevoegd.

    • Een DDL-instructie, zoals CREATE of ALTER, wordt uitgevoerd. Deze triggerende gebeurtenis wordt vaak gebruikt om schemawijzigingen vast te leggen voor controledoeleinden.

    • Een systeem gebeurtenis zoals opstarten of afsluiten van de Oracle-database.

    • Een gebruikersevenement, zoals aanmelden of afmelden.

    Azure Synapse biedt geen ondersteuning voor Oracle-databasetriggers. U kunt echter gelijkwaardige functionaliteit bereiken met behulp van Data Factory, maar hiervoor moet u de processen die gebruikmaken van triggers herstructureren.

  • Synoniemen: Oracle ondersteunt het definiëren van synoniemen als alternatieve namen voor verschillende databaseobjecttypen. Deze typen omvatten tabellen, weergaven, reeksen, procedures, opgeslagen functies, pakketten, gerealiseerde weergaven, Java-klasseschemaobjecten, door de gebruiker gedefinieerde objecten of andere synoniemen.

    Azure Synapse biedt momenteel geen ondersteuning voor het definiëren van synoniemen, maar als een synoniem in Oracle verwijst naar een tabel of weergave, kunt u een weergave in Azure Synapse definiëren die overeenkomt met de alternatieve naam. Als een synoniem in Oracle verwijst naar een functie of opgeslagen procedure, kunt u het synoniem in Azure Synapse vervangen door een andere functie of opgeslagen procedure die het doel aanroept.

  • Door de gebruiker gedefinieerde typen: Oracle ondersteunt door de gebruiker gedefinieerde objecten die een reeks afzonderlijke velden kunnen bevatten, elk met hun eigen definitie en standaardwaarden. Deze objecten kunnen vervolgens op dezelfde manier worden verwezen binnen een tabeldefinitie als ingebouwde gegevenstypen, zoals NUMBER of VARCHAR.

    Azure Synapse biedt momenteel geen ondersteuning voor door de gebruiker gedefinieerde typen. Als de gegevens die u wilt migreren, door de gebruiker gedefinieerde gegevenstypen bevatten, 'platmaken' ze in een conventionele tabeldefinitie of als ze matrices van gegevens zijn, normaliseren ze in een afzonderlijke tabel.

SQL DDL-generatie

U kunt bestaande Oracle CREATE TABLE en CREATE VIEW scripts bewerken om gelijkwaardige definities te bereiken in Azure Synapse. Hiervoor moet u mogelijk gewijzigde gegevenstypen gebruiken en Oracle-specifieke componenten verwijderen of wijzigen, zoals TABLESPACE.

Tip

Gebruik bestaande Oracle-metagegevens om het genereren van CREATE TABLE en CREATE VIEW DDL voor Azure Synapse te automatiseren.

In de Oracle-omgeving geven systeemcatalogustabellen de huidige tabel-/weergavedefinitie op. In tegenstelling tot door de gebruiker onderhouden documentatie is systeemcatalogusinformatie altijd volledig en synchroon met de huidige tabeldefinities. U hebt toegang tot informatie over de systeemcatalogus met behulp van hulpprogramma's zoals Oracle SQL Developer. Oracle SQL Developer kan DDL-instructies genereren CREATE TABLE die u kunt bewerken om toe te passen op equivalente tabellen in Azure Synapse, zoals wordt weergegeven in de volgende schermopname.

Schermopname van de instructie create table gegenereerd door Oracle SQL Developer.

Oracle SQL Developer voert de volgende CREATE TABLE instructie uit, die Oracle-specifieke componenten bevat die u moet verwijderen. Wijs eventuele niet-ondersteunde gegevenstypen toe voordat u de gewijzigde CREATE TABLE instructie uitvoert in Azure Synapse.

Schermopname van de menuoptie Snelle DDL in Oracle SQL Developer.

U kunt ook automatisch instructies genereren CREATE TABLE op basis van de informatie in Oracle-catalogustabellen met behulp van SQL-query's, SSMA of migratiehulpprogramma's van derden . Deze benadering is de snelste, meest consistente manier om instructies voor veel tabellen te genereren CREATE TABLE .

Tip

Hulpprogramma's en services van derden kunnen taken voor gegevenstoewijzing automatiseren.

Externe leveranciers bieden hulpprogramma's en services voor het automatiseren van migratie, met inbegrip van de toewijzing van gegevenstypen. Als een ETL-hulpprogramma van derden al in gebruik is in de Oracle-omgeving , gebruikt u dat hulpprogramma om vereiste gegevenstransformaties te implementeren.

SQL DML-verschillen tussen Oracle en Azure Synapse

De ANSI SQL-standaard definieert de basissyntaxis voor DML-opdrachten, zoals SELECT, INSERTen UPDATEDELETE. Hoewel Oracle en Azure Synapse beide DDL-opdrachten ondersteunen, implementeren ze in sommige gevallen dezelfde opdracht anders.

Tip

De standaard SQL DML-opdrachten SELECTen INSERTUPDATE kunnen extra syntaxisopties hebben in verschillende databaseomgevingen.

In de volgende secties worden de Oracle-specifieke DML-opdrachten besproken die moeten worden overwogen tijdens een migratie naar Azure Synapse.

Verschillen in SQL DML-syntaxis

Er zijn enkele verschillen in SQL DML-syntaxis tussen Oracle SQL en Azure Synapse T-SQL:

  • DUAL tabel: Oracle heeft een systeemtabel die DUAL bestaat uit precies één kolom met de naam dummy en één record met de waarde X. De DUAL systeemtabel wordt gebruikt wanneer een query om syntaxis een tabelnaam vereist, maar de inhoud van de tabel is niet nodig.

    Een voorbeeld van een Oracle-query die gebruikmaakt van de DUAL tabel is SELECT sysdate from dual;. Het Equivalent van Azure Synapse is SELECT GETDATE();. Om de migratie van DML te vereenvoudigen, kunt u een equivalente DUAL tabel maken in Azure Synapse met behulp van de volgende DDL.

    CREATE TABLE DUAL
    (
      DUMMY VARCHAR(1)
    )
    GO
    INSERT INTO DUAL (DUMMY)
    VALUES ('X')
    GO
    
  • NULL waarden: een NULL waarde in Oracle is een lege tekenreeks, vertegenwoordigd door een CHAR of VARCHAR tekenreekstype lengte 0. In Azure Synapse en de meeste andere databases NULL betekent dit iets anders. Wees voorzichtig bij het migreren van gegevens, of bij het migreren van processen die gegevens verwerken of opslaan, om ervoor te zorgen dat NULL waarden consistent worden verwerkt.

  • Syntaxis van Oracle outer join: hoewel recentere versies van Oracle ansi outer join-syntaxis ondersteunen, gebruiken oudere Oracle-systemen een eigen syntaxis voor outer joins die gebruikmaken van een plusteken (+) in de SQL-instructie. Als u een oudere Oracle-omgeving migreert, kunt u de oudere syntaxis tegenkomen. Voorbeeld:

    SELECT
        d.deptno, e.job
    FROM
        dept d,
        emp e
    WHERE
        d.deptno = e.deptno (+)
        AND e.job (+) = 'CLERK'
    GROUP BY
        d.deptno, e.job;
    

    De equivalente ANSI-standaardsyntaxis is:

    SELECT
        d.deptno, e.job
    FROM
        dept d
        LEFT OUTER JOIN emp e ON d.deptno = e.deptno
        and e.job = 'CLERK'
    GROUP BY
        d.deptno,
        e.job
    ORDER BY
        d.deptno, e.job;
    
  • DATE gegevens: in Oracle kan het DATE gegevenstype zowel datum als tijd opslaan. Azure Synapse slaat datum en tijd op in afzonderlijke DATE, TIMEen DATETIME gegevenstypen. Wanneer u Oracle-kolommen DATE migreert, controleert u of ze zowel datum als tijd of alleen een datum opslaan. Als ze alleen een datum opslaan, wijst u de kolom toe aan DATE, anders aan DATETIME.

  • DATE Rekenkundig: Oracle ondersteunt het aftrekken van een datum van een andere, bijvoorbeeld SELECT date '2018-12-31' - date '2018-1201' from dual;. In Azure Synapse kunt u datums aftrekken met behulp van de DATEDIFF() functie, bijvoorbeeld SELECT DATEDIFF(day, '2018-12-01', '2018-12-31');.

    Oracle kan gehele getallen aftrekken van datums, bijvoorbeeld SELECT hire_date, (hire_date-1) FROM employees;. In Azure Synapse kunt u gehele getallen optellen of aftrekken van datums met behulp van de DATEADD() functie.

  • Updates via weergaven: in Oracle kunt u invoeg-, update- en verwijderbewerkingen uitvoeren voor een weergave om de onderliggende tabel bij te werken. In Azure Synapse voert u deze bewerkingen uit op een basistabel, niet op een weergave. Mogelijk moet u ETL-verwerking opnieuw engineeren als een Oracle-tabel wordt bijgewerkt via een weergave.

  • Ingebouwde functies: in de volgende tabel ziet u de verschillen in de syntaxis en het gebruik van sommige ingebouwde functies.

Oracle-functie Beschrijving Synapse-equivalent
ADD_MONTHS Een opgegeven aantal maanden toevoegen DATEADD
CAST Een ingebouwd gegevenstype converteren naar een ander gegevenstype CAST
DECODEREN Een lijst met voorwaarden evalueren CASE-expressie
EMPTY_BLOB Een lege BLOB-waarde maken 0x constante (lege binaire tekenreeks)
EMPTY_CLOB Een lege CLOB- of NCLOB-waarde maken '' (lege tekenreeks)
INITCAP De eerste letter van elk woord hoofdletters maken Door de gebruiker gedefinieerde functie
INSTR Positie van een subtekenreeks in een tekenreeks zoeken CHARINDEX
LAST_DAY De laatste datum van de maand ophalen EOMONTH
LENGTH Tekenreekslengte in tekens ophalen LEN
LPAD Tekenreeks links naar de opgegeven lengte Expressie met BEHULP van REPLICEREN, RECHTS en LINKS
MOD De rest van een deling van één getal door een ander ophalen % bediener
MONTHS_BETWEEN Het aantal maanden tussen twee datums ophalen DATEDIFF
NVL Vervangen NULL door expressie ISNULL
SUBSTR Een subtekenreeks van een tekenreeks retourneren SUBSTRING
TO_CHAR voor datum/tijd Datum/tijd converteren naar tekenreeks OMZETTEN
TO_DATE Een tekenreeks converteren naar datum/tijd OMZETTEN
VERTALEN Vervanging van één-op-één-teken Expressies met REPLACE of een door de gebruiker gedefinieerde functie
TRIM Voorloop- of volgtekens knippen LTRIM en RTRIM
TRUNC voor datum/tijd Datum/tijd afkappen Expressies met CONVERTEREN
UNISTR Unicode-codepunten converteren naar tekens Expressies met NCHAR

Functies, opgeslagen procedures en reeksen

Wanneer u een datawarehouse migreert vanuit een volwassen omgeving zoals Oracle, moet u waarschijnlijk andere elementen dan eenvoudige tabellen en weergaven migreren. Voor functies, opgeslagen procedures en reeksen controleert u of hulpprogramma's in de Azure-omgeving hun functionaliteit kunnen vervangen, omdat het meestal efficiënter is om ingebouwde Azure-hulpprogramma's te gebruiken dan om de Oracle-functies opnieuw te coderen.

Als onderdeel van de voorbereidingsfase maakt u een inventaris van objecten die moeten worden gemigreerd, definieert u een methode voor het afhandelen ervan en wijst u de juiste resources toe aan uw migratieplan.

Microsoft-hulpprogramma's zoals SSMA voor Oracle en Azure Database Migration Services of migratieproducten en -services van derden kunnen de migratie van functies, opgeslagen procedures en reeksen automatiseren.

Tip

Producten en services van derden kunnen de migratie van niet-gegevenselementen automatiseren.

In de volgende secties worden de migratie van functies, opgeslagen procedures en reeksen besproken.

Functies

Net als bij de meeste databaseproducten ondersteunt Oracle systeem- en door de gebruiker gedefinieerde functies binnen een SQL-implementatie. Wanneer u een verouderd databaseplatform migreert naar Azure Synapse, kunt u meestal algemene systeemfuncties migreren zonder dat u dit hoeft te wijzigen. Sommige systeemfuncties hebben mogelijk een iets andere syntaxis, maar u kunt eventuele vereiste wijzigingen automatiseren.

Voor Oracle-systeemfuncties of willekeurige door de gebruiker gedefinieerde functies die geen equivalent hebben in Azure Synapse, codeert u deze functies opnieuw met behulp van de doelomgevingstaal. Door de gebruiker gedefinieerde Oracle-functies worden gecodeerd in PL/SQL, Java of C. Azure Synapse maakt gebruik van de Transact-SQL-taal om door de gebruiker gedefinieerde functies te implementeren.

Opgeslagen procedures

De meeste moderne databaseproducten ondersteunen het opslaan van procedures in de database. Oracle biedt hiervoor de PL/SQL-taal. Een opgeslagen procedure bevat doorgaans zowel SQL-instructies als procedurelogica en retourneert gegevens of een status.

Azure Synapse ondersteunt opgeslagen procedures met behulp van T-SQL, dus u moet alle gemigreerde opgeslagen procedures in T-SQL opnieuw coderen.

Reeksen

In Oracle is een reeks een benoemd databaseobject, gemaakt met behulp van CREATE SEQUENCE. Een reeks biedt unieke numerieke waarden via de CURRVAL en NEXTVAL methoden. U kunt de gegenereerde unieke getallen gebruiken als surrogaatsleutelwaarden voor primaire sleutels. Azure Synapse implementeert CREATE SEQUENCEniet, maar u kunt reeksen implementeren met behulp van IDENTITY kolommen of SQL-code waarmee het volgende reeksnummer in een reeks wordt gegenereerd.

UITLEG gebruiken om verouderde SQL te valideren

Tip

Gebruik echte query's uit de bestaande systeemquerylogboeken om potentiële migratieproblemen te vinden.

Ervan uitgaande dat een gemigreerd gegevensmodel vergelijkbaar is in Azure Synapse met dezelfde tabel- en kolomnamen, is één manier om verouderde Oracle SQL te testen op compatibiliteit met Azure Synapse:

  1. Leg enkele representatieve SQL-instructies vast uit de verouderde logboeken voor systeemquerygeschiedenis.
  2. Voorvoegsel voor deze query's met de EXPLAIN instructie.
  3. Voer de EXPLAIN instructies uit in Azure Synapse.

Elke incompatibele SQL genereert een fout en de foutgegevens kunnen worden gebruikt om de schaal van de recoding-taak te bepalen. Voor deze aanpak hoeft u geen gegevens in de Azure-omgeving te laden. U hoeft alleen de relevante tabellen en weergaven te maken.

Samenvatting

Bestaande verouderde Oracle-installaties worden doorgaans geïmplementeerd op een manier die migratie naar Azure Synapse relatief eenvoudig maakt. Beide omgevingen maken gebruik van SQL voor analytische query's op grote gegevensvolumes en gebruiken over het algemeen een vorm van dimensional gegevensmodel. Deze factoren zorgen ervoor dat Oracle-installaties een goede kandidaat zijn voor migratie naar Azure Synapse.

Samenvattend zijn onze aanbevelingen voor het minimaliseren van de taak voor het migreren van SQL-code van Oracle naar Azure Synapse:

  • Migreer uw bestaande gegevensmodel als zodanig om risico's, inspanningen en migratietijd te minimaliseren, zelfs als een ander gegevensmodel is gepland, zoals een gegevenskluis.

  • Inzicht in de verschillen tussen de Oracle SQL-implementatie en de Azure Synapse-implementatie.

  • Gebruik de metagegevens en querylogboeken van de bestaande Oracle-implementatie om de impact van het wijzigen van de omgeving te beoordelen. Plan een aanpak om de verschillen te beperken.

  • Automatiseer het migratieproces om risico's, inspanningen en migratietijd te minimaliseren. U kunt Microsoft-hulpprogramma's zoals Azure Database Migration Services en SSMA gebruiken.

  • Overweeg om gespecialiseerde hulpprogramma's en services van derden te gebruiken om de migratie te stroomlijnen.

Volgende stappen

Zie het volgende artikel in deze reeks voor meer informatie over hulpprogramma's van Microsoft en derden: Hulpprogramma's voor migratie van Oracle-datawarehouse naar Azure Synapse Analytics.