Adatok másolása az Oracle-hez használt Amazon RDS-Azure Data Factory vagy Azure Synapse Analytics

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Ez a cikk bemutatja, hogyan másolhatja az adatokat egy Amazon RDS for Oracle-adatbázisból a Azure Data Factory másolási tevékenységével. A másolási tevékenység áttekintésére épül.

Támogatott képességek

Ez az Amazon RDS for Oracle-összekötő a következő tevékenységekhez támogatott:

Az adatokat az Amazon RDS for Oracle-adatbázisból bármely támogatott fogadóadattárba átmásolhatja. A másolási tevékenység által fogadóként támogatott adattárakat a Támogatott adattárak táblázatban láthatja.

Ez az Amazon RDS for Oracle-összekötő a következőt támogatja:

  • Az Oracle-adatbázishoz elérhető Amazon RDS következő verziói:
    • Amazon RDS for Oracle 19c R1 (19.1) és újabb verziók
    • Amazon RDS for Oracle 18c R1 (18.1) és újabb verziók
    • Amazon RDS for Oracle 12c R1 (12.1) és újabb verziók
    • Amazon RDS for Oracle 11g R1 (11.1) és újabb verziók
  • Párhuzamos másolás Amazon RDS for Oracle-forrásból. További részleteket az Amazon RDS for Oracle párhuzamos másolását tartalmazó szakaszban talál.

Megjegyzés

Az Oracle-proxykiszolgálóhoz használható Amazon RDS nem támogatott.

Előfeltételek

Ha az adattár egy helyszíni hálózatban, Azure-beli virtuális hálózatban vagy Amazon Virtual Private Cloudban található, konfigurálnia kell egy helyi integrációs runtime-t a csatlakozáshoz.

Ha az adattár egy felügyelt felhőalapú adatszolgáltatás, használhatja a Azure Integration Runtime. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-kre van korlátozva, hozzáadhat Azure Integration Runtime IP-eket az engedélyezettek listájához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs Azure Data Factory funkcióját is használhatja a helyszíni hálózat eléréséhez saját üzemeltetett integrációs környezet telepítése és konfigurálása nélkül.

További információ a hálózati biztonsági mechanizmusokról és a Data Factory által támogatott lehetőségekről: Adatelérési stratégiák.

Az integrációs futtatás egy beépített Amazon RDS for Oracle-illesztőt biztosít. Ezért nem kell manuálisan telepítenie az illesztőt, amikor adatokat másol az Amazon RDS for Oracle-ről.

Bevezetés

A Copy tevékenység folyamatokkal való végrehajtásához a következő eszközök vagy AZDK-k egyikét használhatja:

Összekapcsolt szolgáltatás létrehozása az Amazon RDS for Oracle-hez a felhasználói felület használatával

Az alábbi lépésekkel hozhat létre egy, az Oracle-hez használható Amazon RDS-hez kapcsolódó szolgáltatást a Azure Portal felhasználói felületén.

  1. Lépjen a Kezelés lapra a Azure Data Factory Synapse-munkaterületen, és válassza a Csatolt szolgáltatások lehetőséget, majd kattintson az Új elemre:

  2. Keressen rá az Amazon RDS for Oracle kifejezésre, és válassza az Amazon RDS for Oracle-összekötőt.

    Képernyőkép az Amazon RDS for Oracle-összekötőről.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új csatolt szolgáltatást.

    Képernyőkép az Oracle-hez készült Amazon RDS-hez készült csatolt szolgáltatás konfigurációról.

Az összekötő konfigurációjának részletei

A következő szakaszok részletesen ismertetik azokat a tulajdonságokat, amelyek az Amazon RDS for Oracle-összekötőre jellemző entitások meghatározására használhatók.

Csatolt szolgáltatás tulajdonságai

Az Amazon RDS for Oracle-hez kapcsolódó szolgáltatás a következő tulajdonságokat támogatja:

Tulajdonság Leírás Kötelező
típus A type tulajdonságnak AmazonRdsForOracle (AmazonRdsForOracle) kell lennie. Igen
connectionString (kapcsolati karakterlánc) Az Amazon RDS-hez való csatlakozáshoz szükséges adatokat adja Oracle Database példányhoz.
Jelszót is betehet a Azure Key Vault, és kiveheti a konfigurációt a password kapcsolati sztringből. További részletekért tekintse meg az alábbi mintákat és a hitelesítő Azure Key Vault a hitelesítő adatokat.

Támogatott kapcsolattípus: Az Adatbázis azonosításához az Amazon RDS for Oracle SID vagy az Amazon RDS for Oracle Service Name használható:
– Sid használata esetén: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
– Ha a Szolgáltatásnevet használja: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
Az Oracle-hez elérhető speciális Amazon RDS natív kapcsolati lehetőségekhez hozzáadhat egy bejegyzést a TNSNAMES-hez. ORA-fájl az Amazon RDS for Oracle-kiszolgálón és az Amazon RDS for Oracle-hez kapcsolódó szolgáltatásban válassza az Amazon RDS használatát az Oracle-szolgáltatásnév kapcsolattípushoz, és konfigurálja a megfelelő szolgáltatásnevet.
Igen
connectVia Az adattárhoz való csatlakozáshoz használt integrációs futtatás. További információkért lásd az Előfeltételek szakaszt. Ha nincs megadva, a Azure Integration Runtime lesz használva. Nem

Ha több Amazon RDS for Oracle-példánya van a feladatátvételi forgatókönyvhöz, létrehozhat Amazon RDS-t az Oracle-hez kapcsolódó szolgáltatáshoz, és kitöltheti az elsődleges gazdagépet, a portot, a felhasználónevet, a jelszót stb., és hozzáadhat egy új "További kapcsolati tulajdonságokat " tulajdonságnévvel mint és értékkel – ne hagyja ki a zárójeleket, és a AlternateServers kettőspontokat ( ) különülje (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) : el. Az alternatív kiszolgálók alábbi értéke például két alternatív adatbázis-kiszolgálót határoz meg a kapcsolat feladatátvételéhez: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany) .

További kapcsolati tulajdonságok, amelyek az esethez a kapcsolati sztringben beállíthatók:

Tulajdonság Leírás Megengedett értékek
ArraySize (Tömbök skálája) Az összekötő által lekérhet bájtok száma egyetlen hálózati körbe- és visszaúton. Például: ArraySize=‭10485760‬ .

A nagyobb értékek növelik az átviteli sebességet azáltal, hogy csökkentik az adatok hálózaton keresztüli beolvasásának számát. A kisebb értékek növelik a válaszidőt, mivel kevesebb késéssel vár a kiszolgáló az adatok továbbítására.
Egy 1 és egy 4294967296 (4 GB) között. Az alapértelmezett érték 60000. Az 1 érték nem határozza meg a bájtok számát, hanem azt jelzi, hogy pontosan egy adatsor számára foglalnak le helyet.

Ha engedélyezni szeretné a titkosítást az Amazon RDS for Oracle-kapcsolaton, két lehetőség közül választhat:

  • A háromszoros DES-titkosítás (3DES) és az Advanced Encryption Standard (AES) használatához az Amazon RDS for Oracle kiszolgálóoldalán nyissa meg az Oracle Advanced Security (OAS) eszközt, és konfigurálja a titkosítási beállításokat. Részletekért tekintse meg ezt az Oracle-dokumentációt. Az Amazon RDS for Oracle Application Development Framework (ADF) összekötője automatikusan egyezteti a titkosítási módszert, hogy az OAS-ben konfigurált módszert használja az Amazon RDS for Oracle-hez való csatlakozáskor.

  • A TLS használata:

    1. Szerezze be a TLS-/SSL-tanúsítvány adatait. Szerezze DER-szabályok (DER) kódolású tanúsítványadatokat a TLS/SSL-tanúsítványról, és mentse a kimenetet (----- Tanúsítvány megkezdése... End Certificate -----) szövegfájlként.

      openssl x509 -inform DER -in [Full Path to the DER Certificate including the name of the DER Certificate] -text
      

      Példa: Bontsa ki a tanúsítványadatokat a DERcert.cer fájlból, majd mentse a kimenetet a cert.txt.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Készítse el a keystore vagy a truststore et. A következő parancs jelszóval vagy anélkül hozza létre a fájlt truststore PKCS-12 formátumban.

      openssl pkcs12 -in [Path to the file created in the previous step] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -nokeys -export
      

      Példa: Hozzon létre egy MyTrustStoreFile nevű PKCS12-fájlt truststore jelszóval.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. Helyezze a truststore fájlt a saját üzemeltetett integrációs integrációs szolgáltatás gépre. Helyezze el például a fájlt a C:\MyTrustStoreFile helyen.

    4. A szolgáltatásban konfigurálja az Amazon RDS for Oracle kapcsolati sztringet a és a EncryptionMethod=1 megfelelő TrustStore / TrustStorePassword értékkel. Például: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Példa

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "typeProperties": {
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: jelszó tárolása a Azure Key Vault

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "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"
        }
    }
}

Adatkészlet tulajdonságai

Ez a szakasz az Amazon RDS for Oracle-adatkészlet által támogatott tulajdonságok listáját tartalmazza. Az adatkészletek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját lásd: Adatkészletek.

Ha adatokat másol az Oracle-hez az Amazon RDS-ről, állítsa az adatkészlet type (típus) tulajdonságát a AmazonRdsForOracleTable következőre: . Az alábbi tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus Az adatkészlet type (típus) tulajdonságát a következőre kell beállítani: AmazonRdsForOracleTable . Igen
schema A séma neve. Nem
tábla A tábla/nézet neve. Nem
tableName A tábla/nézet neve sémával. Ez a tulajdonság a visszamenőleges kompatibilitás érdekében támogatott. Új számítási feladatokhoz használja a és schema a table et. Nem

Példa

{
    "name": "AmazonRdsForOracleDataset",
    "properties":
    {
        "type": "AmazonRdsForOracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Amazon RDS for Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Másolási tevékenység tulajdonságai

Ez a szakasz az Amazon RDS for Oracle-forrás által támogatott tulajdonságok listáját tartalmazza. A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját lásd: Folyamatok.

Az Oracle-hez való Amazon RDS mint forrás

Tipp

Ha hatékonyan szeretne adatokat betölteni az Amazon RDS for Oracle-ről az adatpartíció használatával, további információért olvassa el az Amazon RDS for Oracle párhuzamos másolatát.

Ha adatokat másol az Oracle-hez az Amazon RDS-ről, állítsa a forrástípust a másolási tevékenységben a AmazonRdsForOracleSource következőre: . A másolási tevékenység forrásszakasza a következő tulajdonságokat támogatja.

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának type tulajdonságát a következőre kell beállítani: AmazonRdsForOracleSource . Igen
oracleReaderQuery Az egyéni lekérdezéssel SQL beolvashatja az adatokat. Például: "SELECT * FROM MyTable".
Ha engedélyezi a particionált terhelést, a lekérdezésben össze kell fogni a megfelelő beépített partícióparamétereket. Példákat a Párhuzamos másolat az Amazon RDS for Oracle-ről című szakaszban talál.
Nem
partitionOptions Megadja az Adatok betöltése az Oracle-hez az Amazon RDS-ről által használt adatpartíciós beállításokat.
Megengedett értékek: Nincs (alapértelmezett), PhysicalPartitionsOfTable, és DynamicRange.
Ha engedélyezve van egy partíciós beállítás (azaz nem ), az adatok Amazon RDS for Oracle-adatbázisból való párhuzamosságának mértékét a másolási tevékenység beállítása None parallelCopies vezérli.
Nem
partitionSettings Adja meg az adatpartíció beállításainak csoportját.
Akkor alkalmazza, ha a partíciós beállítás nem None .
Nem
partitionNames (partíciónevek) A másolni szükséges fizikai partíciók listája.
Akkor alkalmazza, ha a partíciós beállítás PhysicalPartitionsOfTable . Ha lekérdezést használ a forrásadatok lekéréséhez, használja a hookot a ?AdfTabularPartitionName WHERE záradékban. Példaként tekintse meg az Amazon RDS for Oracle párhuzamos másolását.
Nem
partitionColumnName Adja meg a forrásoszlop nevét egész szám típusúként, amelyet a tartomány particionálás fog használni a párhuzamos másoláshoz. Ha nincs megadva, a rendszer automatikusan észleli a tábla elsődleges kulcsát, és partícióoszlopként használja.
Akkor alkalmazza, ha a partíciós beállítás DynamicRange . Ha lekérdezést használ a forrásadatok lekéréséhez, használja a hookot a ?AdfRangePartitionColumnName WHERE záradékban. Példaként tekintse meg az Amazon RDS for Oracle párhuzamos másolását.
Nem
partitionUpperBound Az adatok másolására vonatkozó partícióoszlop maximális értéke.
Akkor alkalmazza, ha a partíciós beállítás DynamicRange . Ha lekérdezést használ a forrásadatok lekéréséhez, használja a hookot a ?AdfRangePartitionUpbound WHERE záradékban. Példaként tekintse meg az Amazon RDS for Oracle párhuzamos másolását.
Nem
partitionLowerBound Az adatok másolására vonatkozó partícióoszlop minimális értéke.
Akkor alkalmazza, ha a partíciós beállítás DynamicRange . Ha lekérdezést használ a forrásadatok lekéréséhez, használja a hookot a ?AdfRangePartitionLowbound WHERE záradékban. Példaként tekintse meg az Amazon RDS for Oracle párhuzamos másolását.
Nem

Példa: adatok másolása partíció nélküli alapszintű lekérdezéssel

"activities":[
    {
        "name": "CopyFromAmazonRdsForOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Amazon RDS for Oracle input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRdsForOracleSource",
                "oracleReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Párhuzamos másolat az Amazon RDS for Oracle-ről

Az Amazon RDS for Oracle-összekötő beépített adatpartíciót biztosít az Adatok párhuzamos másolása az Amazon RDS for Oracle-ről. Az adatpartíciós beállításokat a másolási tevékenység Forrás lapján találja.

Képernyőkép a partícióbeállításokról.

Ha engedélyezi a particionált másolást, a szolgáltatás párhuzamos lekérdezéseket futtat az Amazon RDS for Oracle-forráson az adatok partíciók szerint való betöltéséhez. A párhuzamos fokot a parallelCopies másolási tevékenység beállítása vezérli. Ha például négyre állítja be a beállítást, a szolgáltatás egyidejűleg generál és futtat négy lekérdezést a megadott partíciós beállítás és beállítások alapján, és minden lekérdezés lekéri az adatok egy részét az parallelCopies Amazon RDS for Oracle-adatbázisból.

Ajánlott engedélyezni a párhuzamos másolást adatpartícióval, különösen akkor, ha nagy mennyiségű adatot tölt be az Amazon RDS-ről az Oracle-adatbázisba. Az alábbiakban a különböző forgatókönyvekhez javasolt konfigurációkat javasoltunk. Amikor adatokat másol egy fájlalapú adattárba, a rendszer azt a parancsot adja meg, hogy több fájlként írjon egy mappába (csak a mappa nevét adja meg), ebben az esetben a teljesítmény jobb, mint egyetlen fájlba írni.

Eset Javasolt beállítások
Teljes terhelés nagy táblából, fizikai partícióval. Partíciós beállítás: A tábla fizikai partíciói.

A végrehajtás során a szolgáltatás automatikusan észleli a fizikai partíciókat, és partíciók szerint másolja az adatokat.
Teljes betöltés nagy táblából, fizikai partíciók nélkül, egész szám oszloppal az adat particionáláshoz. Partícióbeállítások: Dinamikustartomány-partíció.
Partícióoszlop: Adja meg az adatok particionálására használt oszlopot. Ha nincs megadva, a rendszer az elsődleges kulcs oszlopát használja.
Nagy mennyiségű adat betöltése egyéni lekérdezéssel, fizikai partíciók használatával. Partíciós beállítás: A tábla fizikai partíciói.
Lekérdezés: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause> .
Partíció neve: Adja meg a partíció(k) nevét, amely(nek) adatokat kell másolnia. Ha nincs megadva, a szolgáltatás automatikusan észleli a fizikai partíciókat az Amazon RDS for Oracle-adatkészletben megadott táblában.

A végrehajtás során a szolgáltatás lecseréli a helyére a tényleges partíció nevét, és elküldi az Oracle-hez az ?AdfTabularPartitionName Amazon RDS-nek.
Nagy mennyiségű adatot tölt be egy egyéni lekérdezéssel, fizikai partíciók nélkül, miközben egy egész szám oszlopot használ az adat particionáláshoz. Partícióbeállítások: Dinamikustartomány-partíció.
Lekérdezés: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .
Partícióoszlop: Adja meg az adatok particionálására használt oszlopot. Az oszlopra egész adattípussal particionálhat.
Partíció felső határa és alsó határa: Adja meg, hogy a partícióoszlop alapján szeretne-e szűrni, és csak az alsó és a felső tartomány közötti adatokat szeretné lekérni.

A végrehajtás során a szolgáltatás lecseréli a , és értékeket az egyes partíciók tényleges oszlopnevére és értéktartományára, és elküldi őket az ?AdfRangePartitionColumnName ?AdfRangePartitionUpbound Amazon ?AdfRangePartitionLowbound RDS for Oracle-nek.
Ha például az "ID" partícióoszlop alsó korlátja 1, a felső pedig 80, a párhuzamos másolási beállítás pedig 4, a szolgáltatás 4 partícióval olvassa be az adatokat. Az értékük [1,20], [21, 40], [41, 60] és [61, 80] között van.

Tipp

Ha nem particionált táblából másol adatokat, a "Dinamikus tartomány" partíciós beállítással egész szám oszlop alapján particionálhat. Ha a forrásadatok nem tartalmaznak ilyen típusú oszlopot, a forráslekérdezésben található ORA_HASH függvény használatával létrehozhat egy oszlopot, és felhasználhatja partícióoszlopként.

Példa: lekérdezés fizikai partícióval

"source": {
    "type": "AmazonRdsForOracleSource",
    "query": "SELECT * FROM <TABLENAME> PARTITION(\"?AdfTabularPartitionName\") WHERE <your_additional_where_clause>",
    "partitionOption": "PhysicalPartitionsOfTable",
    "partitionSettings": {
        "partitionNames": [
            "<partitionA_name>",
            "<partitionB_name>"
        ]
    }
}

Példa: lekérdezés dinamikustartomány-partícióval

"source": {
    "type": "AmazonRdsForOracleSource",
    "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>"
    }
}

Keresési tevékenység tulajdonságai

A tulajdonságokkal kapcsolatos részletekért tekintse meg a keresési tevékenységet.

Következő lépések

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd: Támogatott adattárak.