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_INDEXES
enDBA_IND_COL
. U kunt ook query's uitvoeren op dedba_index_usage
weergavenv$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
,UPDATE
ofDELETE
, wordt uitgevoerd. Als u een trigger hebt gedefinieerd die wordt geactiveerd vóór eenINSERT
instructie in een klanttabel, wordt de trigger eenmaal geactiveerd voordat een nieuwe rij in de klanttabel wordt ingevoegd.Een DDL-instructie, zoals
CREATE
ofALTER
, 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
ofVARCHAR
.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.
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.
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
, INSERT
en UPDATE
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
en INSERT
UPDATE
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 dieDUAL
bestaat uit precies één kolom met de naamdummy
en één record met de waardeX
. DeDUAL
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 isSELECT sysdate from dual;
. Het Equivalent van Azure Synapse isSELECT GETDATE();
. Om de migratie van DML te vereenvoudigen, kunt u een equivalenteDUAL
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: eenNULL
waarde in Oracle is een lege tekenreeks, vertegenwoordigd door eenCHAR
ofVARCHAR
tekenreekstype lengte0
. In Azure Synapse en de meeste andere databasesNULL
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 datNULL
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 hetDATE
gegevenstype zowel datum als tijd opslaan. Azure Synapse slaat datum en tijd op in afzonderlijkeDATE
,TIME
enDATETIME
gegevenstypen. Wanneer u Oracle-kolommenDATE
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 aanDATE
, anders aanDATETIME
.DATE
Rekenkundig: Oracle ondersteunt het aftrekken van een datum van een andere, bijvoorbeeldSELECT date '2018-12-31' - date '2018-1201' from dual;
. In Azure Synapse kunt u datums aftrekken met behulp van deDATEDIFF()
functie, bijvoorbeeldSELECT 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 deDATEADD()
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 SEQUENCE
niet, 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:
- Leg enkele representatieve SQL-instructies vast uit de verouderde logboeken voor systeemquerygeschiedenis.
- Voorvoegsel voor deze query's met de
EXPLAIN
instructie. - 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.