Share via


Oracle-database configureren in een kopieeractiviteit

In dit artikel wordt beschreven hoe u de kopieeractiviteit in de gegevenspijplijn gebruikt om gegevens van en naar oracledatabase te kopiëren.

Ondersteunde configuratie

Voor de configuratie van elk tabblad onder kopieeractiviteit gaat u respectievelijk naar de volgende secties.

Algemeen

Raadpleeg de richtlijnen voor algemene instellingen voor het configureren van het tabblad Algemene instellingen.

Bron

De volgende eigenschappen worden ondersteund voor Oracle-database op het tabblad Bron van een kopieeractiviteit.

Schermopname van het brontabblad en de lijst met eigenschappen.

De volgende eigenschappen zijn vereist:

  • Verbinding: Selecteer een Oracle-databaseverbinding in de lijst met verbindingen. Als er geen verbinding bestaat, maakt u een nieuwe Oracle-databaseverbinding door onder aan de lijst met verbindingen meer te selecteren.
  • Query gebruiken: Selecteren uit tabel of query.
    • Als u Tabel selecteert:

      • Tabel: Geef de naam van de tabel in de Oracle-database op om gegevens te lezen. Selecteer de tabel in de vervolgkeuzelijst of selecteer Handmatig Enter om de schema- en tabelnaam in te voeren.

        Schermopname van Use query - Table.

    • Als u Query selecteert:

      • Query: Geef de aangepaste SQL-query op om gegevens te lezen. Voorbeeld: SELECT * FROM MyTable.

        Wanneer u gepartitioneerde belasting inschakelt, moet u eventuele bijbehorende ingebouwde partitieparameters in uw query koppelen. Zie de sectie Parallelle kopie uit de Oracle-database voor voorbeelden.

        Schermopname van Query gebruiken - Query.

Onder Geavanceerd kunt u de volgende velden opgeven:

  • Partitieoptie: hiermee geeft u de opties voor gegevenspartitionering op die worden gebruikt om gegevens uit de Oracle-database te laden. Wanneer een partitieoptie is ingeschakeld (dat wil niet geen), wordt de mate van parallelle uitvoering om gegevens uit een Oracle-database gelijktijdig te laden, beheerd door mate van kopieerparallelisme op het tabblad Instellingen voor kopieeractiviteit.

    Als u Geen selecteert, kiest u ervoor om partitie niet te gebruiken.

    Als u fysieke partities van de tabel selecteert:

    • Partitienamen: geef de lijst met fysieke partities op die moeten worden gekopieerd.

      Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfTabularPartitionName aan de WHERE-component. Zie de sectie Parallelle kopie uit de Oracle-database voor een voorbeeld.

      Schermopname van de configuratie wanneer u fysieke partities van de tabel selecteert.

    Als u dynamisch bereik selecteert:

    • Naam van partitiekolom: geef de naam op van de bronkolom in het gehele getal dat wordt gebruikt door bereikpartitionering voor parallelle kopie. Als deze niet is opgegeven, wordt de primaire sleutel van de tabel automatisch gedetecteerd en gebruikt als partitiekolom.

      Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionColumnName aan de WHERE-component. Zie de sectie Parallelle kopie uit de Oracle-database voor een voorbeeld.

    • Bovengrens partitioneren: geef de maximumwaarde van de partitiekolom op om gegevens te kopiëren.

      Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionUpbound aan de WHERE-component. Zie voor een voorbeeld de parallelle kopie uit parallelle kopie uit de sectie Oracle-database .

    • Ondergrens partitie: geef de minimumwaarde van de partitiekolom op om gegevens te kopiëren.

      Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionLowbound aan de WHERE-component. Zie voor een voorbeeld de parallelle kopie uit parallelle kopie uit de sectie Oracle-database .

      Schermopname van de configuratie wanneer u Dynamisch bereik selecteert.

  • Time-out voor query 's (minuten):geef de time-out op voor het uitvoeren van queryopdrachten. De standaardwaarde is 120 minuten. Als een parameter voor deze eigenschap is ingesteld, zijn toegestane waarden tijdspanne, zoals '02:00:00' (120 minuten).

  • Aanvullende kolommen: voeg extra gegevenskolommen toe om het relatieve pad of de statische waarde van bronbestanden op te slaan. Expressie wordt ondersteund voor de laatste.

Bestemming

De volgende eigenschappen worden ondersteund voor Oracle-database op het tabblad Bestemming van een kopieeractiviteit.

Schermopname van het doeltabblad.

De volgende eigenschappen zijn vereist:

  • Verbinding: Selecteer een Oracle-databaseverbinding in de lijst met verbindingen. Als de verbinding niet bestaat, maakt u een nieuwe Oracle-databaseverbinding door onder aan de lijst met verbindingen meer te selecteren.
  • Tabel: Selecteer de tabel in uw database in de vervolgkeuzelijst. Of schakel Enter handmatig in om de schema- en tabelnaam in te voeren.

Onder Geavanceerd kunt u de volgende velden opgeven:

  • Script vooraf kopiëren: geef in elke uitvoering een SQL-query op voor de kopieeractiviteit die moet worden uitgevoerd voordat u gegevens naar de Oracle-database schrijft. U kunt deze eigenschap gebruiken om de vooraf geladen gegevens op te schonen.
  • Time-out voor batch schrijven: de wachttijd voor de batchinvoegbewerking die moet worden voltooid voordat er een time-out optreedt. De toegestane waarde is tijdspanne. Een voorbeeld is 00:30:00 (30 minuten).
  • Batchgrootte schrijven: geef het aantal rijen op dat in de Oracle-databasetabel per batch moet worden ingevoegd. De toegestane waarde is een geheel getal (aantal rijen). De standaardwaarde is 10.000.
  • Maximum aantal gelijktijdige verbindingen: de bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken.

Toewijzing

Voor de configuratie van het tabblad Toewijzing gaat u naar De toewijzingen configureren onder het tabblad Toewijzing.

Instellingen

Zie Uw andere instellingen configureren op het tabblad Instellingen onder het tabblad Instellingen.

Parallel kopiëren vanuit Oracle-database

De Oracle-databaseconnector biedt ingebouwde gegevenspartitionering om gegevens parallel uit de Oracle-database te kopiëren. U vindt opties voor gegevenspartitionering op het tabblad Bron van de kopieeractiviteit.

Wanneer u gepartitioneerde kopie inschakelt, voert de service parallelle query's uit op uw Oracle-databasebron om gegevens te laden op partities. De parallelle graad wordt bepaald door de instelling Voor parallelle uitvoering van kopiëren op het tabblad Instellingen voor kopieeractiviteit. Als u bijvoorbeeld Mate van kopieerparallelisme instelt op vier, genereert en voert de service gelijktijdig vier query's uit op basis van de opgegeven partitieoptie en -instellingen, en haalt elke query een deel van de gegevens op uit uw Oracle-database.

U wordt aangeraden om parallel kopiëren met gegevenspartitionering in te schakelen, met name wanneer u grote hoeveelheden gegevens uit uw Oracle-database laadt. Hier volgen voorgestelde configuraties voor verschillende scenario's. Wanneer u gegevens kopieert naar een bestandsgegevensarchief, is het raadzaam om naar een map te schrijven als meerdere bestanden (alleen mapnaam opgeven), in welk geval de prestaties beter zijn dan schrijven naar één bestand.

Scenario Voorgestelde instellingen
Volledige belasting van grote tabellen, met fysieke partities. Partitieoptie: fysieke partities van de tabel.

Tijdens de uitvoering detecteert de service automatisch de fysieke partities en kopieert de gegevens per partitie.
Volledige belasting van grote tabellen, zonder fysieke partities, terwijl met een kolom met gehele getallen voor gegevenspartitionering. Partitieopties: partitie dynamisch bereik.
Partitiekolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren. Als dit niet is opgegeven, wordt de primaire-sleutelkolom gebruikt.
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, met fysieke partities. Partitieopties: fysieke partities van de tabel.
Query: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause>.

Partitienaam: geef de partitienaam(en) op waaruit u gegevens wilt kopiëren. Als dit niet is opgegeven, detecteert de service automatisch de fysieke partities in de tabel die u hebt opgegeven in de Oracle-databasegegevens.
Tijdens de uitvoering vervangt de service door ?DfTabularPartitionName de werkelijke partitienaam en verzendt deze naar de Oracle-database.
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, zonder fysieke partities, terwijl met een kolom geheel getal voor gegevenspartitionering. Partitieopties: partitie dynamisch bereik.
Query: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause>.
Partitiekolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren. U kunt partitioneren op basis van de kolom met een gegevenstype geheel getal.
Bovengrens en partitieondergrens partitioneren: geef op of u wilt filteren op partitiekolom om alleen gegevens op te halen tussen het onderste en bovenste bereik.

Tijdens de uitvoering vervangt ?DfRangePartitionColumnNamede service, ?DfRangePartitionUpbounden ?DfRangePartitionLowbound door de werkelijke kolomnaam en waardebereiken voor elke partitie en verzendt deze naar de Oracle-database.
Als de partitiekolom 'ID' bijvoorbeeld is ingesteld met de ondergrens 1 en de bovengrens als 80, waarbij parallelle kopie is ingesteld als 4, haalt de service gegevens op met 4 partities. Hun id's liggen tussen [1.20], [21, 40], [41, 60] en [61, 80].

Tip

Wanneer u gegevens kopieert uit een niet-gepartitioneerde tabel, kunt u de partitieoptie Dynamisch bereik gebruiken om te partitioneren op basis van een kolom met gehele getallen. Als uw brongegevens niet over een dergelijk type kolom beschikken, kunt u in de bronquery gebruikmaken van ORA_HASH functie om een kolom te genereren en te gebruiken als partitiekolom.

Tabelsamenvatting

De volgende tabellen bevatten meer informatie over de kopieeractiviteit in de Oracle-database.

Brongegevens

Name Beschrijving Waarde Vereist JSON-scripteigenschap
Verbinding Uw verbinding met het brongegevensarchief. <uw Oracle-databaseverbinding> Ja verbinding
Query gebruiken De manier om gegevens te lezen uit de Oracle-database. Pas tabel toe om gegevens uit de opgegeven tabel te lezen of pas Query toe om gegevens te lezen met behulp van SQL-query's. Tafel
Query
Ja /
Voor tabel
schemanaam Naam van het schema. < uw schemanaam > Nee schema
tabelnaam Naam van de tabel. < de tabelnaam > Nee table
Voor query
Query Gebruik de aangepaste SQL-query om gegevens te lezen. Een voorbeeld is SELECT * FROM MyTable.
Wanneer u gepartitioneerde belasting inschakelt, moet u eventuele bijbehorende ingebouwde partitieparameters in uw query koppelen. Zie de sectie Parallelle kopie uit de Oracle-database voor voorbeelden.
< SQL-query's > Nee oracleReaderQuery
Partitieoptie De opties voor gegevenspartitionering die worden gebruikt om gegevens uit de Oracle-database te laden. Geen (standaard)
Fysieke partities van tabel
Dynamisch bereik
Nee /
Voor fysieke partities van tabel
Partitienamen De lijst met fysieke partities die moeten worden gekopieerd. Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfTabularPartitionName aan de WHERE-component. < uw partitienamen > Nee partitionNames
Voor dynamisch bereik
Naam van partitiekolom Geef de naam op van de bronkolom in het type geheel getal dat wordt gebruikt door bereikpartitionering voor parallelle kopie. Als deze niet is opgegeven, wordt de primaire sleutel van de tabel automatisch gedetecteerd en gebruikt als partitiekolom.
Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionColumnName aan de WHERE-component. Zie de sectie Parallelle kopie uit de Oracle-database voor een voorbeeld.
< namen van partitiekolommen > Nee partitionColumnName
Bovengrens partitioneren Geef de maximumwaarde van de partitiekolom op om gegevens te kopiëren. Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionUpbound aan de WHERE-component. Zie voor een voorbeeld de parallelle kopie uit parallelle kopie uit de sectie Oracle-database . < uw partitie bovengrens > Nee partitionUpperBound
Ondergrens van partitie Geef de minimale waarde van de partitiekolom op om gegevens te kopiëren. Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfRangePartitionLowbound aan de WHERE-component. Zie voor een voorbeeld de parallelle kopie uit parallelle kopie uit de sectie Oracle-database . < uw partitie ondergrens > Nee partitionLowerBound
Time-out van query De time-out voor het uitvoeren van queryopdrachten is standaard 120 minuten. tijdsbestek Nee queryTimeout
Aanvullende kolommen Voeg extra gegevenskolommen toe om het relatieve pad of de statische waarde van bronbestanden op te slaan. Expressie wordt ondersteund voor de laatste. • Naam
•Waarde
Nee additionalColumns:
•naam
•waarde

Doelgegevens

Name Beschrijving Waarde Vereist JSON-scripteigenschap
Verbinding Uw verbinding met het doelgegevensarchief. <uw Oracle-databaseverbinding> Ja verbinding
Tabel Uw doelgegevenstabel. <naam van de doeltabel> Ja /
schemanaam Naam van het schema. < uw schemanaam > Ja schema
tabelnaam Naam van de tabel. < de tabelnaam > Ja table
Script vooraf kopiëren Een SQL-query voor de kopieeractiviteit die moet worden uitgevoerd voordat u in elke uitvoering gegevens naar de Oracle-database schrijft. U kunt deze eigenschap gebruiken om de vooraf geladen gegevens op te schonen. < uw script vooraf kopiëren > Nee preCopyScript
Time-out voor batchbewerkingen schrijven De wachttijd voordat de batchinvoegbewerking is voltooid voordat er een time-out optreedt. tijdsbestek Nee writeBatchTimeout
Grootte van schrijfbatch Het aantal rijen dat moet worden ingevoegd in de SQL-tabel per batch. geheel getal
(de standaardwaarde is 10.000)
Nee writeBatchSize
Maximum aantal gelijktijdige verbindingen De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. < maximum aantal gelijktijdige verbindingen > Nee maxConcurrentConnections