Kopírování dat z a do Oracle pomocí Azure Data Factory nebo Azure Synapse Analytics

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:

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.

  1. 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ý:

  2. Vyhledejte Oracle a vyberte konektor Oracle.

    Snímek obrazovky s konektorem Oracle

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Snímek obrazovky s konfigurací propojené služby pro Oracle

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_DN

  • Př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=‭10485760‬

Vě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 truststore ověřování serveru SSL pomocí jedné z následujících tří metod:

    • Metoda 1 (doporučeno)::

      1. 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ů.

      2. Ve službě nakonfigurujte připojovací řetězec Oracle pomocí EncryptionMethod=1.

    • Metoda 2:

      1. 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] -text
        
      2. Ve službě nakonfigurujte řetězec připojení k Oracle pomocí EncryptionMethod=1 a odpovídající hodnoty TrustStore. Například Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore= data:// -----BEGIN CERTIFICATE-----<certificate content>-----END CERTIFICATE-----

        Poznámka:

        • Hodnota TrustStore pole by měla mít předponu data://.
        • 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 za BEGIN CERTIFICATE a END 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 TrustStore podporuje obsah o délce až 8192 znaků.
    • Metoda 3:

      1. truststore Vytvoř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 -export
        
      2. truststore Soubor umístěte na počítač s místním prostředím Integration Runtime. Například umístěte soubor na C:\MyTrustStoreFile.

      3. Ve službě nakonfigurujte připojovací řetězec Oracle s EncryptionMethod=1 a odpovídající hodnotou TrustStore/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.

Snímek obrazovky s možnostmi rozdělení

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:

  1. 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 server vlastnosti ve verzi 2.0.

    Pokud například nakonfigurujete propojenou službu verze 1.0, jak je znázorněno níže:

    Snímek obrazovky propojené služby verze 1.0

    { 
        "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:

    Snímek obrazovky propojené služby pomocí snadného pojmenování konektoru (Plus)

    { 
        "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:

    Snímek obrazovky propojené služby s deskriptorem konektoru

    { 
        "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:
    Snímek obrazovky s použitím služby Azure Key Vault na serveru.

    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 server vlastnosti 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, 0
      povolit hromadné nahrávání
      Hodnota: pravda, nepravda
      fetchtswtzastimestamp
      Hodnota: 1, 0
      fetchTswtzAsTimestamp
      Hodnota: pravda, nepravda
      alternativní 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 alternateservers ve verzi 1.0, můžete nastavit DESCRIPTION_LIST parametr 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_LIST parametr 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>" 
              }
          }
      }
      
  2. 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 supportV1DataTypes př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íte true , ž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.

Verze 2.0 Verze 1.0
Následující mapování se používají z datových typů Oracle k dočasným datovým typům služby používaným interně službou.

NUMBER(p;s) -> Int16, Int32, Int64, Single, Double, Decimal
FLOAT(p)-> Double nebo Decimal na základě jeho přesnosti
ČÍSLO –> desítkové číslo
ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM –> DateTimeOffset
INTERVAL ROKU DO MĚSÍCE -> Int64
INTERVAL DAY TO SECOND –> TimeSpan
Následující mapování se používají z datových typů Oracle k dočasným datovým typům služby používaným interně službou.

NUMBER(p;s) –> desetinné číslo nebo řetězec na základě jeho přesnosti
FLOAT(p)-> Dvojitá
NUMBER -> Dvojitý
ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM –> Datum a čas
INTERVAL YEAR TO MONTH –> řetězec
INTERVAL od DNE po SEKUNDY –> textový řetězec
Podporuje funkci convertDecimalToInteger při kopírování zdroje, pokud je supportV1DataTypes nastavena na true. Podpora funkce convertDecimalToInteger při kopírování zdroje. 
Použití ? jako zástupného symbolu pro parametry dotazu aktivity skriptu není podporováno. Jako náhradu můžete použít pojmenovaný parametr (například :paramA) nebo poziční parametr (například :1). Podpora použití ? jako zástupného symbolu pro parametry dotazu aktivity skriptu 
Podpora protokolu TLS 1.3 Protokol TLS 1.3 se nepodporuje.
Podporuje se obousměrný protokol TLS/SSL s peněženkou Oracle SSO. Další informace najdete v tomto článku. Obousměrný protokol TLS/SSL s peněženkou Oracle se nepodporuje.