Konfigurere Oracle-database i en kopiaktivitet
Denne artikkelen beskriver hvordan du bruker kopieringsaktiviteten i datasamlebånd til å kopiere data fra og til Oracle-database.
Støttet konfigurasjon
Hvis du vil ha konfigurasjonen av hver fane under kopieringsaktivitet, kan du gå til følgende inndelinger.
Generelt
Se veiledningen for generelle innstillinger for å konfigurere fanen Generelle innstillinger.
Kilde
Følgende egenskaper støttes for Oracle-database under Kilde-fanen for en kopiaktivitet.
Følgende egenskaper er nødvendige:
- Tilkobling: Velg en Oracle-databasetilkobling fra tilkoblingslisten. Hvis det ikke finnes noen tilkobling, oppretter du en ny Oracle-databasetilkobling ved å velge Mer nederst i tilkoblingslisten.
- Bruk spørring: Velg fra tabell eller spørring.
Hvis du velger Tabell:
Tabell: Angi navnet på tabellen i Oracle-databasen for å lese data. Velg tabellen fra rullegardinlisten, eller velg Enter manuelt for å angi skjema- og tabellnavnet.
Hvis du velger Spørring:
Spørring: Angi den egendefinerte SQL-spørringen som skal leses data. Eksempel:
SELECT * FROM MyTable
.Når du aktiverer partisjonert innlasting, må du koble til eventuelle tilsvarende innebygde partisjonsparametere i spørringen. Du kan for eksempel se delen Parallell kopi fra Oracle-database .
Under Avansert kan du angi følgende felt:
Partisjonsalternativ: Angir alternativene for datapartisjonering som brukes til å laste inn data fra Oracle-database. Når et partisjonsalternativ er aktivert (det vil eksempelvis ikke ingen), styres graden av parallellitet for samtidig innlasting av data fra en Oracle-database av typen kopieringsparallellitet i fanen Innstillinger for kopieringsaktivitet.
Hvis du velger Ingen, velger du ikke å bruke partisjon.
Hvis du velger Fysiske partisjoner av tabellen:
Partisjonsnavn: Angi listen over fysiske partisjoner som må kopieres.
Hvis du bruker en spørring til å hente kildedataene, kan du koble til
?DfTabularPartitionName
WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Oracle-database .
Hvis du velger Dynamisk område:
Partisjonskolonnenavn: Angi navnet på kildekolonnen i heltallstype som skal brukes av områdepartisjonering for parallell kopi. Hvis ikke angitt, oppdages primærnøkkelen for tabellen automatisk og brukes som partisjonskolonne.
Hvis du bruker en spørring til å hente kildedataene, kan du koble til
?DfRangePartitionColumnName
WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Oracle-database .Partisjon øvre grense: Angi maksimumsverdien for partisjonskolonnen for å kopiere data ut.
Hvis du bruker en spørring til å hente kildedataene, kan du koble til
?DfRangePartitionUpbound
WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Parallell kopi fra Oracle-database .Partisjon nedre grense: Angi minimumsverdien for partisjonskolonnen for å kopiere data ut.
Hvis du bruker en spørring til å hente kildedataene, kan du koble til
?DfRangePartitionLowbound
WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Parallell kopi fra Oracle-database .
Tidsavbrudd for spørring (minutter): Angi tidsavbrudd for kjøring av spørringskommando, standard er 120 minutter. Hvis en parameter er angitt for denne egenskapen, er tillatte verdier tidsrom, for eksempel 02:00:00( 120 minutter).
Flere kolonner: Legg til flere datakolonner for å lagre kildefilens relative bane eller statiske verdi. Uttrykket støttes for sistnevnte.
Mål
Følgende egenskaper støttes for Oracle-database under Mål-fanen for en kopiaktivitet.
Følgende egenskaper er nødvendige:
- Tilkobling: Velg en Oracle-databasetilkobling fra tilkoblingslisten. Hvis tilkoblingen ikke finnes, oppretter du en ny Oracle-databasetilkobling ved å velge Mer nederst i tilkoblingslisten.
- Tabell: Velg tabellen i databasen fra rullegardinlisten. Eller merk av for Skriv inn manuelt for å angi skjema- og tabellnavnet.
Under Avansert kan du angi følgende felt:
- Forhåndskopier skript: Angi en SQL-spørring for kopieringsaktiviteten som skal utføres før du skriver data til Oracle-databasen i hver kjøring. Du kan bruke denne egenskapen til å rydde opp i de forhåndslastede dataene.
- Skriv tidsavbrudd for satsvis tidsavbrudd: Ventetiden for at den satsvise innsettingsoperasjonen skal fullføres før den blir tidsavbrutt. Den tillatte verdien er timespan. Et eksempel er 00:30:00 (30 minutter).
- Skrive bunkestørrelse: Angi antall rader som skal settes inn i Oracle-databasetabellen per bunke. Den tillatte verdien er heltall (antall rader). Standardverdien er 10 000.
- Maks samtidige tilkoblinger: Den øvre grensen for samtidige tilkoblinger som ble opprettet i datalageret under aktivitetskjøringen. Angi en verdi bare når du vil begrense samtidige tilkoblinger.
Tilordning
For tilordningsfanekonfigurasjon går du til Konfigurer tilordningene under tilordningsfanen.
Innstillinger
Se Konfigurere de andre innstillingene under innstillinger-fanen for Konfigurasjon av Innstillinger-fanen.
Parallell kopi fra Oracle-database
Oracle-databasekoblingen inneholder innebygd datapartisjonering for å kopiere data fra Oracle-database parallelt. Du finner alternativer for datapartisjonering på Kilde-fanen for kopiaktiviteten.
Når du aktiverer partisjonert kopi, kjører tjenesten parallelle spørringer mot Oracle-databasekilden for å laste inn data etter partisjoner. Den parallelle graden styres av innstillingen For grad av kopieringsparentiellitet i fanen innstillinger for kopieringsaktivitet. Hvis du for eksempel angir grad av kopi parallellisme til fire, genererer og kjører tjenesten samtidig fire spørringer basert på det angitte partisjonsalternativet og innstillingene, og hver spørring henter en del av dataene fra Oracle-databasen.
Du foreslås å aktivere parallell kopi med datapartisjonering, spesielt når du laster inn store mengder data fra Oracle-databasen. Følgende er foreslåtte konfigurasjoner for ulike scenarioer. Når du kopierer data til filbasert datalager, anbefales det å skrive til en mappe som flere filer (bare angi mappenavn), i så fall er ytelsen bedre enn å skrive til én enkelt fil.
Scenario | Foreslåtte innstillinger |
---|---|
Full belastning fra store tabeller, med fysiske partisjoner. | Partisjonsalternativ: Fysiske partisjoner av tabellen. Under kjøringen oppdager tjenesten automatisk de fysiske partisjonene, og kopierer data etter partisjoner. |
Full belastning fra store tabeller, uten fysiske partisjoner, mens med en heltallskolonne for datapartisjonering. | Partisjonsalternativer: Dynamisk områdepartisjon. Partisjonskolonne: Angi kolonnen som brukes til å partisjonere data. Hvis ikke angitt, brukes primærnøkkelkolonnen. |
Last inn en stor mengde data ved hjelp av en egendefinert spørring, med fysiske partisjoner. | Partisjonsalternativer: Fysiske partisjoner av tabellen. Spørring: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause> . Partisjonsnavn: Angi partisjonsnavnet(e) du vil kopiere data fra. Hvis ikke angitt, oppdager tjenesten automatisk de fysiske partisjonene i tabellen du har angitt i Oracle-databasedataene. Under kjøring erstatter tjenesten med det faktiske partisjonsnavnet ?DfTabularPartitionName , og sender til Oracle-databasen. |
Last inn en stor mengde data ved hjelp av en egendefinert spørring, uten fysiske partisjoner, mens du har en heltallskolonne for datapartisjonering. | Partisjonsalternativer: Dynamisk områdepartisjon. Spørring: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause> .Partisjonskolonne: Angi kolonnen som brukes til å partisjonere data. Du kan partisjonere mot kolonnen med heltallsdatatype. Partisjonsgrense og nedre partisjonsgrense: Angi om du vil filtrere mot partisjonskolonnen for å hente data bare mellom nedre og øvre område. Under kjøring erstatter tjenesten ?DfRangePartitionColumnName , ?DfRangePartitionUpbound og ?DfRangePartitionLowbound med det faktiske kolonnenavnet og verdiområder for hver partisjon, og sender til Oracle-database. Hvis for eksempel partisjonskolonnen ID er angitt med nedre grense som 1 og øvre grense som 80, med parallell kopi angitt som 4, henter tjenesten data med 4 partisjoner. ID-ene deres er mellom henholdsvis [1,20], [21, 40], [41, 60] og [61, 80].' |
Tips
Når du kopierer data fra en tabell som ikke er partisjonert, kan du bruke partisjonsalternativet Dynamisk område til å partisjonere mot en heltallskolonne. Hvis kildedataene ikke har en slik kolonnetype, kan du dra nytte av ORA_HASH funksjon i kildespørring for å generere en kolonne og bruke den som partisjonskolonne.
Tabellsammendrag
Tabellene nedenfor inneholder mer informasjon om kopieringsaktiviteten i Oracle-databasen.
Kildeinformasjon
Name | Beskrivelse | Verdi | Kreves | JSON-skriptegenskap |
---|---|---|---|---|
Forbindelse | Tilkoblingen til kildedatalageret. | <Oracle-databasetilkoblingen> | Ja | forbindelse |
Bruk spørring | Måten å lese data fra Oracle-database på. Bruk tabell for å lese data fra den angitte tabellen, eller bruk Spørring på å lese data ved hjelp av SQL-spørringer. | • Tabell • Spørring |
Ja | / |
For tabell | ||||
skjemanavn | Navnet på skjemaet. | < skjemanavnet > | No | schema |
tabellnavn | Navnet på tabellen. | < tabellnavnet > | No | tabellen |
For spørring | ||||
Spørsmål | Bruk den egendefinerte SQL-spørringen til å lese data. Et eksempel er SELECT * FROM MyTable . Når du aktiverer partisjonert innlasting, må du koble til eventuelle tilsvarende innebygde partisjonsparametere i spørringen. Du kan for eksempel se delen Parallell kopi fra Oracle-database . |
< SQL-spørringer > | No | oracleReaderQuery |
Partisjonsalternativ | Alternativene for datapartisjonering som brukes til å laste inn data fra Oracle-database. | • Ingen (standard) • Fysiske partisjoner av tabellen • Dynamisk område |
No | / |
For fysiske partisjoner av tabellen | ||||
Partisjonsnavn | Listen over fysiske partisjoner som må kopieres. Hvis du bruker en spørring til å hente kildedataene, kan du koble til ?DfTabularPartitionName WHERE-setningsdelen. |
< partisjonsnavnene dine > | No | partitionNames |
For dynamisk område | ||||
Partisjonskolonnenavn | Angi navnet på kildekolonnen i heltallstypen som skal brukes av områdepartisjonering for parallell kopi. Hvis ikke angitt, oppdages primærnøkkelen for tabellen automatisk og brukes som partisjonskolonne. Hvis du bruker en spørring til å hente kildedataene, kan du koble til ?DfRangePartitionColumnName WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Oracle-database . |
< navnene på partisjonskolonnen > | No | partitionColumnName |
Partisjonens øvre grense | Angi maksimumsverdien for partisjonskolonnen for å kopiere data ut. Hvis du bruker en spørring til å hente kildedataene, kan du koble til ?DfRangePartitionUpbound WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Parallell kopi fra Oracle-database . |
< partisjonen øvre grense > | No | partitionUpperBound |
Partisjon nedre grense | Angi minimumsverdien for partisjonskolonnen for å kopiere data ut. Hvis du bruker en spørring til å hente kildedataene, kan du koble til ?DfRangePartitionLowbound WHERE-setningsdelen. Du kan for eksempel se delen Parallell kopi fra Parallell kopi fra Oracle-database . |
< partisjonen nedre grense > | No | partitionLowerBound |
Tidsavbrudd for spørring | Tidsavbruddet for kjøring av spørringskommando, standard er 120 minutter. | tidsrom | No | queryTimeout |
Flere kolonner | Legg til flere datakolonner for å lagre kildefilens relative bane eller statiske verdi. Uttrykket støttes for sistnevnte. | • Navn •Verdi |
No | additionalColumns: •navn •verdi |
Målinformasjon
Name | Beskrivelse | Verdi | Kreves | JSON-skriptegenskap |
---|---|---|---|---|
Forbindelse | Tilkoblingen til måldatalageret. | <Oracle-databasetilkoblingen> | Ja | forbindelse |
Tabell | Måldatatabellen. | <navnet på måltabellen> | Ja | / |
skjemanavn | Navnet på skjemaet. | < skjemanavnet > | Ja | schema |
tabellnavn | Navnet på tabellen. | < tabellnavnet > | Ja | tabellen |
Forhåndskopier skript | En SQL-spørring for kopieringsaktiviteten som skal kjøres før du skriver data til Oracle-databasen i hver kjøring. Du kan bruke denne egenskapen til å rydde opp i de forhåndslastede dataene. | < forhåndskopieringsskriptet > | No | preCopyScript |
Tidsavbrudd for skrivegruppe | Ventetiden for at den satsvise innsettingsoperasjonen skal fullføres før den blir tidsavbrutt. | tidsrom | No | writeBatchTimeout |
Skrive bunkestørrelse | Antall rader som skal settes inn i SQL-tabellen per bunke. | integer (standarden er 10 000) |
No | writeBatchSize |
Maksimalt antall samtidige tilkoblinger | Den øvre grensen for samtidige tilkoblinger som ble opprettet i datalageret under aktivitetskjøringen. Angi en verdi bare når du vil begrense samtidige tilkoblinger. | < maks samtidige tilkoblinger > | No | maxConcurrentConnections |