Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Návod
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric, aby získaly přístup k novým funkcím v oblasti datové vědy, analýz v reálném čase a vytváření sestav.
Tento článek popisuje, jak používat aktivitu kopírování v Azure Data Factory ke kopírování dat z databáze Oracle a do databáze Oracle. Vychází z přehledu aktivity kopírování.
Poznámka:
Tento konektor je také k dispozici ve službě Data Factory v Microsoft Fabric. Informace o konfiguraci a funkcích specifických pro Fabric najdete v dokumentaci ke konektoru Fabric Oracle.
Důležité
Konektor Oracle verze 1.0 je ve fázi odebrání. Doporučujeme upgradovat konektor Oracle z verze 1.0 na verzi 2.0.
Podporované funkce
Tento konektor Oracle je podporovaný pro následující funkce:
| Podporované funkce | IR |
|---|---|
| aktivita Copy (zdroj/jímka) | (1) (2) |
| Vyhledávací aktivita | (1) (2) |
| Aktivita skriptu | (1) (2) |
(1) Azure Integration Runtime (2) Vlastní Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.
Konkrétně tento konektor Oracle podporuje:
- Následující verze databáze Oracle verze 2.0:
- Oracle Database 19c a vyšší
- Oracle Database 18c a vyšší
- Oracle Database 12c a vyšší
- Oracle Database 11g a vyšší
- Následující verze databáze Oracle verze 1.0:
- Oracle 19c R1 (19.1) a vyšší
- Oracle 18c R1 (18.1) a vyšší
- Oracle 12c R1 (12.1) a vyšší
- Oracle 11g R1 (11.1) a vyšší
- Oracle 10g R1 (10.1) a vyšší
- Oracle 9i R2 (9.2) a vyšší
- Oracle 8i R3 (8.1.7) a vyšší
- Oracle Database Cloud Exadata Service
- Paralelní kopírování ze zdroje Oracle Podrobnosti najdete v oddílu Paralelní kopie z Oracle.
Poznámka:
Proxy server Oracle se nepodporuje.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo Amazon Virtual Private Cloud, musíte pro připojení nakonfigurovat self-hosted Integration Runtime.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat ip adresy Azure Integration Runtime.
Funkci managed virtual network Integration Runtime můžete také použít v Azure Data Factory pro přístup k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Prostředí Integration Runtime poskytuje integrovaný ovladač Oracle. Proto při kopírování dat z a do Oracle nemusíte ručně instalovat ovladač.
Začínáme
K provedení aktivity kopírování pomocí datového kanálu můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- portál Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- šablona Azure Resource Manager
Vytvoření propojené služby pro Oracle pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu oracle v uživatelském rozhraní portálu Azure.
Přejděte na kartu Spravovat v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a potom klikněte na Nový:
Vyhledejte Oracle a vyberte konektor Oracle.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit specifických pro konektor Oracle.
Vlastnosti propojené služby
Konektor Oracle verze 2.0 podporuje protokol TLS 1.3. V této části najdete informace o upgradu verze konektoru Oracle z verze 1.0. Podrobnosti o nemovitosti najdete v odpovídajících oddílech.
Verze 2.0
Propojená služba Oracle podporuje následující vlastnosti při použití verze 2.0:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu musí být nastavena na Oracle. | Ano |
| verze | Zadaná verze. Hodnota je 2.0. |
Ano |
| server | Umístění databáze Oracle, ke které se chcete připojit. Můžete se podívat na konfiguraci vlastnosti serveru a zadat ji. | Ano |
| typ autentizace | Typ ověřování pro připojení k databázi Oracle. Nyní se podporuje pouze základní ověřování. | Ano |
| uživatelské jméno | Uživatelské jméno databáze Oracle. | Ano |
| heslo | Heslo databáze Oracle. Označte toto pole jako SecureString , abyste ho bezpečně uložili. Nebo můžete odložit tajný kód uložený v Azure Key Vault. | Ano |
| connectVia | Prostředí Integration Runtime, které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije se výchozí Azure Integration Runtime. | Ne |
Následující další vlastnosti připojení v propojené službě můžete nastavit v závislosti na vašem případu.
| Vlastnost | Popis | Povinné | Výchozí hodnota |
|---|---|---|---|
| klient pro šifrování | Určuje chování klienta šifrování. Podporované hodnoty jsou accepted, , rejectedrequestednebo required. Typ: řetězec |
Ne | required |
| typyŠifrováníKlient | Určuje šifrovací algoritmy, které může klient používat. Podporované hodnoty jsou AES128, , AES192AES256, 3DES112, 3DES168. Typ: řetězec |
Ne | (AES256) |
| cryptoChecksumClient | Určuje požadované chování integrity dat při připojení tohoto klienta k serveru. Podporované hodnoty jsou accepted, , rejectedrequestednebo required. Typ: řetězec |
Ne | required |
| cryptoChecksumTypesClient | Určuje algoritmy kryptografických kontrolních součtů, které může klient používat. Podporované hodnoty jsou SHA1, , SHA256SHA384, SHA512. Typ: řetězec |
Ne | (SHA512) |
| initialLobFetchSize | Určuje množství, které zdroj původně načte pro sloupce LOB. Typ: int | Ne | 0 |
| Velikost načítání | Určuje počet bajtů, které ovladač přidělí pro získání dat v rámci jednoho dotazu k databázi. Typ: int | Ne | 10 MB |
| statementCacheSize | Určuje počet kurzorů nebo příkazů, které mají být uloženy do mezipaměti pro každé připojení k databázi. Typ: int | Ne | 0 |
| initializationString | Určuje příkaz, který se vydá okamžitě po připojení k databázi pro správu nastavení relace. Typ: řetězec | Ne | null |
| povolit hromadné načítání | Určuje, jestli se má při načítání dat do databáze použít hromadné kopírování nebo dávkové vložení. Typ: logická hodnota | Ne | pravda |
| podporaTypůDatV1 | Určuje, jestli se má použít mapování datových typů verze 1.0. Nenastavujte tuto hodnotu na true, pokud nechcete zachovat zpětnou kompatibilitu s mapováním datových typů verze 1.0. Typ: logická hodnota | Ne, tato vlastnost je určena pouze pro zpětnou kompatibilitu. | Nepravda |
| fetchTswtzAsTimestamp | Určuje, zda ovladač vrátí hodnotu sloupce s datovým typem TIMESTAMP WITH TIME ZONE jako DateTime nebo řetězec. Toto nastavení se ignoruje, pokud podporaV1DataTypes není pravdivá. Typ: logická hodnota | Ne, tato vlastnost je určena pouze pro zpětnou kompatibilitu. | pravda |
Příklad:
{
"name": "OracleLinkedService",
"properties": {
"type": "Oracle",
"version": "2.0",
"typeProperties": {
"server": "<server name>",
"username": "<user name>",
"password": "<password>",
"authenticationType": "<authentication type>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: uložení hesla do Azure Key Vault
{
"name": "OracleLinkedService",
"properties": {
"type": "Oracle",
"version": "2.0",
"typeProperties": {
"server": "<server name>",
"username": "<user name>",
"authenticationType": "<authentication type>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
server konfigurace vlastnosti
Vlastnost server můžete zadat v jednom z následujících tří formátů:
| Formát | Příklad |
|---|---|
| Připojit deskriptor | (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com))) |
| Pojmenování Easy Connect (Plus) | salesserver1:1521/sales.us.example.com |
| Oracle Net Services Name (TNS Alias) ( pouze pro samohostované Integration Runtime) | prodej |
Následující seznam obsahuje podporované parametry použité v server. Pokud použijete parametry, které nejsou v následujícím seznamu, připojení selže.
Při použití prostředí Azure Integration Runtime:
HOSTITEL
přístav
PROTOKOL
SERVICE_NAME
SID
NÁZEV_INSTANCE
SERVER
ČASOVÝ LIMIT PŘIPOJENÍ
POČET_OPAKOVÁNÍ
ZPOŽDĚNÍ_OPAKOVÁNÍ
verze SSL
SSL_SERVER_DN_MATCH
SSL_SERVER_CERT_DNPři použití samohostovaného prostředí Integration Runtime:
HOSTITEL
přístav
PROTOKOL
ZAPNOUT
Čas vypršení
PŘEPNUTÍ PŘI SELHÁNÍ
Vyrovnávání zátěže
RECV_BUF_SIZE (velikost přijímacího bufferu)
SDU
VELIKOST_Odesílací_Buf
ZDROJOVÁ_TRASA
TYP SLUŽBY
COLOCATION_TAG
PŘEDPONA_ID_PŘIPOJENÍ
režim failoveru
GLOBAL_NAME
HS
NÁZEV_INSTANCE
Hraniční oblast bazénu
TŘÍDA_PROPOJENÍ_BAZÉNU
Název bazénu
Čistota bazénu
RDB_DATABÁZE
Klíč pro sharding
ID_ROZDĚLUJÍCÍ_KLÍČ
SUPER_SHARDING_KEY
SERVER
SERVICE_NAME
SID
JMÉNO_SLŮŽBY_TUNELU
Ověření klienta SSL
SSL_CERTIFICATE_ALIAS (alias certifikátu SSL)
Otisk SSL certifikátu
verze SSL
SSL_SERVER_DN_MATCH
SSL_SERVER_CERT_DN
UMÍSTĚNÍ PENĚŽENKY
ČASOVÝ LIMIT PŘIPOJENÍ
POČET_OPAKOVÁNÍ
ZPOŽDĚNÍ_OPAKOVÁNÍ
DOPRAVNÍ_PŘIPOJENÍ_ČASOVÝ_LIMIT
ČASOVÝ LIMIT PŘIJÍMÁNÍ (RECV_TIMEOUT)
KOMPRESE
ÚROVNĚ KOMPRESE
Verze 1.0
Propojená služba Oracle podporuje následující vlastnosti při použití verze 1.0:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu musí být nastavena na Oracle. | Ano |
| připojovací řetězec | Určuje informace potřebné pro připojení k instanci Oracle Database. Můžete také vložit heslo do Azure Key Vault a stáhnout konfiguraci password z připojovací řetězec. Podívejte se na následující ukázky a na další podrobnosti o ukládání přihlašovacích údajů ve službě Azure Key Vault. Podporovaný typ připojení: K identifikaci databáze můžete použít Oracle SID nebo Oracle Service Name : - Pokud používáte SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;– Pokud používáte název služby: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;U pokročilých možností nativního připojení Oracle můžete přidat položku do TNSNAMES. Soubor ORA na počítači, na kterém je nainstalovaný místní prostředí Integration Runtime, a v propojené službě Oracle zvolte použití typu připojení Oracle Service Name a nakonfigurujte odpovídající název služby. |
Ano |
| connectVia | Prostředí Integration Runtime, které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije se výchozí Azure Integration Runtime. | Ne |
Návod
Pokud se zobrazí chyba "ORA-01025: UPI parameter out of range" a vaše verze Oracle je 8i, přidejte WireProtocolMode=1 do svého připojovacího řetězce. Pak to zkuste znovu.
Pokud máte více instancí Oracle pro scénář převzetí služeb při selhání, můžete vytvořit propojenou službu Oracle vyplněním údajů o primárním hostiteli, portu, uživatelském jméně, hesle atd., a přidat vlastnost "Další vlastnosti připojení" s názvem vlastnosti jako AlternateServers a hodnotou jako (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) - nenechte ujít hranaté závorky a dávejte pozor na dvojtečku (:) jako oddělovač. Například následující hodnota alternativních serverů definuje dva alternativní databázové servery pro převzetí služeb při selhání připojení: (HostName=AccountingOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).
Další vlastnosti připojení, které můžete nastavit v připojovací řetězec podle vašeho případu:
| Vlastnost | Popis | Povolené hodnoty |
|---|---|---|
| ArraySize | Počet bajtů, které může konektor načíst během jedné cesty po síti. Např. ArraySize=10485760Větší hodnoty zvyšují propustnost snížením počtu pokusů o načtení dat v síti. Menší hodnoty zvyšují dobu odezvy, protože při čekání serveru na přenos dat dochází k menšímu zpoždění. |
Celé číslo od 1 do 4294967296 (4 GB). Výchozí hodnota je 60000. Hodnota 1 nedefinuje počet bajtů, ale označuje přidělení prostoru pro přesně jeden řádek dat. |
Pokud chcete povolit šifrování připojení Oracle, máte dvě možnosti:
Pokud chcete používat šifrování triple-DES (3DES) a AES (Advanced Encryption Standard) na straně serveru Oracle, přejděte na Oracle Advanced Security (OAS) a nakonfigurujte nastavení šifrování. Podrobnosti najdete v této dokumentaci Oracle. Konektor Oracle Application Development Framework (ADF) automaticky zajistí metodu šifrování, kterou jste nakonfigurovali v OAS, při navazování spojení s Oracle.
Pokud chcete použít protokol TLS, nastavte
truststoreověřování serveru SSL pomocí jedné z následujících tří metod:Metoda 1 (doporučeno)::
Nainstalujte certifikát TLS/SSL tak, že ho naimportujete do místního úložiště certifikátů. Integrovaný ovladač Oracle dokáže načíst potřebný certifikát z úložiště certifikátů.
Ve službě nakonfigurujte připojovací řetězec Oracle pomocí
EncryptionMethod=1.
Metoda 2:
Získejte informace o certifikátu TLS/SSL. Získejte informace o vašem TLS/SSL certifikátu, kodifikované podle DER nebo PEM.
openssl x509 -inform (DER|PEM) -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -textVe službě nakonfigurujte řetězec připojení k Oracle pomocí
EncryptionMethod=1a odpovídající hodnotyTrustStore. NapříkladHost=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore= data:// -----BEGIN CERTIFICATE-----<certificate content>-----END CERTIFICATE-----Poznámka:
- Hodnota
TrustStorepole by měla mít předponudata://. - Při zadávání obsahu pro více certifikátů zadejte obsah každého certifikátu mezi
-----BEGIN CERTIFICATE-----a-----END CERTIFICATE-----. Počet pomlček (-----) by měl být stejný před i zaBEGIN CERTIFICATEaEND CERTIFICATE. Příklad:
-----BEGIN CERTIFICATE-----<certificate content 1>-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----<certificate content 2>-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----<certificate content 3>-----END CERTIFICATE----- - Pole
TrustStorepodporuje obsah o délce až 8192 znaků.
- Hodnota
Metoda 3:
truststoreVytvořte soubor se silnými šiframi, jako je AES256.openssl pkcs12 -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -keypbe AES-256-CBC -certpbe AES-256-CBC -nokeys -exporttruststoreSoubor umístěte na počítač s místním prostředím Integration Runtime. Například umístěte soubor naC:\MyTrustStoreFile.Ve službě nakonfigurujte připojovací řetězec Oracle s
EncryptionMethod=1a odpovídající hodnotouTrustStore/TrustStorePassword. Například,Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.
Příklad:
{
"name": "OracleLinkedService",
"properties": {
"type": "Oracle",
"typeProperties": {
"connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: uložení hesla do Azure Key Vault
{
"name": "OracleLinkedService",
"properties": {
"type": "Oracle",
"typeProperties": {
"connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Vlastnosti datové sady
Tato část obsahuje seznam vlastností podporovaných datovou sadou Oracle. Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v tématu Datové sady.
Pokud chcete kopírovat data z a do Oracle, nastavte vlastnost typu datové sady na OracleTable. Podporují se následující vlastnosti.
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu datové sady musí být nastavena na OracleTablehodnotu . |
Ano |
| schéma | Název schématu | Ne pro zdroj, Ano pro jímku |
| tabulka | Název tabulky nebo zobrazení | Ne pro zdroj, Ano pro jímku |
| názevTabulky | Název tabulky nebo zobrazení se schématem Tato vlastnost je podporována pro zpětnou kompatibilitu. Pro nové úlohy použijte schema a table. |
Ne pro zdroj, Ano pro jímku |
Příklad:
{
"name": "OracleDataset",
"properties":
{
"type": "OracleTable",
"schema": [],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
},
"linkedServiceName": {
"referenceName": "<Oracle linked service name>",
"type": "LinkedServiceReference"
}
}
}
Vlastnosti kopírovací aktivity
Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou Oracle. Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v tématu Pipelines.
Oracle jako zdroj
Návod
Pokud chcete efektivně načítat data z Oracle pomocí dělení dat, přečtěte si další informace z paralelní kopie od Oracle.
Chcete-li kopírovat data z Oracle, nastavte typ zdroje v aktivitě kopírování na OracleSource. V části zdroj aktivity kopírování jsou podporovány následující vlastnosti.
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu zdroje aktivity kopírování musí být nastavena na OracleSource. |
Ano |
| oracleReaderQuery | 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 Oracle . |
Ne |
| převeďDesetinnéNaCeléČíslo | Typ Oracle NUMBER s nulovou nebo nezadanou škálou se převede na odpovídající celé číslo. Povolené hodnoty jsou true a false (výchozí). Pokud používáte Oracle verze 2.0, bude tato vlastnost povolena pouze v případě, že supportV1DataTypes je true. |
Ne |
| možnosti rozdělení | Určuje možnosti dělení dat používané k načtení dat z Oracle. Povolené hodnoty jsou: None (výchozí), PhysicalPartitionsOfTable a DynamicRange. Pokud je povolená možnost oddílu (tj. ne None), stupeň paralelismu pro souběžné načítání dat z databáze Oracle se řídí parallelCopies nastavením aktivity kopírování. |
Ne |
| Nastavení oddílu | Zadejte skupinu nastavení pro dělení dat. Použít, pokud možnost oddílu není None. |
Ne |
| partitionNames | Seznam fyzických oddílů, které je nutno zkopírovat. Použít, pokud je možnost oddílu PhysicalPartitionsOfTable. Pokud k načtení zdrojových dat použijete dotaz, zahrňte ?AdfTabularPartitionName do klauzule WHERE. Příklad naleznete v části Paralelní kopie z Oracle. |
Ne |
| 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í určen, primární klíč tabulky se automaticky rozpozná a použije jako oddílový sloupec. Použít, pokud je možnost oddílu DynamicRange. Pokud k načtení zdrojových dat použijete dotaz, zahrňte ?AdfRangePartitionColumnName do klauzule WHERE. Příklad naleznete v části Paralelní kopie z Oracle. |
Ne |
| horní mez partitionu | Maximální hodnota sloupce partitionu pro zkopírování dat ven. Použít, pokud je možnost oddílu DynamicRange. Pokud k načtení zdrojových dat použijete dotaz, zahrňte ?AdfRangePartitionUpbound do klauzule WHERE. Příklad naleznete v části Paralelní kopie z Oracle. |
Ne |
| partitionLowerBound | Minimální hodnota sloupce oddílu, ze které se mají zkopírovat data. Použít, pokud je možnost oddílu DynamicRange. Pokud k načtení zdrojových dat použijete dotaz, zahrňte ?AdfRangePartitionLowbound do klauzule WHERE. Příklad naleznete v části Paralelní kopie z Oracle. |
Ne |
| přesnostČísla | Zadejte maximální počet významných desetinných míst. Povolené hodnoty jsou v rozsahu od 1 do 256. Výchozí hodnota je 256, pokud není zadána. Tato vlastnost je podporována v Oracle verze 2.0. Vztahuje se pouze na typy NUMBER, které nemají přesnost a škálování explicitně definované v databázi Oracle. Dá se nastavit, když supportV1DataTypes není true. Pokud používáte místní prostředí Integration Runtime, jeho verze by měla být 5.56 nebo vyšší. |
Ne |
| číselná škála | Zadejte počet číslic za desetinnou čárkou. Povolené hodnoty jsou v rozsahu od 0 do 130 a musí být menší nebo rovny přesnosti. Nastaví se na 130, pokud není specifikováno. Tato vlastnost je podporována v Oracle verze 2.0. Vztahuje se pouze na typy NUMBER, které nemají přesnost a škálování explicitně definované v databázi Oracle. Dá se nastavit, když supportV1DataTypes není true. Pokud používáte místní prostředí Integration Runtime, jeho verze by měla být 5.56 nebo vyšší. |
Ne |
Příklad: Kopírování dat pomocí základního dotazu bez oddílu
"activities":[
{
"name": "CopyFromOracle",
"type": "Copy",
"inputs": [
{
"referenceName": "<Oracle input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "OracleSource",
"convertDecimalToInteger": false,
"oracleReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Oracle jako jímka
Chcete-li kopírovat data do Oracle, nastavte typ jímky v aktivitě kopírování na OracleSink. V části sink aktivity kopírování jsou podporovány následující vlastnosti.
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu jímky aktivity kopírování musí být nastavena na OracleSinkhodnotu . |
Ano |
| writeBatchSize | Vloží data do tabulky SQL, když velikost vyrovnávací paměti dosáhne writeBatchSize.Povolené hodnoty jsou celé číslo (počet řádků). |
Ne (výchozí hodnota je 10 000) |
| writeBatchTimeout | Doba čekání na dokončení operace dávkového vložení před vypršením časového limitu. Povolené hodnoty jsou časový úsek. Příklad je 00:30:00 (30 minut). |
Ne |
| preCopyScript | Zadejte dotaz SQL pro aktivitu kopírování, který se má spustit před zápisem dat do 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. | Ne |
| maximálníSoučasná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í. | Ne |
Příklad:
"activities":[
{
"name": "CopyToOracle",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Oracle output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "OracleSink"
}
}
}
]
Paralelní kopírování z Oracle
Konektor Oracle poskytuje integrované dělení dat pro paralelní kopírování dat z Oracle. Možnosti dělení dat najdete na kartě Zdroj kopírovací aktivity.
Když povolíte dělenou kopii, služba spustí paralelní dotazy na zdroj Oracle, aby načetla data podle oddílů. Paralelní stupeň se řídí nastavením parallelCopies u aktivity kopírování. Pokud například nastavíte parallelCopies hodnotu čtyři, služba souběžně vygeneruje 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ílení: 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ů a s celočíselným sloupcem pro dělení dat. |
Možnosti oddílu: Dynamické rozdělení rozsahu Oddílový sloupec: Zadejte sloupec použitý k rozdělení dat. Pokud není zadáno, 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žnost oddílení: Fyzické oddíly tabulky. Dotaz: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") 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 datové sadě Oracle. Během provádění služba nahradí ?AdfTabularPartitionName skutečným názvem oddílu a odešle do Oracle. |
| Načtěte velké množství dat pomocí vlastního dotazu bez použití fyzických oddílů, ale s využitím celočíselného sloupce pro dělení dat. |
Možnosti oddílu: Dynamické rozdělení rozsahu Dotaz: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.Oddílový sloupec: Zadejte sloupec použitý k rozdělení dat. Proti sloupci s celočíselným datovým typem můžete provést rozdělení. 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í ?AdfRangePartitionColumnNamea ?AdfRangePartitionUpboundza skutečný název sloupce a ?AdfRangePartitionLowbound rozsahy hodnot pro každý oddíl a odešle do Oracle. Pokud je například sloupec oddílu "ID" nastavený s dolní hranicí jako 1 a horní hranicí jako 80 a paralelní kopírování je nastaveno na 4, služba načte data ve 4 oddílech. Jejich ID jsou mezi [1,20], [21, 40], [41, 60] a [61, 80], v uvedeném pořadí. |
Návod
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.
Příklad: Dotaz s fyzickou particí
"source": {
"type": "OracleSource",
"query": "SELECT * FROM <TABLENAME> PARTITION(\"?AdfTabularPartitionName\") WHERE <your_additional_where_clause>",
"partitionOption": "PhysicalPartitionsOfTable",
"partitionSettings": {
"partitionNames": [
"<partitionA_name>",
"<partitionB_name>"
]
}
}
Příklad: Dotaz s partící dynamického rozsahu
"source": {
"type": "OracleSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column>",
"partitionLowerBound": "<lower_value_of_partition_column>"
}
}
Mapování datových typů pro Oracle
Při kopírování dat z a do Oracle se v rámci služby používají následující dočasná mapování datových typů. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v tématu Mapování schématu a datového typu.
| Datový typ Oracle | Dočasný datový typ služby (pro verzi 2.0) | Dočasný datový typ služby (pro verzi 1.0) |
|---|---|---|
| BFILE | Bajt[] | Bajt[] |
| BINARY_FLOAT | Jediný | Jediný |
| BINARY_DOUBLE | Dvojitá přesnost | Dvojitá přesnost |
| binární rozsáhlý objekt | Bajt[] | Bajt[] |
| POSTAVA | Řetězec | Řetězec |
| CLOB | Řetězec | Řetězec |
| datum | Datum a čas | Datum a čas |
| float (P < 16) | Dvojitá přesnost | Dvojitá přesnost |
| FLOAT (P >>= 16) | Desetinné číslo | Dvojitá přesnost |
| ČASOVÝ INTERVAL OD ROKU DO MĚSÍCE | Int64 | Řetězec |
| INTERVAL OD DNE DO SEKUNDY | Časová perioda | Řetězec |
| DLOUHÝ | Řetězec | Řetězec |
| DLOUHÝ RAW | Bajt[] | Bajt[] |
| NCHAR | Řetězec | Řetězec |
| NCLOB | Řetězec | Řetězec |
| ČÍSLO (p,s) | Int16, Int32, Int64, Jednoduchá, Dvojitá, Desetinná | Decimal, String (pokud p > 28) |
| ČÍSLO bez přesnosti a měřítka | Desetinné číslo (256 130) | Dvojitá přesnost |
| NVARCHAR2 | Řetězec | Řetězec |
| SUROVÝ | Bajt[] | Bajt[] |
| ČASOVÉ RAZÍTKO | Datum a čas | Datum a čas |
| ČASOVÉ RAZÍTKO S LOKÁLNÍ ČASOVOU ZÓNOU | Datum a čas | Datum a čas |
| ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM | Posun data a času | Datum a čas |
| VARCHAR2 | Řetězec | Řetězec |
| XMLTYPE | Řetězec | Řetězec |
ČÍSLO(p;s) se mapuje na příslušný datový typ dočasné služby verze 2.0 v závislosti na přesnosti (p) a stupnici (s):
| Dočasný datový typ služby | Podmínka |
|---|---|
| Int16 | měřítko <= 0 AND (přesnost - měřítko) < 5 |
| Int32 | měřítko <= 0 AND 5 <= (přesnost - měřítko) < 10 |
| Int64 | měřítko <= 0 AND 10 <= (přesnost - měřítko) < 19 |
| Jediný | přesnost < 8 A ((měřítko <= 0 A (přesnost - měřítko) <= 38) NEBO (měřítko > 0 A měřítko <= 44)) |
| Desetinné číslo | přesnost >= 16 |
| Dvojitá přesnost | Pokud nejsou splněny žádné z výše uvedených podmínek. |
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Aktualizujte konektor Oracle
Tady jsou kroky, které vám pomůžou s upgradem konektoru Oracle:
Na stránce Upravit propojenou službu vyberte v části Verze2.0 a nakonfigurujte propojenou službu odkazem na vlastnosti propojené služby verze 2.0.
Pro vlastnosti související s ověřováním, včetně uživatelského jména a hesla, zadejte původní hodnoty v odpovídajících polích ve verzi 2.0. Další vlastnosti připojení, jako je hostitel, port a Oracle Service Name nebo Oracle SID ve verzi 1.0, jsou nyní parametry
servervlastnosti ve verzi 2.0.Pokud například nakonfigurujete propojenou službu verze 1.0, jak je znázorněno níže:
{ "name": "OracleLinkedService", "properties": { "type": "Oracle", "typeProperties": { "connectionString": "host=oraclesample.com;port=1521;servicename=db1" }, "connectVia": { "referenceName": "<name of Integration Runtime>", "type": "IntegrationRuntimeReference" } } }Stejná konfigurace propojené služby verze 2.0 pomocí pojmenování Easy Connect (Plus) je:
{ "name": "OracleLinkedService", "properties": { "type": "Oracle", "version": "2.0", "typeProperties": { "server": "oraclesample.com:1521/db1", "username": "<user name>", "password": "<password>", "authenticationType": "<authentication type>" }, "connectVia": { "referenceName": "<name of Integration Runtime>", "type": "IntegrationRuntimeReference" } } }Stejná konfigurace propojené služby verze 2.0 pomocí popisovače konektoru je:
{ "name": "OracleLinkedService", "properties": { "type": "Oracle", "version": "2.0", "typeProperties": { "server": "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= oraclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))", "username": "<user name>", "password": "<password>", "authenticationType": "<authentication type>" }, "connectVia": { "referenceName": "<name of Integration Runtime>", "type": "IntegrationRuntimeReference" } } }Návod
Azure Key Vault se podporuje pro vlastnost
server. Kód JSON propojené služby můžete upravit a přidat odkaz na Azure Key Vault, jak je znázorněno níže:
Všimněte si, že:
Pokud používáte Název služby Oracle ve verzi 1.0, můžete jako formát serveru ve verzi 2.0 použít Easy Connect (Plus) Naming nebo popisovač konektorů.
Pokud používáte Oracle SID ve verzi 1.0, musíte jako formát serveru ve verzi 2.0 použít popisovač konektoru .
Pro některé další vlastnosti připojení ve verzi 1.0 poskytujeme alternativní vlastnosti nebo parametry ve
servervlastnosti ve verzi 2.0. Informace o upgradu vlastností verze 1.0 najdete v následující tabulce.Verze 1.0 Verze 2.0 metoda šifrování PROTOKOL (parametr v server)tnsnamesfile TNS_ADMIN (proměnná prostředí podporovaná v samohostovaném prostředí Integration Runtime) název serveru server povolit hromadné načítání
Hodnota: 1, 0povolit hromadné nahrávání
Hodnota: pravda, nepravdafetchtswtzastimestamp
Hodnota: 1, 0fetchTswtzAsTimestamp
Hodnota: pravda, nepravdaalternativní servery DESCRIPTION_LIST (parametr v server)velikost pole Velikost načítání Limit uložené kurzory statementCacheSize počet_opakování_připojení RETRY_COUNT (parametr uvnitř server)inicializační řetězec initializationString časový limit přihlášení Parametr CONNECT_TIMEOUT (ve server)verze kryptoprotokolu SSL_VERSION (Parametr v server)truststore WALLET_LOCATION (Parametr v server)Pokud například používáte
alternateserversve verzi 1.0, můžete nastavitDESCRIPTION_LISTparametr ve vlastnosti serveru ve verzi 2.0:Propojená služba verze 1.0 s použitím
alternateservers:{ "name": "OracleV1", "properties": { "type": "Oracle", "typeProperties": { "connectionString": "host=oraclesample.com;port=1521;servicename=db1;alternateservers=(HostName= oraclesample2.com:PortNumber=1521:SID=db2,HostName=255.201.11.24:PortNumber=1522:ServiceName=db3)" } } }Identická propojená služba verze 2.0 používající
DESCRIPTION_LISTparametr v popisovači konektoru:{ "name": "OracleV2", "properties": { "type": "Oracle", "version": "2.0", "typeProperties": { "server": "(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraclesample2.com)(PORT=1521))(CONNECT_DATA=(SID=db2)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=255.201.11.24)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=db3))))", "username": "<user name>", "password": "<password>", "authenticationType": "<authentication type>" } } }
Mapování datových typů pro propojenou službu Oracle verze 2.0 se liší od mapování datového typu pro verzi 1.0. Nejnovější mapování datových typů najdete v tématu Mapování datových typů pro Oracle.
Další vlastnost
supportV1DataTypespřipojení ve verzi 2.0 může snížit potíže s upgradem způsobenými změnami datového typu. Nastavením této vlastnosti zajistítetrue, že datový typ ve verzi 2.0 zůstane konzistentní s verzí 1.0.
Rozdíly mezi Oracle verze 2.0 a verzí 1.0
Konektor Oracle verze 2.0 nabízí nové funkce a je kompatibilní s většinou funkcí verze 1.0. Následující tabulka ukazuje rozdíly mezi funkcemi verze 2.0 a verze 1.0.