Share via


SQL-problemen voor Oracle-migraties minimaliseren

Dit artikel is deel vijf van een zevendelige reeks met richtlijnen voor het migreren van Oracle naar Azure Synapse Analytics. De focus van dit artikel ligt op best practices 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 transactiesnelheden dan nu. Sinds die eerste release is de Oracle-omgeving veel complexer geworden en bevat het 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

In het begin van de jaren 2000 was Oracle een pionier op het gebied van het datawarehouse-apparaat.

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 van 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 dimensionaal gegevensmodel, zoals ster- of sneeuwvlokschema's, en maken gebruik van 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 sql- en basisconcepten van het gegevensmodel overdraagbaar zijn. Microsoft raadt u aan uw bestaande gegevensmodel as-is over te zetten naar Azure om risico's, inspanningen en migratietijd te verminderen. Hoewel uw migratieplan een wijziging in het onderliggende gegevensmodel kan bevatten, zoals een overstap van een Inmon-model naar een gegevenskluis, is het zinvol om in eerste instantie een ongewijzigde migratie 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 gestandaardiseerd is, implementeren afzonderlijke leveranciers soms eigen extensies. Als gevolg hiervan kunt u tijdens de migratie SQL-verschillen tegenkomen 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 benadering minimaliseert de prestatietreffer in 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 opnemen uit verschillende gegevensarchieven. 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 procedurecode.

Tip

Automatiseer het migratieproces met behulp van Azure Data Factory mogelijkheden.

Wanneer u van plan bent om Azure-faciliteiten, zoals Data Factory, te gebruiken om het migratieproces te beheren, maakt u eerst metagegevens die alle gegevenstabellen bevatten 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 met implementatiespecifieke functies zoals indexeren, tabeldistributie en partitioneringsopties.

Tip

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

In de volgende secties worden de Oracle-specifieke opties besproken waarmee rekening moet worden gehouden tijdens een migratie naar Azure Synapse.

Overwegingen voor tabel/weergave

Wanneer u tabellen migreert tussen verschillende omgevingen, worden doorgaans alleen de onbewerkte gegevens en de metagegevens waarin deze worden beschreven fysiek gemigreerd. Andere database-elementen van het bronsysteem, zoals indexen en logboekbestanden, worden meestal niet gemigreerd omdat ze mogelijk niet nodig zijn of anders zijn geïmplementeerd in de nieuwe omgeving. De optie in de TEMPORARY syntaxis van CREATE TABLE Oracle komt bijvoorbeeld overeen met 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 bijvoorbeeld bit-toegewezen indexen vaak worden gebruikt in query's binnen de bron-Oracle-omgeving, betekent dit dat er een niet-geclusterde index moet worden gemaakt binnen Azure Synapse. Andere systeemeigen optimalisatietechnieken voor prestaties, zoals tabelreplicatie, zijn mogelijk meer van toepassing dan het rechtstreeks maken van indexen zoals die op een soortgelijke manier. 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) waarmee de weergave wordt gedefinieerd, meestal met een of meer SELECT instructies. Houd bij het migreren CREATE VIEW van instructies rekening 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 gelijkwaardige functionaliteit kunt bereiken in Azure Synapse:

  • 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 de schijf-I/O bereiken door gebruik te maken van door de gebruiker gedefinieerde indextypen en/of partitionering Schijf-I/O verminderen verbetert de queryprestaties.

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

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

  • Geclusterde tabellen: Oracle-tabellen kunnen zo worden ingedeeld dat 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 hashclusteroptie voor afzonderlijke tabellen, waarmee een hash-waarde wordt toegepast op de clustersleutel en rijen met dezelfde hashwaarde 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 enkele kolommen regelmatig in query's worden gebruikt. Gerealiseerde weergaven worden automatisch vernieuwd door het systeem wanneer gegevens in de basistabel worden bijgewerkt.

    In 2019 heeft Microsoft aangekondigd dat Azure Synapse gerealiseerde weergaven met dezelfde functionaliteit als in Oracle zal ondersteunen. Gerealiseerde weergaven zijn nu een preview-functie in Azure Synapse.

  • In-database-triggers: in Oracle kan een trigger worden geconfigureerd om automatisch te worden uitgevoerd wanneer er een triggeringgebeurtenis optreedt. Activerende gebeurtenissen kunnen 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 wordt ingevoegd in de tabel klant.

    • 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 het opstarten of afsluiten van de Oracle-database.

    • Een gebruikers gebeurtenis, zoals aanmelden of afmelden.

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

  • Synoniemen: Oracle ondersteunt het definiëren van synoniemen als alternatieve namen voor verschillende typen databaseobjecten. 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 in Azure Synapse een weergave 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. Naar deze objecten kan vervolgens worden verwezen in een tabeldefinitie op dezelfde manier 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 het matrices met gegevens zijn, normaliseert u ze in een afzonderlijke tabel.

SQL DDL-generatie

U kunt bestaande Oracle CREATE TABLE en CREATE VIEW scripts bewerken om gelijkwaardige definities in Azure Synapse te bereiken. Hiervoor moet u mogelijk aangepaste 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 de gegevens van de systeemcatalogus altijd volledig en synchroon met de huidige tabeldefinities. U kunt toegang krijgen tot systeemcatalogusgegevens 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 die is 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 op Azure Synapse.

Schermopname van de menuoptie Snelle DDL in Oracle SQL Developer.

U kunt ook automatisch instructies genereren CREATE TABLE op basis van de gegevens in Oracle-catalogustabellen met behulp van SQL-query's, SSMA of migratiehulpprogramma's van derden . Deze benadering is de snelste en 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, waaronder het toewijzen 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, INSERT, UPDATEen DELETE. Hoewel Oracle en Azure Synapse beide DDL-opdrachten ondersteunen, implementeren ze in sommige gevallen dezelfde opdracht anders.

Tip

De standaard SQL DML-opdrachten SELECT, INSERTen UPDATE kunnen aanvullende syntaxisopties hebben in verschillende databaseomgevingen.

In de volgende secties worden de Oracle-specifieke DML-opdrachten besproken waarmee rekening moet worden gehouden tijdens een migratie naar Azure Synapse.

Verschillen in SQL DML-syntaxis

Er zijn enkele sql DML-syntaxisverschillen tussen Oracle SQL en Azure Synapse T-SQL:

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

    Een voorbeeld van een Oracle-query die gebruikmaakt van de DUAL tabel is SELECT sysdate from dual;. Het Azure Synapse equivalent 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 met lengte 0. In Azure Synapse en de meeste andere databasesNULL, betekent 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 voor outer joins van Oracle: hoewel recentere versies van Oracle ondersteuning bieden voor de syntaxis van de outer join van ANSI, gebruiken oudere Oracle-systemen een eigen syntaxis voor outer joins die een plusteken (+) in de SQL-instructie gebruiken. Als u een oudere Oracle-omgeving migreert, kunt u de oudere syntaxis tegenkomen. Bijvoorbeeld:

    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 standaardsyntaxis van ANSI 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 DATEgegevenstypen , TIMEenDATETIME. Wanneer u Oracle-kolommen DATE migreert, controleert u of deze zowel datum als tijd of alleen een datum bevatten. 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 ontwerpen als een Oracle-tabel via een weergave wordt bijgewerkt.

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

Oracle-functie Description Synapse-equivalent
ADD_MONTHS Een opgegeven aantal maanden optellen DATEADD
CAST Een ingebouwd gegevenstype converteren naar een ander type CAST
DECODEREN Een lijst met voorwaarden evalueren CASE-expressie
EMPTY_BLOB Een lege BLOB-waarde maken 0x constant (lege binaire tekenreeks)
EMPTY_CLOB Een lege CLOB- of NCLOB-waarde maken '' (lege tekenreeks)
INITCAP De eerste letter van elk woord met een hoofdletter Door de gebruiker gedefinieerde functie
INSTR De 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 met linkerpad tot de opgegeven lengte Expressie met REPLICEREN, RECHTS en LINKS
MOD De rest van een deling van een getal door een ander getal ophalen % Operator
MONTHS_BETWEEN Het aantal maanden tussen twee datums ophalen DATEDIFF
NVL Vervangen door NULL expressie ISNULL
SUBSTR Een subtekenreeks van een tekenreeks retourneren SUBSTRING
TO_CHAR voor datum/tijd Datum/tijd converteren naar tekenreeks CONVERT
TO_DATE Een tekenreeks converteren naar datum/tijd CONVERT
VERTALEN Een-op-een-vervanging van éé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. Controleer voor functies, opgeslagen procedures en reeksen 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 de verwerking ervan en wijst u de juiste resources toe in 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 wordt de migratie van functies, opgeslagen procedures en reeksen besproken.

Functions

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 wijzigingen. 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 oracle-gebruiker gedefinieerde functies worden gecodeerd in PL/SQL, Java of C. Azure Synapse de Transact-SQL-taal gebruikt 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 methoden en NEXTVAL . 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.

EXPLAIN gebruiken om verouderde SQL te valideren

Tip

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

Uitgaande van een vergelijkbaar gemigreerd gegevensmodel in Azure Synapse met dezelfde tabel- en kolomnamen, kunt u verouderde Oracle SQL testen op compatibiliteit met Azure Synapse:

  1. Leg enkele representatieve SQL-instructies vast uit de verouderde systeemquerygeschiedenislogboeken.
  2. Voorvoegsel 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 taak voor opnieuw coderen 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 meestal een vorm van dimensionale gegevensmodellen. Deze factoren maken Oracle-installaties een goede kandidaat 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 ongewijzigd 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 het gebruik van gespecialiseerde hulpprogramma's en services van derden 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 oracle-datawarehouse-migratie naar Azure Synapse Analytics.