Adatok másolása az Oracle-hez készült Amazon RDS-ből Azure Data Factory vagy Azure Synapse Analytics használatával

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

Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet Azure Data Factory adatok másolásához egy Amazon RDS for Oracle-adatbázisból. A másolási tevékenység áttekintésére épül.

Támogatott képességek

Az Oracle-hez készült Amazon RDS-összekötő a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/-) ① ②
Keresési tevékenység ① ②

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A másolási tevékenység által forrásként vagy fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Az Oracle-összekötőhöz készült Amazon RDS kifejezetten a következőket támogatja:

  • Az Oracle-adatbázishoz készült Amazon RDS következő verziói:
    • Amazon RDS az Oracle 19c R1 -hez (19.1) és újabb verziókhoz
    • Amazon RDS az Oracle 18c R1 -hez (18.1) és újabb verziókhoz
    • Amazon RDS az Oracle 12c R1 -hez (12.1) és újabb verziókhoz
    • Amazon RDS for Oracle 11g R1 (11.1) és újabb
  • Párhuzamos másolás egy Oracle-forráshoz készült Amazon RDS-ből. A részletekért tekintse meg az Amazon RDS for Oracle párhuzamos példányát ismertető szakaszt.

Megjegyzés

Az Oracle-proxykiszolgálóhoz készült Amazon RDS nem támogatott.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudban található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, felveheti az Azure Integration Runtime IP-címeket az engedélyezési listára.

Az Azure Data Factory felügyelt virtuális hálózati integrációs modulját is használhatja a helyszíni hálózat eléréséhez anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és beállításokkal kapcsolatos további információkért lásd: Adathozzáférési stratégiák.

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

Bevezetés

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Társított szolgáltatás létrehozása az Oracle-hez készült Amazon RDS-hez felhasználói felület használatával

Az alábbi lépéseket követve hozzon létre egy társított szolgáltatást az Amazon RDS for Oracle-hez a Azure Portal felhasználói felületén.

  1. Keresse meg a kezelés lapot a Azure Data Factory vagy a Synapse-munkaterületen, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg az Oracle-hez készült Amazon RDS-t, és válassza ki 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 társított szolgáltatást.

    Képernyőkép az Amazon RDS for Oracle társított szolgáltatáskonfigurációjáról.

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

Az alábbi szakaszok részletesen ismertetik azOkat a tulajdonságokat, amelyek az Oracle-összekötőhöz készült Amazon RDS-hez tartozó entitások meghatározására szolgálnak.

Társított szolgáltatás tulajdonságai

Az Amazon RDS for Oracle társított szolgáltatása a következő tulajdonságokat támogatja:

Tulajdonság Leírás Kötelező
típus A type tulajdonságot AmazonRdsForOracle értékre kell állítani. Yes
connectionString Megadja az Amazon RDS for Oracle Database-példányhoz való csatlakozáshoz szükséges információkat.
Jelszót is megadhat az Azure Key Vault, és lekérheti a password konfigurációt a kapcsolati sztring. További részletekért tekintse meg az alábbi mintákat és a Store hitelesítő adatait az Azure Key Vault-ben.

Támogatott kapcsolattípus: Az Oracle SID-hez készült Amazon RDS vagy az Oracle-szolgáltatásnévhez készült Amazon RDS használatával azonosíthatja az adatbázist:
- Ha SID-et használ: 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 natív kapcsolati beállításainak fejlett Amazon RDS-hez való hozzáadásához felvehet egy bejegyzést a TNSNAMES-be. ORA-fájl az Oracle-kiszolgálóhoz készült Amazon RDS-kiszolgálón és az Amazon RDS for Oracle társított szolgáltatásban válassza az Amazon RDS-t az Oracle-szolgáltatásnév kapcsolattípushoz, és konfigurálja a megfelelő szolgáltatásnevet.
Yes
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ: Előfeltételek szakasz. Ha nincs megadva, a rendszer az alapértelmezett Azure Integration Runtime használja. Nem

Ha több Amazon RDS-sel rendelkezik az Oracle-példányokhoz a feladatátvételi forgatókönyvhöz, létrehozhat Amazon RDS-t az Oracle társított szolgáltatásához, és kitöltheti az elsődleges gazdagépet, portot, felhasználónevet, jelszót stb., és hozzáadhat egy új "További kapcsolati tulajdonságok" tulajdonságot a következőként AlternateServers(HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) : – ne hagyja ki a zárójeleket, és ügyeljen a kettőspontokra (:) elválasztóként. A másodlagos 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).

Esetenként további kapcsolati tulajdonságokat állíthat be kapcsolati sztring:

Tulajdonság Leírás Megengedett értékek
Tömbméret Az összekötő által beolvasható bájtok száma egyetlen hálózati körú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 lekérésének számát. A kisebb értékek növelik a válaszidőt, mivel kevesebb késés vár arra, hogy a kiszolgáló továbbítsa az adatokat.
1 és 4294967296 közötti egész szám (4 GB). 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 adatsorhoz kell helyet lefoglalni.

Az Amazon RDS for Oracle-kapcsolat titkosításának engedélyezéséhez két lehetősége van:

  • A Triple-DES Encryption (3DES) és az Advanced Encryption Standard (AES) használatához az Amazon RDS for Oracle kiszolgálói oldalán lépjen az Oracle Advanced Security (OAS) területre, és konfigurálja a titkosítási beállításokat. További részletekért tekintse meg ezt az Oracle-dokumentációt. Az Amazon RDS for Oracle Application Development Framework (ADF) összekötő automatikusan egyezteti a titkosítási módszert, hogy az OAS-ben konfigurált módszert használja az Oracle-hez készült Amazon RDS-kapcsolat létrehozásakor.

  • A TLS használata:

    1. Kérje le a TLS-/SSL-tanúsítvány adatait. Szerezze be a TLS/SSL-tanúsítvány DER-szabályok (DER)-kódolású tanúsítványadatait, és mentse a kimenetet (----- Tanúsítvány indítása ... Zárótanúsítvány -----) 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. Hozza létre a vagy truststorea keystore parancsot. A következő parancs létrehozza a truststore fájlt jelszóval vagy jelszó nélkül, 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 helyi integrációs modul gépére. Helyezze például a fájlt a C:\MyTrustStoreFile helyre.

    4. A szolgáltatásban konfigurálja az Amazon RDS for Oracle kapcsolati sztring és EncryptionMethod=1 a megfelelő TrustStore/TrustStorePasswordértéket. 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 az 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 adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című témakörben találja.

Ha az Oracle-hez készült Amazon RDS-ből szeretne adatokat másolni, állítsa az adathalmaz típustulajdonságát értékre AmazonRdsForOracleTable. Az alábbi tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságát értékre AmazonRdsForOracleTablekell állítani. Yes
schema A séma neve. Nem
tábla A tábla/nézet neve. Nem
tableName A séma táblázatának/nézetének neve. Ez a tulajdonság a visszamenőleges kompatibilitás érdekében támogatott. Az új számítási feladatokhoz használja a és tablea parancsotschema. 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áért lásd: Folyamatok.

Amazon RDS for Oracle forrásként

Tipp

Ha hatékonyan szeretne adatokat betölteni az Amazon RDS for Oracle-ből adatparticionálás használatával, további információt az Amazon RDS for Oracle párhuzamos másolásáról olvashat.

Ha adatokat szeretne másolni az Oracle-hez készült Amazon RDS-ből, állítsa a másolási tevékenység forrástípusát értékre AmazonRdsForOracleSource. A másolási tevékenység forrás szakaszában az alábbi tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának típustulajdonságát értékre AmazonRdsForOracleSourcekell állítani. Yes
oracleReaderQuery Az adatok olvasásához használja az egyéni SQL-lekérdezést. Például: "SELECT * FROM MyTable".
Ha engedélyezi a particionált terhelést, csatlakoztatnia kell a megfelelő beépített partícióparamétereket a lekérdezésben. Példákért lásd az Amazon RDS for Oracle párhuzamos példányát .
Nem
partitionOptions Az Amazon RDS for Oracle-ből való adatbetöltéshez használt adatparticionálási beállításokat adja meg.
Az engedélyezett értékek a következők: Nincs (alapértelmezett), PhysicalPartitionsOfTable és DynamicRange.
Ha egy partíciós beállítás engedélyezve van (azaz nem None), a párhuzamosság mértékét az Amazon RDS for Oracle-adatbázisból való egyidejű betöltéséhez a parallelCopies másolási tevékenység beállítása szabályozza.
Nem
partitionSettings Adja meg az adatparticionálás beállításainak csoportját.
Akkor alkalmazható, ha a partícióbeállítás nem None.
Nem
partitionNames A másolandó fizikai partíciók listája.
Akkor alkalmazza, ha a partícióbeállítás .PhysicalPartitionsOfTable Ha lekérdezéssel kéri le a forrásadatokat, akkor a WHERE záradékban válassza a horogot ?AdfTabularPartitionName . Példaként tekintse meg az Amazon RDS for Oracle párhuzamos példánya című szakaszt .
Nem
partitionColumnName Adja meg a forrásoszlop nevét egész számtípusban , amelyet a tartományparticionálás a párhuzamos másoláshoz használ. Ha nincs megadva, a rendszer automatikusan észleli és partícióoszlopként használja a tábla elsődleges kulcsát.
Akkor alkalmazza, ha a partícióbeállítás .DynamicRange Ha lekérdezéssel kéri le a forrásadatokat, akkor a WHERE záradékban válassza a horogot ?AdfRangePartitionColumnName . Példaként tekintse meg az Amazon RDS for Oracle párhuzamos példánya című szakaszt .
Nem
partitionUpperBound Az adatok másolásához a partícióoszlop maximális értéke.
Akkor alkalmazza, ha a partícióbeállítás .DynamicRange Ha lekérdezéssel kéri le a forrásadatokat, akkor a WHERE záradékban válassza a horogot ?AdfRangePartitionUpbound . Példaként tekintse meg az Amazon RDS for Oracle párhuzamos példánya című szakaszt .
Nem
partitionLowerBound Az adatok másolásához szükséges partícióoszlop minimális értéke.
Akkor alkalmazza, ha a partícióbeállítás .DynamicRange Ha lekérdezéssel kéri le a forrásadatokat, akkor a WHERE záradékban válassza a horogot ?AdfRangePartitionLowbound . Példaként tekintse meg az Amazon RDS for Oracle párhuzamos példánya című szakaszt .
Nem

Példa: adatok másolása partíció nélküli egyszerű 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ásolás az Amazon RDS for Oracle-ből

Az Amazon RDS for Oracle-összekötő beépített adatparticionálást biztosít az adatok párhuzamos másolásához az Oracle-hez készült Amazon RDS-ből. Az adatparticionálási 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 szerinti betöltéséhez. A párhuzamos fokot a parallelCopies másolási tevékenység beállítása szabályozza. Ha például négyre van állítva parallelCopies , a szolgáltatás egyszerre négy lekérdezést hoz létre és futtat a megadott partícióbeállítás és beállítások alapján, és mindegyik lekérdezés lekéri az adatok egy részét az Amazon RDS for Oracle-adatbázisból.

Javasoljuk, hogy engedélyezze a párhuzamos másolást adatparticionálással, különösen akkor, ha nagy mennyiségű adatot tölt be az Amazon RDS for Oracle-adatbázisból. A következő javasolt konfigurációk különböző forgatókönyvekhez. Amikor fájlalapú adattárba másol adatokat, a rendszer újra 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 méretű táblából, fizikai partíciókkal. 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 alapján másolja az adatokat.
Teljes terhelés nagy táblából fizikai partíciók nélkül, míg az adatparticionálás egész oszlopával. Partícióbeállítások: Dinamikus tartomány partíciója.
Partícióoszlop: Adja meg az adatok particionálásához 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ókkal. 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 azokat a partícióneveket, ahonnan adatokat szeretne másolni. 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 a tényleges partíciónévre vált ?AdfTabularPartitionName , és elküldi az Amazon RDS for Oracle-nek.
Nagy mennyiségű adat betöltése egyéni lekérdezéssel fizikai partíciók nélkül, az adatparticionáláshoz pedig egész oszloppal. Partícióbeállítások: Dinamikus tartomány partíciója.
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ához használt oszlopot. Az egész adattípusú oszlopra particionálhat.
Partíció felső határa és partíció alsó határa: Adja meg, hogy a partícióoszlopra szeretne-e szűrni, hogy csak az alsó és a felső tartomány közötti adatokat kérje le.

A végrehajtás során a szolgáltatás lecseréli ?AdfRangePartitionColumnNamea , ?AdfRangePartitionUpboundés ?AdfRangePartitionLowbound értéket az egyes partíciók tényleges oszlopnevére és értéktartományára, és elküldi az Amazon RDS for Oracle-nek.
Ha például az "ID" partícióoszlop 1-ként van beállítva az alsó határral, a felső kötött pedig 80-zal, a párhuzamos másolás 4-ként van beállítva, a szolgáltatás 4 partícióval kéri le az adatokat. Azonosítójuk [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óbeállítással particionálhat egy egész oszlopot. Ha a forrásadatok nem rendelkeznek ilyen típusú oszlopokkal, használhatja ORA_HASH függvényt a forrás lekérdezésben egy oszlop létrehozásához és partícióoszlopként való használatához.

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 dinamikus tartomány partíciójá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ágok részleteinek megismeréséhez tekintse meg a Keresési tevékenység című témakört.

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.