Dela via


Konfigurera Oracle-databas i en kopieringsaktivitet

Den här artikeln beskriver hur du använder kopieringsaktiviteten i datapipelinen för att kopiera data från och till Oracle-databasen.

Konfiguration som stöds

För konfigurationen av varje flik under kopieringsaktivitet går du till följande avsnitt.

Allmänt

Se vägledningen allmänna inställningar för att konfigurera fliken Allmänna inställningar.

Källa

Följande egenskaper stöds för Oracle-databasen under fliken Källa i en kopieringsaktivitet.

Skärmbild som visar källfliken och listan med egenskaper.

Följande egenskaper krävs:

  • Anslutning: Välj en Oracle-databasanslutning i anslutningslistan. Om det inte finns någon anslutning skapar du en ny Oracle-databasanslutning genom att välja Mer längst ned i anslutningslistan.
  • Använd fråga: Välj från tabell eller fråga.
    • Om du väljer Tabell:

      • Tabell: Ange namnet på tabellen i Oracle-databasen för att läsa data. Välj tabellen i listrutan eller välj Retur manuellt för att ange schemat och tabellnamnet.

        Skärmbild som visar Använd fråga – tabell.

    • Om du väljer Fråga:

      • Fråga: Ange den anpassade SQL-frågan för att läsa data. Exempel: SELECT * FROM MyTable.

        När du aktiverar partitionerad belastning måste du koppla motsvarande inbyggda partitionsparametrar i frågan. Exempel finns i avsnittet Parallellkopiering från Oracle-databas .

        Skärmbild som visar Använd fråga – fråga.

Under Avancerat kan du ange följande fält:

  • Partitionsalternativ: Anger de datapartitioneringsalternativ som används för att läsa in data från Oracle-databasen. När ett partitionsalternativ är aktiverat (dvs. inte Ingen) styrs graden av parallellitet för att samtidigt läsa in data från en Oracle-databas av grad av kopieringsparallellitet på fliken Inställningar för kopieringsaktivitet.

    Om du väljer Ingen väljer du att inte använda partition.

    Om du väljer Fysiska partitioner i tabellen:

    • Partitionsnamn: Ange listan över fysiska partitioner som måste kopieras.

      Om du använder en fråga för att hämta källdata kopplar ?DfTabularPartitionName du in WHERE-satsen. Ett exempel finns i avsnittet Parallellkopiering från Oracle-databas .

      Skärmbild som visar konfigurationen när du väljer Fysiska partitioner i tabellen.

    Om du väljer Dynamiskt intervall:

    • Partitionskolumnnamn: Ange namnet på källkolumnen i heltalstyp som ska användas av intervallpartitionering för parallell kopiering. Om den inte anges identifieras den primära nyckeln i tabellen automatiskt och används som partitionskolumn.

      Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionColumnName du in WHERE-satsen. Ett exempel finns i avsnittet Parallellkopiering från Oracle-databas .

    • Partitionens övre gräns: Ange maximalt värde för partitionskolumnen för att kopiera ut data.

      Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionUpbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från parallell kopia från Oracle-databas .

    • Partition med lägre gräns: Ange det lägsta värdet för partitionskolumnen för att kopiera ut data.

      Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionLowbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från parallell kopia från Oracle-databas .

      Skärmbild som visar konfigurationen när du väljer Dynamiskt intervall.

  • Tidsgräns för frågor (minuter): Ange tidsgränsen för körning av frågekommandon, standardvärdet är 120 minuter. Om en parameter anges för den här egenskapen är tillåtna värden tidsintervall, till exempel "02:00:00" (120 minuter).

  • Ytterligare kolumner: Lägg till ytterligare datakolumner för att lagra källfilernas relativa sökväg eller statiska värde. Uttrycket stöds för det senare.

Mål

Följande egenskaper stöds för Oracle-databasen under fliken Mål för en kopieringsaktivitet.

Skärmbild som visar målfliken.

Följande egenskaper krävs:

  • Anslutning: Välj en Oracle-databasanslutning i anslutningslistan. Om anslutningen inte finns skapar du en ny Oracle-databasanslutning genom att välja Mer längst ned i anslutningslistan.
  • Tabell: Välj tabellen i databasen i listrutan. Eller markera Ange manuellt för att ange schemat och tabellnamnet.

Under Avancerat kan du ange följande fält:

  • Förkopieringsskript: Ange en SQL-fråga för kopieringsaktiviteten som ska köras innan du skriver data till Oracle-databasen vid varje körning. Du kan använda den här egenskapen för att rensa inlästa data.
  • Tidsgräns för skrivning av batch: Väntetiden för att batchinfogningsåtgärden ska slutföras innan tidsgränsen uppnås. Det tillåtna värdet är tidsintervall. Ett exempel är 00:30:00 (30 minuter).
  • Skriv batchstorlek: Ange antalet rader som ska infogas i Oracle-databastabellen per batch. Det tillåtna värdet är heltal (antal rader). Standardvärdet är 10 000.
  • Maximalt antal samtidiga anslutningar: Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar.

Mappning

För Konfiguration av fliken Mappning går du till Konfigurera dina mappningar under mappningsfliken.

Inställningar

Information om konfiguration av fliken Inställningar finns i Konfigurera dina andra inställningar under fliken Inställningar.

Parallellkopiering från Oracle-databas

Oracle-databasanslutningsappen tillhandahåller inbyggd datapartitionering för att kopiera data från Oracle-databasen parallellt. Du hittar alternativ för datapartitionering på fliken Källa i kopieringsaktiviteten.

När du aktiverar partitionerad kopia kör tjänsten parallella frågor mot Oracle-databaskällan för att läsa in data efter partitioner. Den parallella graden styrs av inställningen Grad av kopieringsparallellitet på fliken inställningar för kopieringsaktivitet. Om du till exempel anger Grad av kopieringsparallellitet till fyra genererar och kör tjänsten samtidigt fyra frågor baserat på ditt angivna partitionsalternativ och inställningar, och varje fråga hämtar en del av data från Oracle-databasen.

Du rekommenderas att aktivera parallell kopiering med datapartitionering, särskilt när du läser in stora mängder data från Oracle-databasen. Följande är föreslagna konfigurationer för olika scenarier. När du kopierar data till filbaserat datalager rekommenderar vi att du skriver till en mapp som flera filer (anger endast mappnamn), i vilket fall prestandan är bättre än att skriva till en enda fil.

Scenario Föreslagna inställningar
Full belastning från en stor tabell med fysiska partitioner. Partitionsalternativ: Fysiska partitioner i tabellen.

Under körningen identifierar tjänsten automatiskt de fysiska partitionerna och kopierar data efter partitioner.
Full belastning från stor tabell, utan fysiska partitioner, medan med en heltalskolumn för datapartitionering. Partitionsalternativ: Partition med dynamiskt intervall.
Partitionskolumn: Ange den kolumn som används för att partitionera data. Om den inte anges används primärnyckelkolumnen.
Läs in en stor mängd data med hjälp av en anpassad fråga med fysiska partitioner. Partitionsalternativ: Fysiska partitioner i tabellen.
Fråga: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause>.

Partitionsnamn: Ange partitionsnamnen som du vill kopiera data från. Om det inte anges identifierar tjänsten automatiskt de fysiska partitionerna i tabellen som du angav i Oracle-databasdata.
Under körningen ersätter tjänsten med det faktiska partitionsnamnet ?DfTabularPartitionName och skickar till Oracle-databasen.
Läs in en stor mängd data med hjälp av en anpassad fråga, utan fysiska partitioner, medan du har en heltalskolumn för datapartitionering. Partitionsalternativ: Partition med dynamiskt intervall.
Fråga: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause>.
Partitionskolumn: Ange den kolumn som används för att partitionera data. Du kan partitionera mot kolumnen med heltalsdatatypen.
Partitionens övre gräns och partitionens nedre gräns: Ange om du vill filtrera mot partitionskolumnen för att hämta data endast mellan det nedre och det övre intervallet.

Under körningen ersätter ?DfRangePartitionColumnNametjänsten , ?DfRangePartitionUpboundoch ?DfRangePartitionLowbound med det faktiska kolumnnamnet och värdeintervallen för varje partition och skickar till Oracle-databasen.
Om till exempel partitionskolumnen "ID" har angetts med den nedre gränsen som 1 och den övre gränsen som 80, med parallell kopiering inställd som 4, hämtar tjänsten data med 4 partitioner. Deras ID är mellan [1,20], [21, 40], [41, 60] respektive [61, 80].

Dricks

När du kopierar data från en icke-partitionerad tabell kan du använda partitionsalternativet "Dynamiskt intervall" för att partitionera mot en heltalskolumn. Om dina källdata inte har en sådan typ av kolumn kan du använda ORA_HASH funktion i källfrågan för att generera en kolumn och använda den som partitionskolumn.

Tabellsammanfattning

Följande tabeller innehåller mer information om kopieringsaktiviteten i Oracle-databasen.

Källinformation

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Anslutning Din anslutning till källdatalagret. <din Oracle-databasanslutning> Ja anslutning
Använda fråga Sättet att läsa data från Oracle-databasen. Använd tabell för att läsa data från den angivna tabellen eller tillämpa Fråga för att läsa data med SQL-frågor. Tabell
Fråga
Ja /
För tabell
schemanamn Namnet på schemat. < ditt schemanamn > Nej schema
tabellnamn Tabellens namn. < ditt tabellnamn > Nej table
För fråga
Fråga Använd den anpassade SQL-frågan för att läsa data. Ett exempel är SELECT * FROM MyTable.
När du aktiverar partitionerad belastning måste du koppla motsvarande inbyggda partitionsparametrar i frågan. Exempel finns i avsnittet Parallellkopiering från Oracle-databas .
< SQL-frågor > Nej oracleReaderQuery
Partitionsalternativ De datapartitioneringsalternativ som används för att läsa in data från Oracle-databasen. Ingen (standard)
Fysiska partitioner av tabellen
Dynamiskt intervall
Nej /
För fysiska partitioner i tabellen
Partitionsnamn Listan över fysiska partitioner som måste kopieras. Om du använder en fråga för att hämta källdata kopplar ?DfTabularPartitionName du in WHERE-satsen. < dina partitionsnamn > Nej partitionNames
För dynamiskt intervall
Partitionskolumnnamn Ange namnet på källkolumnen i heltalstyp som ska användas av intervallpartitionering för parallell kopiering. Om den inte anges identifieras den primära nyckeln i tabellen automatiskt och används som partitionskolumn.
Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionColumnName du in WHERE-satsen. Ett exempel finns i avsnittet Parallellkopiering från Oracle-databas .
< dina partitionskolumnnamn > Nej partitionColumnName
Partitionens övre gräns Ange maximalt värde för partitionskolumnen för att kopiera ut data. Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionUpbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från parallell kopia från Oracle-databas . < partitionens övre gräns > Nej partitionUpperBound
Partition, nedre gräns Ange det minsta värdet för partitionskolumnen för att kopiera ut data. Om du använder en fråga för att hämta källdata kopplar ?DfRangePartitionLowbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från parallell kopia från Oracle-databas . < partitionens nedre gräns > Nej partitionLowerBound
Tidsgräns för frågor Tidsgränsen för körning av frågekommandon är standardvärdet 120 minuter. tidsintervall Nej queryTimeout
Ytterligare kolumner Lägg till ytterligare datakolumner för att lagra källfilernas relativa sökväg eller statiska värde. Uttrycket stöds för det senare. • Namn
•Värde
Nej additionalColumns:
•Namn
•värde

Målinformation

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Anslutning Din anslutning till måldatalagret. <din Oracle-databasanslutning> Ja anslutning
Tabell Måldatatabellen. <namn på måltabellen> Ja /
schemanamn Namnet på schemat. < ditt schemanamn > Ja schema
tabellnamn Tabellens namn. < ditt tabellnamn > Ja table
Förkopieringsskript En SQL-fråga för kopieringsaktiviteten som ska köras innan du skriver data till Oracle-databasen i varje körning. Du kan använda den här egenskapen för att rensa inlästa data. < ditt förkopieringsskript > Nej preCopyScript
Tidsgräns för skrivning av batch Väntetiden för att batchinfogningsåtgärden ska slutföras innan tidsgränsen uppnås. tidsintervall Nej writeBatchTimeout
Skriv batchstorlek Antalet rader som ska infogas i SQL-tabellen per batch. integer
(standardvärdet är 10 000)
Nej writeBatchSize
Maximalt antal samtidiga anslutningar Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar. < maximalt antal samtidiga anslutningar > Nej maxConcurrentConnections