Freigeben über


Kopieren von Daten aus Amazon RDS für Oracle mithilfe von Azure Data Factory oder Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. In Microsoft Fabric können Sie alle erforderlichen Aufgaben ausführen, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Dieser Artikel beschreibt, wie die Kopieraktivität in Azure Data Factory verwendet wird, um Daten aus einer Amazon RDS für Oracle-Datenbank zu kopieren. Der Artikel baut auf der Übersicht über die Kopieraktivität auf.

Von Bedeutung

Die Version 2.0 des Amazon RDS for Oracle-Connectors bietet eine verbesserte native Unterstützung für Amazon RDS for Oracle. Wenn Sie den Amazon RDS für Oracle Connector Version 1.0 in Ihrer Lösung verwenden, aktualisieren Sie bitte den Amazon RDS für Oracle Connector, da Version 1.0 nicht mehr unterstützt wird. Ihre Pipeline schlägt nach dem 31. März 2026 fehl. Ausführliche Informationen zu den Unterschieden zwischen Version 2.0 und Version 1.0 finden Sie in diesem Abschnitt.

Unterstützte Funktionen

Dieser Amazon RDS for Oracle Connector wird für die folgenden Aktivitäten unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/-) (1) (2)
Lookup-Aktivität (1) (2)

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.

Insbesondere unterstützt dieser Amazon RDS für Oracle Connector:

  • Die folgenden Versionen einer Amazon RDS für Oracle-Datenbank, Version 2.0:
    • Amazon RDS für Oracle 19c und höher
    • Amazon RDS für Oracle 18c und höher
    • Amazon RDS für Oracle 12c und höher
    • Amazon RDS für Oracle 11g und höher
  • Die folgenden Versionen von Amazon RDS für Oracle-Datenbanken in Version 1.0:
    • Amazon RDS für Oracle 19c R1 (19.1) und höher
    • Amazon RDS für Oracle 18c R1 (18.1) und höher
    • Amazon RDS für Oracle 12c R1 (12.1) und höher
    • Amazon RDS für Oracle 11g R1 (11.1) und höher
  • Paralleles Kopieren aus einer Amazon RDS für Oracle-Quelle. Einzelheiten finden Sie im Abschnitt Parallele Kopie von Amazon RDS für Oracle.

Hinweis

Amazon RDS für Oracle Proxy-Server wird nicht unterstützt.

Voraussetzungen

Wenn sich Ihr Datenspeicher in einem lokalen Netzwerk, in einem virtuellen Azure-Netzwerk oder in Amazon Virtual Private Cloud befindet, müssen Sie eine selbstgehostete Integration Runtime konfigurieren, um eine Verbindung herzustellen.

Handelt es sich bei Ihrem Datenspeicher um einen verwalteten Clouddatendienst, können Sie die Azure Integration Runtime verwenden. Ist der Zugriff auf IP-Adressen beschränkt, die in den Firewallregeln genehmigt sind, können Sie Azure Integration Runtime-IPs zur Positivliste hinzufügen.

Sie können auch das Feature managed virtual network integration runtime (Integration Runtime für verwaltete virtuelle Netzwerke) in Azure Data Factory verwenden, um auf das lokale Netzwerk zuzugreifen, ohne eine selbstgehostete Integration Runtime zu installieren und zu konfigurieren.

Weitere Informationen zu den von Data Factory unterstützten Netzwerksicherheitsmechanismen und -optionen finden Sie unter Datenzugriffsstrategien.

Die Integrationslaufzeit bietet einen integrierten Amazon RDS für Oracle-Treiber. Daher müssen Sie keinen Treiber manuell installieren, wenn Sie Daten von Amazon RDS für Oracle kopieren.

Erste Schritte

Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:

Erstellen Sie einen verknüpften Service mit Amazon RDS für Oracle über die Benutzeroberfläche

Gehen Sie wie folgt vor, um einen mit Amazon RDS für Oracle verknüpften Service in der Benutzeroberfläche des Azure-Portals zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus, und klicken Sie dann auf „Neu“:

  2. Suchen Sie nach Amazon RDS für Oracle und wählen Sie den Amazon RDS für Oracle Connector aus.

    Screenshot des Amazon RDS für Oracle Connector.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot der Konfiguration des verknüpften Diensts für Amazon RDS für Oracle.

Details zur Connectorkonfiguration

Die folgenden Abschnitte geben Details an zu Eigenschaften, die zum Definieren von Entitäten speziell für den Amazon RDS für Oracle Connector verwendet werden.

Eigenschaften des verknüpften Diensts

Das Amazon RDS für Oracle Connector Version 2.0 unterstützt TLS 1.3. Lesen Sie diesen Abschnitt, um Ihr Amazon RDS for Oracle Connector-Version von Version 1.0 zu aktualisieren. Einzelheiten zur Eigenschaft finden Sie in den entsprechenden Abschnitten.

Version 2.0

Der mit Amazon RDS für Oracle verknüpfte Dienst unterstützt die folgenden Eigenschaften, wenn Version 2.0 angewendet wird:

Eigenschaft Beschreibung Erforderlich
Typ Die Eigenschaft „Typ“ muss auf AmazonRdsForOracle gesetzt werden. Ja
version Die von Ihnen angegebene Version. Der Wert ist 2.0. Ja
Server Der Standort der Amazon RDS für Oracle Datenbank, zu dem Sie eine Verbindung herstellen möchten. Sie können auf die Servereigenschaftenkonfiguration verweisen, um sie anzugeben. Ja
Authentifizierungstyp Authentifizierungstyp für die Verbindung mit der Amazon RDS für Oracle-Datenbank. Nur die Standardauthentifizierung wird jetzt unterstützt. Ja
Benutzername Der Amazon RDS for Oracle-Datenbankbenutzername. Ja
Kennwort Das Amazon RDS für Oracle-Datenbankkennwort. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern. Alternativ können Sie auf ein in Azure Key Vault gespeichertes Geheimnis verweisen. Ja
connectVia Die Integration Runtime, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Weitere Verbindungseigenschaften, die Sie im verknüpften Dienst pro Fall festlegen können:

Eigenschaft Beschreibung Erforderlich Standardwert
Verschlüsselungsclient Legt das Verhalten des Verschlüsselungsclients fest Unterstützte Werte sind accepted, , rejected, requestedoder required. Typ: Zeichenfolge Nein required
VerschlüsselungsartenClient Gibt die Verschlüsselungsalgorithmen an, die der Client verwenden kann Unterstützte Werte sind AES128, AES192, AES256, 3DES112, 3DES168. Typ: Zeichenfolge Nein (AES256)
cryptoChecksumClient Gibt das gewünschte Datenintegritätsverhalten an, wenn dieser Client eine Verbindung mit einem Server herstellt Unterstützte Werte sind accepted, , rejected, requestedoder required. Typ: Zeichenfolge Nein required
cryptoChecksumTypesClient Gibt die Krypto-Prüfsummenalgorithmen an, die der Client verwenden kann Unterstützte Werte sind SHA1, SHA256, SHA384, SHA512. Typ: Zeichenfolge Nein (SHA512)
initialLobFetchSize Gibt die Menge an, die die Quelle anfänglich für LOB-Spalten abruft. Typ: int Nein 0
fetchSize Gibt die Anzahl der Bytes an, die der Treiber zuordnet, um die Daten in einem Datenbank-Roundtrip abzurufen. Typ: int Nein 10 MB
statementCacheSize Gibt die Anzahl der Cursor oder Anweisungen an, die für jede Datenbankverbindung zwischengespeichert werden sollen. Typ: int Nein 0
initializationString Gibt einen Befehl an, der unmittelbar nach dem Herstellen einer Verbindung mit der Datenbank zum Verwalten von Sitzungseinstellungen ausgegeben wird Typ: Zeichenfolge Nein NULL
enableBulkLoad Gibt an, ob beim Laden von Daten in die Datenbank Massenkopie oder Batcheinfügung verwendet werden soll. Typ: boolean Nein Wahr
supportV1DataTypes Gibt an, ob die Datentypzuordnungen der Version 1.0 verwendet werden sollen. Legen Sie dies nicht auf "true" fest, es sei denn, Sie möchten die Abwärtskompatibilität mit den Datentypzuordnungen der Version 1.0 beibehalten. Typ: boolean Nein, diese Eigenschaft dient nur zur Abwärtskompatibilität. Falsch
fetchTswtzAsTimestamp Gibt an, ob der Treiber den Spaltenwert mit dem Datentyp TIMESTAMP WITH TIME ZONE als DateTime oder Zeichenfolge zurückgibt Diese Einstellung wird ignoriert, wenn supportV1DataTypes nicht wahr ist. Typ: boolean Nein, diese Eigenschaft dient nur zur Abwärtskompatibilität. Wahr

Beispiel:

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "version": "2.0",
        "typeProperties": {
            "server": "<server name>", 
            "username": "<user name>", 
            "password": "<password>", 
            "authenticationType": "<authentication type>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Beispiel: Speichern des Kennworts in Azure Key Vault

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

Für die Eigenschaft server können Sie eines der folgenden drei Formate angeben.

Format Beispiel
Verbindungsdeskriptor (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))
Easy Connect (Plus)-Benennung salesserver1:1521/sales.us.example.com
Oracle Net Services Name (TNS Alias) ( nur für die selbst gehostete Integrationslaufzeit) Umsatz

In der folgenden Liste sind die unterstützten Parameter aufgeführt, die in server verwendet werden. Wenn Sie Parameter verwenden, die sich nicht in der folgenden Liste befinden, schlägt die Verbindung fehl.

  • Bei Verwendung der Azure-Integrationslaufzeit:

    GASTGEBER
    PORT
    PROTOKOLL
    SERVICE_NAME
    SID
    INSTANCE_NAME
    SERVER
    CONNECT_TIMEOUT
    RETRY_COUNT
    RETRY_DELAY
    SSL_VERSION
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN

  • Bei Verwendung der selbst gehosteten Integrationslaufzeit:

    GASTGEBER
    PORT
    PROTOKOLL
    ENABLE
    Ablaufzeit
    FAILOVER
    Lastenausgleich
    RECV_BUF_SIZE
    SDU
    SEND_BUF_SIZE
    SOURCE_ROUTE
    DIENSTLEISTUNGSTYP
    COLOCATION_TAG
    VERBINDUNGS_ID_PRÄFIX
    Fehlermodus
    GLOBAL_NAME
    HS
    INSTANCE_NAME
    Poolgrenze
    POOL_CONNECTION_CLASS
    POOL_NAME
    POOL_REINHEIT
    RDB_DATABASE
    SHARDING_KEY
    SHARDING_KEY_ID
    SUPER_SHARDING_KEY
    SERVER
    SERVICE_NAME
    SID
    TUNNEL_SERVICE_NAME
    SSL_CLIENT_AUTHENTIFIZIERUNG
    SSL_CERTIFICATE_ALIAS
    SSL_ZERTIFIKAT_FINGERABDRUCK
    SSL_VERSION
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN
    WALLET_LOCATION
    CONNECT_TIMEOUT
    RETRY_COUNT
    RETRY_DELAY
    TRANSPORT_CONNECT_TIMEOUT
    RECV_TIMEOUT
    Kompression
    KOMPRESSIONSEBENEN

Version 1.0

Der mit Amazon RDS für Oracle verknüpfte Dienst unterstützt die folgenden Eigenschaften, wenn Version 1.0 angewendet wird:

Eigenschaft Beschreibung Erforderlich
Typ Die Eigenschaft „Typ“ muss auf AmazonRdsForOracle gesetzt werden. Ja
connectionString Gibt die Informationen an, die zur Verbindung mit der Amazon RDS für Oracle Database-Instanz erforderlich sind.
Sie können auch ein Kennwort in Azure Key Vault speichern und die password-Konfiguration aus der Verbindungszeichenfolge pullen. Ausführlichere Informationen finden Sie in den folgenden Beispielen sowie unter Speichern von Anmeldeinformationen in Azure Key Vault.

Unterstützter Verbindungstyp: Sie können Amazon RDS für Oracle SID oder Amazon RDS für Oracle Service Name verwenden, um Ihre Datenbank zu identifizieren:
– Wenn Sie die SID verwenden: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
– Wenn Sie den Dienstnamen verwenden: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
Für fortgeschrittene Amazon RDS für Oracle native Verbindungsoptionen können Sie einen Eintrag in der Datei JTNSNAMES.ORA auf dem Amazon RDS für Oracle-Server hinzufügen und im verknüpften Dienst Amazon RDS für Oracle entscheiden, den Verbindungstyp „Amazon RDS für Oracle Dienstname“ zu verwenden und den korrespondierenden Dienstnamen zu konfigurieren.
Ja
connectVia Die Integration Runtime, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Wenn Sie mehrere Amazon RDS für Oracle-Instanzen für ein Failover-Szenario haben, können Sie einen mit Amazon RDS für Oracle verknüpften Dienst erstellen und den Benutzernamen des primären Host-Ports, das Kennwort usw. eingeben und neue „Zusätzliche Verbindungseigenschaften“ mit dem Eigenschaftsnamen AlternateServers und dem Wert (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) hinzufügen – vergessen Sie die Klammern nicht und achten Sie auf die Doppelpunkte (:) als Trennzeichen. Beispielsweise definiert der folgende Wert von alternativen Servern zwei alternative Datenbankserver für das Verbindungsfailover: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).

Weitere Verbindungseigenschaften, die Sie abhängig von Ihrem Anwendungsfall in der Verbindungszeichenfolge festlegen können:

Eigenschaft Beschreibung Zulässige Werte
ArraySize Die Anzahl von Bytes, die der Connector in einem einzelnen Netzwerkroundtrip abrufen kann. Beispiel: ArraySize=‭10485760‬.

Größere Werte erhöhen den Durchsatz, indem seltener Daten über das Netzwerk abgerufen werden. Kleinere Werte erhöhen die Reaktionszeit, da weniger lange auf die Übertragung von Daten durch den Server gewartet werden muss.
Eine ganze Zahl zwischen 1 und 4.294.967.296 (4 GB). Der Standardwert ist 60000. Der Wert 1 definiert nicht die Anzahl von Bytes, sondern gibt die Zuordnung von Speicherplatz für genau eine Datenzeile an.

Um die Verschlüsselung bei der Verbindung mit Amazon RDS für Oracle zu aktivieren, haben Sie zwei Möglichkeiten:

  • Um Triple-DES-Verschlüsselung (3DES) und Advanced Encryption Standard (AES) zu verwenden, gehen Sie auf der Amazon RDS für Oracle-Serverseite zu Oracle Advanced Security (OAS) und konfigurieren die Verschlüsselungseinstellungen. Ausführliche Informationen finden Sie in der Oracle-Dokumentation. Der Amazon RDS für Oracle Application Development Framework(ADF)-Connector handelt automatisch die Verschlüsselungsmethode aus und verwendet die von Ihnen in OAS konfigurierte Methode, wenn eine Verbindung zu Amazon RDS für Oracle hergestellt wird.

  • So verwenden Sie TLS:

    1. Rufen Sie die TLS/SSL-Zertifikatinformationen ab. Rufen Sie die mit Distinguished Encoding Rules (DER) codierten Zertifikatinformationen Ihres TLS/SSL-Zertifikats ab, und speichern Sie die Ausgabe (----- Begin Certificate … End Certificate -----) als Textdatei.

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

      Beispiel: Extrahieren Sie Zertifikatinformationen aus „DERcert.cer“, und speichern Sie die Ausgabe in „cert.txt“.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Erstellen Sie keystore oder truststore. Mit dem folgenden Befehl wird die Datei truststore (mit oder ohne Kennwort) im PKCS-12-Format erstellt.

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

      Beispiel: Erstellen Sie eine PKCS12-truststore-Datei namens „MyTrustStoreFile“ mit einem Kennwort.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. Platzieren Sie die Datei truststore auf dem Computer mit der selbstgehosteten Integration Runtime. Platzieren Sie die Datei beispielsweise unter „C:\MyTrustStoreFile“.

    4. Konfigurieren Sie in dem Dienst die Amazon RDS für Oracle-Verbindungszeichenfolge mit EncryptionMethod=1 und dem entsprechenden Wert für TrustStore/TrustStorePassword. Beispiel: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Beispiel:

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

Beispiel: Speichern des Kennworts in 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"
        }
    }
}

Dataset-Eigenschaften

Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Amazon RDS für Oracle-Dataset unterstützt werden. Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets.

Um Daten von Amazon RDS für Oracle zu kopieren, setzen Sie die Eigenschaft „Typ“ des Datasets auf AmazonRdsForOracleTable. Die folgenden Eigenschaften werden unterstützt.

Eigenschaft Beschreibung Erforderlich
Typ Die Eigenschaft „type“ des Datasets muss auf AmazonRdsForOracleTable festgelegt werden. Ja
schema Name des Schemas. Nein
Tisch Name der Tabelle/Ansicht. Nein
Tabellenname Name der Tabelle/Ansicht mit Schema. Diese Eigenschaft wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Verwenden Sie für eine neue Workload schema und table. Nein

Beispiel:

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

Eigenschaften der Kopieraktivität

Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Amazon RDS für Oracle-Quelle unterstützt werden. Eine vollständige Liste der verfügbaren Abschnitte und Eigenschaften zum Definieren von Aktivitäten finden Sie unter Pipelines.

Amazon RDS für Oracle als Quelle

Tipp

Mehr über das effiziente Laden von Daten aus Amazon RDS für Oracle unter Verwendung von Datenpartitionierung erfahren Sie unter Paralleles Kopieren aus Amazon RDS für Oracle.

Um Daten von Amazon RDS für Oracle zu kopieren, setzen Sie den Quellentyp in der Kopieraktivität auf AmazonRdsForOracleSource. Die folgenden Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
Typ Die Eigenschaft „type“ der Quelle der Kopieraktivität muss auf AmazonRdsForOracleSource festgelegt werden. Ja
oracleReaderQuery Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. z. B. "SELECT * FROM MyTable". Beachten Sie, dass die Abfrage nicht mit einem Semikolon (;)) enden soll.
Wenn Sie partitioniertes Laden aktivieren, müssen Sie die entsprechenden integrierten Partitionsparameter in Ihre Abfrage integrieren. Beispiele finden Sie im Abschnitt Paralleles Kopieren aus Amazon RDS für Oracle.
Nein
DezimalInGanzzahlUmwandeln Der Amazon RDS for Oracle NUMBER-Typ mit null oder nicht angegebener Skalierung wird in die entsprechende ganze Zahl konvertiert. Zulässige Werte sind true und false (Standard).
Wenn Sie Amazon RDS für Oracle Version 2.0 verwenden, darf diese Eigenschaft nur festgelegt werden, wenn supportV1DataTypes true ist.
Nein
Partitionierungsoptionen Gibt die Datenpartitionierungsoptionen an, die zum Laden von Daten aus Amazon RDS für Oracle verwendet werden.
Zulässige Werte sind: None (Standard), PhysicalPartitionsOfTable und DynamicRange.
Wenn eine Partitionsoption aktiviert ist (d. h. nicht None), wird der Grad der Parallelität zum gleichzeitigen Laden von Daten aus einer Amazon RDS für Oracle-Datenbank durch die parallelCopies-Einstellung der Kopieraktivität gesteuert.
Nein
Partitionseinstellungen Geben Sie die Gruppe der Einstellungen für die Datenpartitionierung an.
Verwenden Sie diese Option, wenn die Partitionsoption nicht None lautet.
Nein
partitionNames Die Liste der physischen Partitionen, die kopiert werden müssen.
Verwenden Sie diese Option, wenn die Partitionsoption PhysicalPartitionsOfTable lautet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfTabularPartitionName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Amazon RDS für Oracle.
Nein
partitionColumnName Geben Sie den Namen der Quellspalte als Integer an, der von der Bereichspartitionierung für den parallelen Kopiervorgang verwendet wird. Ohne Angabe wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.
Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionColumnName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Amazon RDS für Oracle.
Nein
Partition-Obergrenze Der Höchstwert der Partitionsspalte zum Herauskopieren von Daten.
Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionUpbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Amazon RDS für Oracle.
Nein
partitionLowerBound Der Mindestwert der Partitionsspalte zum Herauskopieren von Daten.
Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionLowbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Amazon RDS für Oracle.
Nein
Zahlengenauigkeit Geben Sie die maximale Anzahl signifikanter Dezimalziffern an. Zulässige Werte liegen zwischen 1 und 256. Bei fehlender Angabe standardmäßig 256.
Diese Eigenschaft wird in Amazon RDS für Oracle, Version 2.0, unterstützt. Sie gilt nur für ZAHLENtypen, die keine explizit festgelegte Präzision und Skalierung in der Oracle-Datenbank haben. Es kann eingestellt werden, wenn supportV1DataTypes nicht true ist. Wenn Sie selbst gehostete Integrationslaufzeit verwenden, sollte die Version 5.56 oder höher sein.
Nein
Zahlenskalierung Geben Sie die Anzahl der Ziffern nach dem Dezimalkomma an. Zulässige Werte liegen zwischen 0 und 130 und müssen kleiner oder gleich der Genauigkeit sein. Bei fehlender Angabe standardmäßig 130
Diese Eigenschaft wird in Amazon RDS für Oracle, Version 2.0, unterstützt. Sie gilt nur für ZAHLENtypen, die keine explizit festgelegte Präzision und Skalierung in der Oracle-Datenbank haben. Es kann eingestellt werden, wenn supportV1DataTypes nicht true ist. Wenn Sie selbst gehostete Integrationslaufzeit verwenden, sollte die Version 5.56 oder höher sein.
Nein

Beispiel: Kopieren von Daten mit einer einfachen Abfrage ohne Partition

"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",
                "convertDecimalToInteger": false,
                "oracleReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Paralleles Kopieren aus Amazon RDS für Oracle

Der Amazon RDS für Oracle Connector stellt eine integrierte Datenpartitionierung bereit, um Daten von Amazon RDS für Oracle parallel zu kopieren. Die Datenpartitionierungsoptionen befinden sich auf der Registerkarte Quelle der Kopieraktivität.

Screenshot der Partitionierungsoptionen.

Wenn Sie partitioniertes Kopieren aktivieren, führt der Dienst parallele Abfragen gegen Ihre Amazon RDS für Oracle-Quelle aus, um Daten nach Partitionen zu laden. Der Parallelitätsgrad wird über die Einstellung parallelCopies der Kopieraktivität gesteuert. Wenn Sie z. B. parallelCopies auf vier einstellen, generiert der Dienst gleichzeitig vier Abfragen, die auf der von Ihnen angegebenen Partitionsoption und den Einstellungen basieren, und führt sie aus, wobei jede Abfrage einen Teil der Daten aus Ihrer Amazon RDS für Oracle-Datenbank abruft.

Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung vor allem dann zu aktivieren, wenn Sie große Datenmengen aus Ihrer Amazon RDS für Oracle-Datenbank laden. Im Anschluss finden Sie empfohlene Konfigurationen für verschiedene Szenarien. Beim Kopieren von Daten in einen dateibasierten Datenspeicher wird empfohlen, mehrere Dateien in einen Ordner zu schreiben (nur den Ordnernamen anzugeben). In diesem Fall ist die Leistung besser als beim Schreiben in eine einzelne Datei.

Szenario Empfohlene Einstellungen
Vollständiges Laden aus einer großen Tabelle mit physischen Partitionen Partitionsoption: Physische Partitionen der Tabelle.

Während der Ausführung erkennt der Dienst automatisch die physischen Partitionen und kopiert Daten nach Partitionen.
Vollständiges Laden aus einer großen Tabelle ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Partition des dynamischen Bereichs
Partitionsspalte: Geben Sie die Spalte an, die zum Partitionieren von Daten verwendet wird. Ohne Angabe wird die Primärschlüsselspalte verwendet.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage mit physischen Partitionen Partitionsoption: Physische Partitionen der Tabelle.
Abfrage: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>
Partitionsname: Geben Sie den/die Namen der Partition(en) an, aus denen Daten kopiert werden sollen. Wenn nicht angegeben: Der Dienst erkennt automatisch die physischen Partitionen in der Tabelle, die Sie im Amazon RDS für Oracle-Datensatz angegeben haben.

Während der Ausführung ersetzt der Dienst ?AdfTabularPartitionName durch den tatsächlichen Partitionsnamen und sendet diesen zu Amazon RDS für Oracle.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Partition des dynamischen Bereichs
Abfrage: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>
Partitionsspalte: Geben Sie die Spalte an, die zum Partitionieren von Daten verwendet wird. Die Partitionierung kann auf der Grundlage der Spalte mit dem Datentyp „Integer“ erfolgen.
Partition obere Grenze und Partition untere Grenze: Geben Sie an, ob Sie die Partitionsspalte filtern möchten, um nur Daten zwischen dem unteren und oberen Bereich abzurufen.

Während der Ausführung ersetzt der Dienst ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound und ?AdfRangePartitionLowbound durch die tatsächlichen Spaltennamen und Wertebereiche für jede Partition und sendet sie zu Amazon RDS für Oracle.
Wenn z. B. für Ihre Partitionsspalte „ID“ die untere Grenze auf 1 und die obere Grenze auf 80 festgelegt ist und die Parallelkopie auf 4 eingestellt ist, ruft der Dienst Daten nach 4 Partitionen ab. Die ID-Bereiche sehen dann wie folgt aus: [1, 20], [21, 40], [41, 60], und [61, 80].

Tipp

Beim Kopieren von Daten aus einer nicht partitionierten Tabelle können Sie die Partitionsoption „Dynamischer Bereich“ verwenden, um eine Partitionierung auf Grundlage einer ganzzahlige Spalte durchzuführen. Wenn die Quelldaten keinen solchen Spaltentyp enthalten, können Sie mithilfe der ORA_HASH-Funktion in der Quellabfrage eine Spalte generieren und diese als Partitionsspalte verwenden.

Beispiel: Abfrage mit physischer Partition

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

Beispiel: Abfrage mit dynamischer Bereichspartition

"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>"
    }
}

Datentypzuordnung für Amazon RDS für Oracle

Wenn Sie Daten von und nach Amazon RDS für Oracle kopieren, werden die folgenden Zwischendatentypzuordnungen innerhalb des Diensts verwendet. Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp der Spüle zuordnet, finden Sie unter Schema- und Datentypzuordnungen.

Amazon RDS für Oracle-Datentyp Zwischendienstdatentyp (für Version 2.0) Zwischendienstdatentyp (für Version 1.0)
BFILE Byte[] Byte[]
BINARY_FLOAT Ledig Ledig
BINARY_DOUBLE Double Double
BLOB Byte[] Byte[]
CHAR Schnur Schnur
CLOB Schnur Schnur
Datum Datum/Uhrzeit Datum/Uhrzeit
FLOAT (P < 16) Double Double
FLOAT (P >= 16) Dezimalzahl Double
INTERVALL VON JAHR ZU MONAT Int64 Schnur
INTERVALL VON TAG ZU SEKUNDE Zeitspanne Schnur
LONG Schnur Schnur
LONG RAW Byte[] Byte[]
NCHAR Schnur Schnur
NCLOB Schnur Schnur
NUMBER (p,s) Int16, Int32, Int64, Double, Single, Decimal Dezimal, Zeichenfolge (wenn p > 28)
NUMBER ohne Genauigkeit und Dezimalstellen Dezimalzahl Double
NVARCHAR2 Schnur Schnur
RAW Byte[] Byte[]
timestamp Datum/Uhrzeit Datum/Uhrzeit
ZEITSTEMPEL MIT LOKALER ZEITZONE Datum/Uhrzeit Datum/Uhrzeit
ZEITSTEMPEL MIT ZEITZONE DateTimeOffset Datum/Uhrzeit
VARCHAR2 Schnur Schnur
XMLTYPE Schnur Schnur

Hinweis

NUMBER(p,s) wird je nach Präzision (p) und Skalierung (s) dem entsprechenden Interimdatentyp zugeordnet.

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Aktualisieren des Amazon RDS für Oracle Connector

Hier sind Schritte, mit denen Sie das Upgrade von Amazon RDS für Oracle Connector erleichtern:

  1. Wählen Sie auf der Seite "Verknüpften Dienst bearbeiten" Version 2.0 aus, und konfigurieren Sie den verknüpften Dienst, indem Sie auf verknüpfte Diensteigenschaften Version 2.0 verweisen.

    Geben Sie für die Authentifizierungseigenschaften einschließlich Benutzername und Kennwort die ursprünglichen Werte in den entsprechenden Feldern in Version 2.0 an. Andere Verbindungseigenschaften wie Host, Port und Amazon RDS für Oracle Service Name/Amazon RDS für Oracle SID in Version 1.0 sind jetzt Parameter der server Eigenschaft in Version 2.0.

    Wenn Sie z. B. den verknüpften Dienst version 1.0 wie unten dargestellt konfigurieren:

    Screenshot des verknüpften Diensts version 1.0.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "typeProperties": { 
                "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    }
    

    Die identische, mit Version 2.0 verknüpfte Dienstkonfiguration mit Easy Connect (Plus) Naming lautet:

    Screenshot: Verknüpfter Dienst mit einfacher Konnektorbenennung (Plus).

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "amazonrdsfororaclesample.com:1521/db1",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    Die identische, mit Version 2.0 verknüpfte Dienstkonfiguration mit Connectordeskriptor lautet:

    Screenshot des verknüpften Diensts mit Connectordeskriptor.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    Tipp

    Azure Key Vault wird für die server Eigenschaft unterstützt. Sie können den verknüpften Dienst-JSON bearbeiten, um den Azure Key Vault-Verweis hinzuzufügen, wie unten gezeigt:
    Screenshot der Verwendung von Azure Key Vault auf dem Server.

    Beachten Sie dabei Folgendes:

    • Wenn Sie Oracle Service Name in Version 1.0 verwenden, können Sie easy Connect (Plus) Naming or Connector Descriptor als Serverformat in Version 2.0 verwenden.

    • Wenn Sie Oracle SID in Version 1.0 verwenden, müssen Sie Connector-Deskriptor als Serverformat in Version 2.0 verwenden.

    • Für einige zusätzliche Verbindungseigenschaften in Version 1.0 stellen wir alternative Eigenschaften oder Parameter in der server Eigenschaft in Version 2.0 bereit. Sie können auf die nachstehende Tabelle verweisen, um die Version 1.0-Eigenschaften zu aktualisieren.

      Version 1.0 Version 2.0
      Verschlüsselungsmethode PROTOCOL (Parameter in server)
      tnsnamesfile TNS_ADMIN (Umgebungsvariable, die in der selbst gehosteten Integrationslaufzeit unterstützt wird)
      Servername Server
      Bulkload aktivieren
      Wert: 1, 0
      enableBulkLoad
      Wert: wahr, falsch
      fetchtswtzastimestamp
      Wert: 1, 0
      fetchTswtzAsTimestamp
      Wert: wahr, falsch
      alternierende Server DESCRIPTION_LIST (Parameter in server)
      arraysize fetchSize
      Zwischengespeicherte Cursorbegrenzung statementCacheSize
      connectionretrycount RETRY_COUNT (Parameter in server)
      initializationstring initializationString
      Anmeldezeitschwelle CONNECT_TIMEOUT (Parameter in server)
      Krypto-Protokollversion SSL_VERSION (Parameter in server)
      truststore WALLET_LOCATION (Parameter in server)

      Wenn Sie beispielsweise in Version 1.0 verwenden alternateservers , können Sie den DESCRIPTION_LIST Parameter in der Servereigenschaft in Version 2.0 festlegen:

      Mit Version 1.0 verknüpfter Dienst mit alternateservers:

      {
          "name": "AmazonRdsForOracleV1",
          "properties": {
              "type": "AmazonRdsForOracle",
              "typeProperties": {
                  "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1;alternateservers=(HostName= amazonrdsfororaclesample2.com:PortNumber=1521:SID=db2,HostName=255.201.11.24:PortNumber=1522:ServiceName=db3)"
              }
          }
      }
      

      Identischer, mit Version 2.0 verknüpfter Dienst mit dem Parameter DESCRIPTION_LIST im Connectordeskriptor:

      {
          "name": "AmazonRdsForOracleV2",
          "properties": {
              "type": "AmazonRdsForOracle",
              "version": "2.0",
              "typeProperties": {
                  "server": "(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample2.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. Die Datentypzuordnung für amazon RDS für Oracle linked service Version 2.0 unterscheidet sich von der für die Version 1.0. Informationen zur neuesten Datentypzuordnung finden Sie unter "Datentypzuordnung" für Amazon RDS für Oracle.

    Eine zusätzliche Verbindungseigenschaft supportV1DataTypes in Version 2.0 kann Upgradeprobleme verringern, die durch Änderungen des Datentyps verursacht werden. Durch Festlegen dieser Eigenschaft wird true sichergestellt, dass der Datentyp in Version 2.0 mit Version 1.0 konsistent bleibt.

Unterschiede zwischen Amazon RDS für Oracle Version 2.0 und Version 1.0

Die Amazon RDS für Oracle Connector Version 2.0 bietet neue Funktionen und ist mit den meisten Features der Version 1.0 kompatibel. Die folgende Tabelle zeigt die Featureunterschiede zwischen Version 2.0 und Version 1.0.

Version 2.0 Version 1.0
Die folgenden Zuordnungen werden von Amazon RDS für Oracle-Datentypen zu Zwischendienstdatentypen verwendet, die intern vom Dienst verwendet werden.

NUMBER(p,s) -> Int16, Int32, Int64, Double, Single, Decimal
FLOAT(p)-> Double oder Decimal, abhängig von der Präzision
ZAHL -> Dezimalzahl
TIMESTAMP MIT ZEITZONE:> DateTimeOffset
INTERVALL JAHR BIS MONAT -> Int64
INTERVALL VON TAG BIS SEKUNDE -> TimeSpan
Die folgenden Zuordnungen werden von Amazon RDS für Oracle-Datentypen zu Zwischendienstdatentypen verwendet, die intern vom Dienst verwendet werden.

ZAHL(p;s) -> Dezimalzahl oder Zeichenfolge basierend auf ihrer Genauigkeit
FLOAT(p)-> Double
ZAHL -> Doppel
TIMESTAMP MIT ZEITZONE -> DateTime
INTERVALL JAHR BIS MONAT -> String
INTERVAL DAY TO SECOND -> String
Unterstützen Sie die Funktion convertDecimalToInteger in der Kopierquelle, wenn supportV1DataTypes auf true gesetzt ist. Unterstützung von convertDecimalToInteger in der Kopierquelle. 
Unterstützt TLS 1.3. TLS 1.3 wird nicht unterstützt.

Eine Liste der Datenspeicher, die als Quellen und Senken für die Kopieraktivität unterstützt werden, finden Sie unter Unterstützte Datenspeicher.