Konfigurace databáze Oracle v aktivitě kopírování
Tento článek popisuje, jak pomocí aktivity kopírování v datovém kanálu kopírovat data z databáze Oracle a do databáze Oracle.
Podporovaná konfigurace
Konfigurace každé karty v aktivitě kopírování najdete v následujících částech.
OBECNÉ
Informace o konfiguraci karty Obecné nastavení najdete v doprovodných materiálech k obecným nastavením.
Zdroj
Následující vlastnosti jsou podporovány pro databázi Oracle na kartě Zdroj aktivity kopírování.
Jsou vyžadovány následující vlastnosti:
- Připojení: Ze seznamu připojení vyberte připojení k databázi Oracle. Pokud žádné připojení neexistuje, vytvořte nové připojení k databázi Oracle výběrem možnosti Další v dolní části seznamu připojení.
- Použít dotaz: Vyberte z tabulky nebo dotazu.
Pokud vyberete tabulku:
Tabulka: Zadejte název tabulky v databázi Oracle pro čtení dat. Vyberte tabulku z rozevíracího seznamu nebo ručně vyberte Enter a zadejte název schématu a tabulky.
Pokud vyberete Dotaz:
Dotaz: Zadejte vlastní dotaz SQL pro čtení dat. Například:
SELECT * FROM MyTable
.Když povolíte dělené zatížení, musíte připojit všechny odpovídající předdefinované parametry oddílu v dotazu. Příklady najdete v části Paralelní kopírování z databáze Oracle.
V části Upřesnit můžete zadat následující pole:
Možnost oddílu: Určuje možnosti dělení dat používané k načtení dat z databáze Oracle. Pokud je povolená možnost oddílu (tj. žádná), stupeň paralelismu pro souběžné načítání dat z databáze Oracle je řízen stupněm paralelismu kopírování na kartě nastavení aktivity kopírování.
Pokud vyberete Možnost Žádné, rozhodnete se oddíl nepoužívat.
Pokud vyberete fyzické oddíly tabulky:
Názvy oddílů: Zadejte seznam fyzických oddílů, které je potřeba zkopírovat.
Pokud k načtení zdrojových dat použijete dotaz, připojte se
?DfTabularPartitionName
do klauzule WHERE. Příklad najdete v části Paralelní kopírování z databáze Oracle.
Pokud vyberete dynamický rozsah:
Název sloupce oddílu: Zadejte název zdrojového sloupce v celočíselném typu , který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadaný, primární klíč tabulky se automaticky rozpozná a použije se jako sloupec oddílu.
Pokud k načtení zdrojových dat použijete dotaz, připojte se
?DfRangePartitionColumnName
do klauzule WHERE. Příklad najdete v části Paralelní kopírování z databáze Oracle.Horní mez oddílu: Zadejte maximální hodnotu sloupce oddílu pro zkopírování dat.
Pokud k načtení zdrojových dat použijete dotaz, připojte se
?DfRangePartitionUpbound
do klauzule WHERE. Příklad najdete v části Paralelní kopie z paralelní kopie z databáze Oracle.Dolní mez oddílu: Zadejte minimální hodnotu sloupce oddílu pro zkopírování dat.
Pokud k načtení zdrojových dat použijete dotaz, připojte se
?DfRangePartitionLowbound
do klauzule WHERE. Příklad najdete v části Paralelní kopie z paralelní kopie z databáze Oracle.
Časový limit dotazu (minuty):Zadejte časový limit pro spuštění příkazu dotazu, výchozí hodnota je 120 minut. Pokud je pro tuto vlastnost nastaven parametr, jsou povolené hodnoty časový rozsah, například 02:00:00 (120 minut).
Další sloupce: Přidejte další datové sloupce pro ukládání relativní cesty nebo statické hodnoty zdrojových souborů. U druhého výrazu se podporuje.
Cíl
Následující vlastnosti jsou podporovány pro databázi Oracle na kartě Cíl aktivity kopírování.
Jsou vyžadovány následující vlastnosti:
- Připojení: Ze seznamu připojení vyberte připojení k databázi Oracle. Pokud připojení neexistuje, vytvořte nové připojení k databázi Oracle tak , že v dolní části seznamu připojení vyberete Další .
- Tabulka: V rozevíracím seznamu vyberte tabulku v databázi. Nebo ručně zaškrtněte enter a zadejte název schématu a tabulky.
V části Upřesnit můžete zadat následující pole:
- Skript předběžného kopírování: Zadejte dotaz SQL pro aktivitu kopírování, který se má provést před zápisem dat do databáze Oracle v každém spuštění. Tuto vlastnost můžete použít k vyčištění předem načtených dat.
- Časový limit dávky zápisu: Doba čekání na dokončení operace vložení dávky před vypršením časového limitu. Povolená hodnota je časový rozsah. Příklad je 00:30:00 (30 minut).
- Velikost dávky zápisu: Zadejte počet řádků, které se mají vložit do databázové tabulky Oracle na dávku. Povolená hodnota je celé číslo (počet řádků). Výchozí hodnota je 10 000.
- Maximální počet souběžných připojení: Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení.
mapování.
V části Konfigurace karty Mapování přejděte na Konfigurace mapování na kartě Mapování.
Nastavení
Konfigurace karty Nastavení naleznete v části Konfigurace dalších nastavení na kartě Nastavení.
Paralelní kopírování z databáze Oracle
Databázový konektor Oracle poskytuje integrované dělení dat pro paralelní kopírování dat z databáze Oracle. Možnosti dělení dat najdete na kartě Zdroj aktivity kopírování.
Když povolíte dělené kopírování, služba spustí paralelní dotazy na zdroj databáze Oracle, aby načetla data podle oddílů. Paralelní stupeň je řízen nastavením stupně paralelismu kopírování na kartě nastavení aktivity kopírování. Pokud například nastavíte stupeň paralelismu kopírování na čtyři, služba současně generuje a spouští čtyři dotazy na základě zadané možnosti a nastavení oddílu a každý dotaz načte část dat z databáze Oracle.
Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud načítáte velké množství dat z databáze Oracle. Následující konfigurace jsou navržené pro různé scénáře. Při kopírování dat do souborového úložiště dat se doporučuje zapisovat do složky jako více souborů (zadat pouze název složky), v takovém případě je výkon lepší než zápis do jednoho souboru.
Scénář | Navrhovaná nastavení |
---|---|
Úplné načtení z velké tabulky s fyzickými oddíly | Možnost oddílu: Fyzické oddíly tabulky. Během provádění služba automaticky rozpozná fyzické oddíly a kopíruje data podle oddílů. |
Úplné načtení z velké tabulky bez fyzických oddílů, zatímco s celočíselnou sloupcem pro dělení dat. | Možnosti oddílu: Oddíl dynamického rozsahu Sloupec oddílu: Zadejte sloupec použitý k rozdělení dat. Pokud není zadaný, použije se sloupec primárního klíče. |
Načtěte velké množství dat pomocí vlastního dotazu s fyzickými oddíly. | Možnosti oddílu: Fyzické oddíly tabulky. Dotaz: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause> . Název oddílu: Zadejte názvy oddílů, ze které chcete kopírovat data. Pokud není zadaný, služba automaticky rozpozná fyzické oddíly v tabulce, kterou jste zadali v datech databáze Oracle. Během provádění služba nahradí ?DfTabularPartitionName skutečný název oddílu a odešle do databáze Oracle. |
Načtěte velké množství dat pomocí vlastního dotazu bez fyzických oddílů, zatímco u celočíselného sloupce pro dělení dat. | Možnosti oddílu: Oddíl dynamického rozsahu Dotaz: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause> .Sloupec oddílu: Zadejte sloupec použitý k rozdělení dat. Rozdělení na sloupec můžete provést pomocí celočíselného datového typu. Horní mez oddílu a dolní mez oddílu: Určete, jestli chcete filtrovat podle sloupce oddílu a načítat data pouze mezi dolním a horním rozsahem. Během provádění služba nahradí ?DfRangePartitionColumnName a ?DfRangePartitionUpbound za skutečný název sloupce a ?DfRangePartitionLowbound rozsahy hodnot pro každý oddíl a odešle do databáze Oracle. Pokud je například sloupec oddílu "ID" nastavený s dolní mezí jako 1 a horní mez jako 80, s paralelní sadou kopírování nastavenou jako 4, služba načte data o 4 oddíly. Id jejich id jsou v rozmezí [1 20], [21, 40], [41, 60] a [61, 80], v uvedeném pořadí. |
Tip
Při kopírování dat z tabulky, která není rozdělená do oddílů, můžete použít možnost dynamického rozsahu oddílu k rozdělení podle celočíselného sloupce. Pokud zdrojová data takový typ sloupce nemají, můžete využít funkci ORA_HASH ve zdrojovém dotazu k vygenerování sloupce a jeho použití jako sloupce oddílu.
Souhrn tabulky
Následující tabulky obsahují další informace o aktivitě kopírování v databázi Oracle.
Informace o zdroji
Název | Popis | Hodnota | Požaduje se | Vlastnost skriptu JSON |
---|---|---|---|---|
Připojení | Vaše připojení ke zdrojovému úložišti dat. | <připojení k databázi Oracle> | Ano | připojení |
Použití dotazu | Způsob čtení dat z databáze Oracle. Použití tabulky ke čtení dat ze zadané tabulky nebo použití dotazu na čtení dat pomocí dotazů SQL. | • Tabulka • Dotaz |
Ano | / |
Pro tabulku | ||||
název schématu | Název schématu | < název vašeho schématu > | No | schema |
název tabulky | Název tabulky. | < název tabulky > | No | table |
Pro dotaz | ||||
Dotaz | Ke čtení dat použijte vlastní dotaz SQL. Příklad: SELECT * FROM MyTable . Když povolíte dělené zatížení, musíte připojit všechny odpovídající předdefinované parametry oddílu v dotazu. Příklady najdete v části Paralelní kopírování z databáze Oracle. |
< Dotazy SQL > | No | oracleReaderQuery |
Možnost oddílu | Možnosti dělení dat používané k načtení dat z databáze Oracle. | • Žádné (výchozí) • Fyzické oddíly tabulky • Dynamický rozsah |
No | / |
Pro fyzické oddíly tabulky | ||||
Názvy oddílů | Seznam fyzických oddílů, které je potřeba zkopírovat. Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfTabularPartitionName do klauzule WHERE. |
< názvy oddílů > | No | partitionNames |
Pro dynamický rozsah | ||||
Název sloupce oddílu | Zadejte název zdrojového sloupce v celočíselném typu , který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadaný, primární klíč tabulky se automaticky rozpozná a použije se jako sloupec oddílu. Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfRangePartitionColumnName do klauzule WHERE. Příklad najdete v části Paralelní kopírování z databáze Oracle. |
< názvy sloupců oddílů > | No | partitionColumnName |
Horní mez oddílu | Zadejte maximální hodnotu sloupce oddílu pro zkopírování dat. Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfRangePartitionUpbound do klauzule WHERE. Příklad najdete v části Paralelní kopie z paralelní kopie z databáze Oracle. |
< horní mez oddílu > | No | partitionUpperBound |
Dolní mez oddílu | Zadejte minimální hodnotu sloupce oddílu pro zkopírování dat. Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfRangePartitionLowbound do klauzule WHERE. Příklad najdete v části Paralelní kopie z paralelní kopie z databáze Oracle. |
< dolní mez oddílu > | No | partitionLowerBound |
Časový limit dotazu | Časový limit spuštění příkazu dotazu je ve výchozím nastavení 120 minut. | timespan | No | queryTimeout |
Další sloupce | Přidejte další datové sloupce pro ukládání relativní cesty ke zdrojovým souborům nebo statické hodnotě. U druhého výrazu se podporuje. | • Jméno •Hodnota |
No | additionalColumns: •Jméno •hodnota |
Informace o cíli
Název | Popis | Hodnota | Požaduje se | Vlastnost skriptu JSON |
---|---|---|---|---|
Připojení | Vaše připojení k cílovému úložišti dat. | <připojení k databázi Oracle> | Ano | připojení |
Tabulka | Cílová tabulka dat | <název cílové tabulky> | Ano | / |
název schématu | Název schématu | < název vašeho schématu > | Ano | schema |
název tabulky | Název tabulky. | < název tabulky > | Ano | table |
Skript předběžného kopírování | Dotaz SQL na aktivitu kopírování, který se má spustit před zápisem dat do databáze Oracle v každém spuštění. Tuto vlastnost můžete použít k vyčištění předem načtených dat. | < váš skript před kopírováním > | No | preCopyScript |
Časový limit zápisu dávky | Doba čekání, než se operace dávkového vložení dokončí, než vyprší časový limit. | timespan | No | writeBatchTimeout |
Velikost dávky zápisu | Počet řádků, které se mají vložit do tabulky SQL na dávku | integer (výchozí hodnota je 10 000) |
No | writeBatchSize |
Maximální počet souběžných připojení | Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. | < maximální počet souběžných připojení > | No | maxConcurrentConnections |