Konfigurácia databázy Oracle v kopírovanej aktivite
Tento článok popisuje, ako používať aktivitu kopírovania v kanáli údajov na kopírovanie údajov z databázy Oracle a do jej databázy.
Podporovaná konfigurácia
Ak chcete nastaviť každú kartu v časti Aktivita kopírovania, prejdite do nasledujúcich sekcií.
Všeobecné
Ak chcete nakonfigurovať kartu Všeobecné nastavenia, prečítajte si tému Všeobecné pokyny na nastavenie.
Source
Pre databázu Oracle na karte Zdroj kopírovanej aktivity sú podporované nasledujúce vlastnosti.
Vyžadujú sa nasledujúce vlastnosti:
- Pripojenie: Zo zoznamu pripojení vyberte pripojenie k databáze Oracle. Ak pripojenie neexistuje, vytvorte nové pripojenie k databáze Oracle výberom položky Viac v dolnej časti zoznamu pripojení.
- Použiť dotaz: Vyberte položku z tabuľky alebo dotazu.
Ak vyberiete možnosť Tabuľka:
Tabuľka: zadajte názov tabuľky v databáze Oracle, ktorá sa má čítať údaje. Vyberte tabuľku z rozbaľovacieho zoznamu alebo vyberte položku Zadať manuálne a zadajte schému a názov tabuľky.
Ak vyberiete položku Dotaz:
Dotaz: zadajte vlastný dotaz SQL na čítanie údajov. Napríklad:
SELECT * FROM MyTable
.Keď povolíte načítanie oblastí, musíte zahájiť všetky zodpovedajúce parametre vstavanej oblasti v dotaze. Príklady nájdete v časti Paralelná kópia z databázy Oracle.
V časti Rozšírené môžete zadať nasledujúce polia:
Možnosť oblasti: Určuje možnosti rozdelenia údajov používané na načítanie údajov z databázy Oracle. Keď je povolená možnosť oblasti (to znamená, že nie je žiadna), úroveň paralelného načítania údajov z databázy Oracle je na karte Nastavenia kopírovania aktivity riadená stupne paralelného spracovania .
Ak vyberiete možnosť Žiadne, vyberiete možnosť nepoužiť oblasť.
Ak vyberiete položku Fyzické oblasti tabuľky:
Názvy oblastí: zadajte zoznam fyzických oblastí, ktoré sa majú skopírovať.
Ak na načítanie zdrojových údajov použijete dotaz, zadajte
?DfTabularPartitionName
klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia z databázy Oracle.
Ak vyberiete položku Dynamický rozsah:
Názov stĺpca oblasti: zadajte názov zdrojového stĺpca celočíselného typu , ktorý sa použije na rozdelenie rozsahu pre paralelnú kópiu. Ak parameter nie je zadaný, primárny kľúč tabuľky sa automaticky rozpozná a použije ako stĺpec oblasti.
Ak na načítanie zdrojových údajov použijete dotaz, zadajte
?DfRangePartitionColumnName
klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia z databázy Oracle.Horná hranica oblasti: zadajte maximálnu hodnotu stĺpca oblasti, z ktorých sa majú kopírovať údaje.
Ak na načítanie zdrojových údajov použijete dotaz, zadajte
?DfRangePartitionUpbound
klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia zo súbežnej kópie z databázy Oracle.Dolná hranica oblasti: zadajte minimálnu hodnotu stĺpca oblasti, z ktorých sa majú kopírovať údaje.
Ak na načítanie zdrojových údajov použijete dotaz, zadajte
?DfRangePartitionLowbound
klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia zo súbežnej kópie z databázy Oracle.
Časový limit dotazu (minúty): Zadajte časový limit pre vykonanie príkazu dotazu, predvolená hodnota je 120 minút. Ak je parameter nastavený pre túto vlastnosť, povolené hodnoty sú časové rozpätie, napríklad 02:00:00 (120 minút).
Ďalšie stĺpce: Pridajte ďalšie stĺpce údajov na ukladanie relatívnej cesty alebo statickej hodnoty zdrojových súborov. Pre druhý sa podporuje výraz.
Cieľ
Pre databázu Oracle na karte Cieľ kopírovanej aktivity sú podporované nasledujúce vlastnosti.
Vyžadujú sa nasledujúce vlastnosti:
- Pripojenie: Zo zoznamu pripojení vyberte pripojenie k databáze Oracle. Ak pripojenie neexistuje, vytvorte nové pripojenie k databáze Oracle výberom položky Viac v dolnej časti zoznamu pripojení.
- Tabuľka: Z rozbaľovacieho zoznamu vyberte tabuľku v databáze. Prípadne začiarknite políčko Zadať manuálne a zadajte schému a názov tabuľky.
V časti Rozšírené môžete zadať nasledujúce polia:
- Skript pred kopírovaním: Zadajte dotaz SQL pre aktivitu kopírovania, ktorá sa má vykonať pred zápisom údajov do databázy Oracle pri každom spustení. Pomocou tejto vlastnosti môžete vyčistiť vopred načítané údaje.
- Časový limit dávkovania: Čas čakania na dokončenie operácie vkladania dávky pred uplynutím časového limitu. Povolená hodnota je časové rozpätie. Príkladom je 00:30:00 (30 minút).
- Písanie veľkosti dávky: Zadajte počet riadkov, ktoré sa majú vložiť do tabuľky databázy Oracle pre každú dávku. Povolená hodnota je celé číslo (počet riadkov). Predvolená hodnota je 10 000.
- Maximálny počet súbežných pripojení: Horná hranica súbežných pripojení vytvorených do ukladacieho priestoru údajov počas spustenia aktivity. Zadajte hodnotu iba vtedy, keď chcete obmedziť súbežné pripojenia.
Mapovanie
V časti Konfigurácia karty Mapovanie prejdite na položku Konfigurácia priradení na karte priradenia.
Nastavenia
Informácie o konfigurácii karty Nastavenia nájdete v téme Konfigurácia ďalších nastavení na karte Nastavenia.
Paralelná kópia z databázy Oracle
Konektor databázy Oracle poskytuje vstavané rozdelenie údajov na súbežné kopírovanie údajov z databázy Oracle. Možnosti rozdelenia údajov nájdete v aktivite kopírovania na karte Zdroj .
Keď povolíte rozdeľovanie kópie, služba spustí paralelné dotazy v zdroji databázy Oracle a načíta údaje podľa oblastí. Paralelný stupeň je ovládaný nastavením Degree of copy parallelism (Stupeň paralelného spracovania) na karte Nastavenia aktivity kopírovania. Ak napríklad nastavíte stupeň paralelného kopírovania na štyri, služba súbežne vygeneruje a spustí štyri dotazy na základe zadanej možnosti a nastavení oblasti a každý dotaz načíta časť údajov z databázy Oracle.
Odporúčame povoliť paralelnú kópiu s rozdelením údajov najmä vtedy, keď načítate veľké množstvo údajov z databázy Oracle. Nižšie sú uvedené navrhované konfigurácie pre rôzne scenáre. Pri kopírovaní údajov do úložiska údajov založených na súbore sa odporúča zapísať do priečinka ako viacero súborov (zadať iba názov priečinka). V takom prípade je výkon lepší ako zapisovanie do jedného súboru.
Scenár | Navrhované nastavenia |
---|---|
Úplné načítanie z veľkej tabuľky pomocou fyzických oblastí. | Možnosť oblasti: Fyzické oblasti tabuľky. Počas spustenia služba automaticky rozpozná fyzické oblasti a skopíruje údaje podľa oblastí. |
Úplné načítanie z veľkej tabuľky bez fyzických oblastí, zatiaľ čo v celočíselnom stĺpci na rozdelenie údajov. | Možnosti oblasti: Oblasť dynamického rozsahu. Stĺpec oblasti: zadajte stĺpec, ktorý sa používa na rozdelenie údajov. Ak parameter nie je zadaný, použije sa stĺpec primárneho kľúča. |
Načítajte veľké množstvo údajov pomocou vlastného dotazu s fyzickými oblasťami. | Možnosti oblasti: Fyzické oblasti tabuľky. Dotaz: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause> . Názov oblasti: zadajte názov oblasti, z ktorých sa majú kopírovať údaje. Ak parameter nie je zadaný, služba automaticky zistí fyzické oblasti v tabuľke, ktorú ste zadali v údajoch databázy Oracle. Počas spustenia sa služba nahradí ?DfTabularPartitionName skutočným názvom oblasti a odošle do databázy Oracle. |
Načítať veľké množstvo údajov pomocou vlastného dotazu bez fyzických oblastí, zatiaľ čo so stĺpcom celým číslom na rozdelenie údajov. | Možnosti oblasti: Oblasť dynamického rozsahu. Dotaz: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause> .Stĺpec oblasti: zadajte stĺpec, ktorý sa používa na rozdelenie údajov. Oblasť môžete rozdeliť na stĺpec s celočíselným typom údajov. Horná hranica oblasti a dolná hranica oblasti: Zadajte, či chcete filtrovať podľa stĺpca oblasti, aby sa načítali údaje len medzi dolným a horným rozsahom. Počas spustenia služba nahradí ?DfRangePartitionColumnName , ?DfRangePartitionUpbound a ?DfRangePartitionLowbound skutočný názov stĺpca a rozsahy hodnôt pre každú oblasť a odošle do databázy Oracle. Ak je napríklad stĺpec oblasti "ID" nastavený s dolou väzbou ako 1 a hornou väzbou ako 80, pričom paralelná kópia je nastavená ako 4, služba načíta údaje podľa 4 oblastí. Ich ID je v rozsahu [1,20], [21, 40], [41, 60] a [61, 80]." |
Prepitné
Pri kopírovaní údajov z tabuľky, ktorá nie je rozdelená, môžete použiť možnosť oblasti Dynamického rozsahu na rozdelenie do celočíselného stĺpca. Ak zdrojové údaje nemajú takýto typ stĺpca, môžete v zdrojovom dotaze využiť funkciu ORA_HASH na generovanie stĺpca a použiť ho ako stĺpec oblasti.
Súhrn tabuľky
Nasledujúce tabuľky obsahujú ďalšie informácie o aktivite kopírovania v databáze Oracle.
Zdrojové informácie
Názov | Popis | Value | Požaduje sa | Vlastnosť skriptu JSON |
---|---|---|---|---|
Pripojenie | Pripojenie k zdrojového úložisku údajov. | <pripojenie k databáze Oracle,> | Áno | pripojenie |
Použiť dotaz | Spôsob čítania údajov z databázy Oracle. Použite tabuľku na čítanie údajov zo zadanej tabuľky alebo použite dotaz na čítanie údajov pomocou dotazov SQL. | • Tabuľka • Dotaz |
Áno | / |
Pre tabuľku | ||||
názov schémy | Názov schémy. | < názov schémy > | No | schéma |
názov tabuľky | Názov tabuľky. | < názov tabuľky > | No | table |
Pre dotaz | ||||
Otázka | Na čítanie údajov použite vlastný dotaz SQL. Príkladom je adresa SELECT * FROM MyTable . Keď povolíte načítanie oblastí, musíte zahájiť všetky zodpovedajúce parametre vstavanej oblasti v dotaze. Príklady nájdete v časti Paralelná kópia z databázy Oracle. |
< Dotazy SQL > | No | oracleReaderQuery |
Možnosť oblasti | Možnosti rozdelenia údajov používané na načítanie údajov z databázy Oracle. | • Žiadne (predvolené) • Fyzické oblasti tabuľky • Dynamický rozsah |
No | / |
Pre fyzické oblasti tabuľky | ||||
Názvy oblastí | Zoznam fyzických oblastí, ktoré sa majú skopírovať. Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfTabularPartitionName klauzulu WHERE. |
< názvy oblastí > | No | partitionNames |
Pre dynamický rozsah | ||||
Názov stĺpca oblasti | Zadajte názov zdrojového stĺpca v celočíselnom type , ktorý sa použije na rozdelenie rozsahu pre paralelnú kópiu. Ak parameter nie je zadaný, primárny kľúč tabuľky sa automaticky rozpozná a použije ako stĺpec oblasti. Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfRangePartitionColumnName klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia z databázy Oracle. |
< názvy stĺpcov oblasti > | No | partitionColumnName |
Horná hranica oblasti | Zadajte maximálnu hodnotu stĺpca oblasti na skopírovanie údajov. Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfRangePartitionUpbound klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia zo súbežnej kópie z databázy Oracle. |
< horná hranica oblasti > | No | partitionUpperBound |
Dolná hranica oblasti | Zadajte minimálnu hodnotu stĺpca oblasti, z ktorých sa majú kopírovať údaje. Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfRangePartitionLowbound klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia zo súbežnej kópie z databázy Oracle. |
< dolná hranica oblasti > | No | partitionLowerBound |
Časový limit dotazu | Časový limit pre vykonanie príkazu dotazu je predvolene 120 minút. | časové rozpätie | No | queryTimeout (časový limit dotazu) |
Ďalšie stĺpce | Pridajte ďalšie stĺpce údajov na ukladanie relatívnej cesty alebo statickej hodnoty zdrojových súborov. Pre druhý sa podporuje výraz. | •Meno •Hodnota |
No | additionalColumns: •meno •hodnota |
Informácie o cieli
Názov | Popis | Value | Požaduje sa | Vlastnosť skriptu JSON |
---|---|---|---|---|
Pripojenie | Vaše pripojenie do cieľového úložiska údajov. | <pripojenie k databáze Oracle,> | Áno | pripojenie |
Table | Vaša cieľová tabuľka údajov. | <názov cieľovej tabuľky> | Áno | / |
názov schémy | Názov schémy. | < názov schémy > | Áno | schéma |
názov tabuľky | Názov tabuľky. | < názov tabuľky > | Áno | table |
Pred kopírovaním skriptu | Dotaz SQL na vykonanie kopírovanej aktivity pred zapísaním údajov do databázy Oracle v každom spustení. Pomocou tejto vlastnosti môžete vyčistiť vopred načítané údaje. | < váš skript pred kopírovaním > | No | preCopyScript |
Časový limit na písanie dávky | Čas čakania na dokončenie operácie vkladania dávky pred uplynutím limitu. | časové rozpätie | No | writeBatchTimeout |
Veľkosť dávky zápisu | Počet riadkov, ktoré sa majú vložiť do tabuľky SQL na každú dávku. | celé číslo (predvolená hodnota je 10 000) |
No | writeBatchSize |
Maximálny počet súbežných pripojení | Horná hranica súbežných pripojení vytvorených do ukladacieho priestoru údajov počas spustenia aktivity. Zadajte hodnotu iba vtedy, keď chcete obmedziť súbežné pripojenia. | < maximálny počet súbežných pripojení > | No | maxConcurrentConnections |