Freigeben über


Kopieren von Daten von und nach 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. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in Azure Data Factory verwenden, um Daten aus einer Oracle-Datenbank und in eine Oracle-Datenbank zu kopieren. Der Artikel baut auf der Übersicht über die Kopieraktivität auf.

Unterstützte Funktionen

Dieser Oracle-Connector wird für die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/Senke) ① ②
Lookup-Aktivität ① ②
Skriptaktivität ① ②

① 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.

Dieser Oracle-Connector unterstützt insbesondere Folgendes:

  • Die folgenden Versionen einer Oracle-Datenbank:
    • Oracle 19c R1 (19.1) und höher
    • Oracle 18c R1 (18.1) und höher
    • Oracle 12c R1 (12.1) und höher
    • Oracle 11g R1 (11.1) und höher
    • Oracle 10g R1 (10.1) und höher
    • Oracle 9i R2 (9.2) und höher
    • Oracle 8i R3 (8.1.7) und höher
    • Oracle Database Cloud Exadata Service
  • Paralleles Kopieren aus einer Oracle-Quelle. Weitere Informationen finden Sie im Abschnitt Paralleles Kopieren aus Oracle.

Hinweis

Der Oracle-Proxyserver wird nicht unterstützt.

Voraussetzungen

Wenn sich Ihr Datenspeicher in einem lokalen Netzwerk, in einem virtuellen Azure-Netzwerk oder in einer virtuellen privaten Amazon-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 Integration Runtime stellt einen integrierten Oracle-Treiber bereit. Daher müssen Sie zum Kopieren von Daten aus und nach Oracle nicht manuell einen Treiber erstellen.

Erste Schritte

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Diensts zu Oracle mittels Benutzeroberfläche

Verwenden Sie die folgenden Schritte, um einen verknüpften Dienst zu Oracle im Azure-Portal zu erstellen.

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

  2. Suchen Sie nach Oracle, und wählen Sie den Oracle Connector aus.

    Screenshot des Oracle-Connectors.

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

    Ein Screenshot von der Konfiguration des verknüpften Diensts für Oracle.

Details zur Connector-Konfiguration

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

Eigenschaften des verknüpften Diensts

Der verknüpfte Oracle-Dienst unterstützt folgende Eigenschaften:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf Oracle festgelegt werden. Ja
connectionString Gibt die Informationen an, die zum Herstellen einer Verbindung mit der Oracle-Datenbankinstanz 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 die Oracle-SID oder den Oracle-Dienstnamen zur Identifizierung Ihrer Datenbank verwenden:
– 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 erweiterte native Oracle-Verbindungsoptionen können Sie wahlweise einen Eintrag in der Datei TNSNAMES.ORA auf dem Computer hinzufügen, auf dem die selbstgehostete Integration Runtime installiert ist, und im verknüpften Oracle-Dienst wählen Sie den Verbindungstyp „Oracle-Dienstname“ aus, und konfigurieren Sie den entsprechenden Dienstnamen.
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

Tipp

Falls der Fehler „ORA-01025: UPI parameter out of range“ (ORA-01025: URI-Parameter außerhalb des zulässigen Bereichs) angezeigt wird und Sie die Oracle-Version 8i verwenden, fügen Sie Ihrer Verbindungszeichenfolge Folgendes hinzu: WireProtocolMode=1. Versuchen Sie es anschließend noch mal.

Wenn Sie mehrere Oracle-Instanzen für ein Failoverszenario haben, können Sie den mit Oracle verknüpften Dienst erstellen und den primären Host, den Port, den Benutzernamen, das Kennwort usw. ausfüllen sowie ein neues „Zusätzliche Verbindungseigenschaften“ mit dem Eigenschaftsnamen AlternateServers und dem Wert (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) hinzufügen. Vergessen dabei nicht die eckigen Klammern, und achten Sie auf die Doppelpunkte (:) als Trennzeichen. Beispielsweise definiert der folgende Wert von alternativen Servern zwei alternative Datenbankserver für das Verbindungsfailover: (HostName=AccountingOracleServer: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.

Zum Aktivieren der Verschlüsselung bei einer Oracle-Verbindung haben Sie zwei Möglichkeiten:

  • Um die Triple-DES-Verschlüsselung (3DES) und Advanced Encryption Standard (AES) zu verwenden, wechseln Sie aufseiten des Oracle-Servers zu Oracle Advanced Security (OAS), und konfigurieren Sie die Verschlüsselungseinstellungen. Ausführliche Informationen finden Sie in der Oracle-Dokumentation. Der Oracle-ADF-Connector (Application Development Framework) handelt automatisch die zu verwendende Verschlüsselungsmethode als diejenige aus, die Sie in OAS bei der Verbindungsherstellung mit Oracle konfigurieren.

  • Um TLS zu verwenden, richten Sie truststore für die SSL-Serverauthentifizierung ein, indem Sie eine der folgenden drei Methoden anwenden:

    • Methode 1 (empfohlen):

      1. Installieren Sie das TLS- bzw. SSL-Zertifikat, indem Sie es in den lokalen Zertifikatspeicher importieren. Der integrierte Oracle-Treiber kann das erforderliche Zertifikat aus dem Zertifikatspeicher laden.

      2. Konfigurieren Sie im Dienst die Oracle-Verbindungszeichenfolge mit EncryptionMethod=1.

    • Methode 2:

      1. Rufen Sie die TLS- bzw. SSL-Zertifikatinformationen ab. Rufen Sie die DER-codierten (Distinguished Encoding Rules) oder PEM-codierten (Privacy Enhanced Mail) Zertifikatinformationen Ihres TLS- bzw. SSL-Zertifikats ab.

        openssl x509 -inform (DER|PEM) -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -text
        
      2. Konfigurieren Sie im Dienst die Oracle-Verbindungszeichenfolge mit EncryptionMethod=1 und dem entsprechenden Wert von TrustStore. Beispiel: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore= data:// -----BEGIN CERTIFICATE-----<certificate content>-----END CERTIFICATE-----

        Hinweis

        • Dem Wert des Felds für TrustStore sollte data:// vorangestellt werden.
        • Wenn Sie Inhalt für mehrere Zertifikate angeben, geben Sie den Inhalt jedes Zertifikats zwischen -----BEGIN CERTIFICATE----- und -----END CERTIFICATE----- an. Die Anzahl der Gedankenstriche (-----) sollte vor und nach BEGIN CERTIFICATE und END CERTIFICATE identisch sein. Zum Beispiel:
          -----BEGIN CERTIFICATE-----<certificate content 1>-----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----<certificate content 2>-----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----<certificate content 3>-----END CERTIFICATE-----
        • Das Feld für TrustStore unterstützt eine Länge von bis zu 8.192 Zeichen.
    • Methode 3:

      1. Erstellen Sie die truststore-Datei mit einem starken Verschlüsselungsverfahren wie 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. Legen Sie die truststore-Datei auf dem Computer mit der selbstgehosteten Integration Runtime ab. Legen Sie die Datei beispielsweise unter C:\MyTrustStoreFile ab.

      3. Konfigurieren Sie im Dienst die Oracle-Verbindungszeichenfolge mit EncryptionMethod=1 und dem entsprechenden Wert von 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": "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"
        }
    }
}

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

Dataset-Eigenschaften

Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom 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.

Legen Sie zum Kopieren von Daten aus bzw. nach Oracle die Eigenschaft „type“ des Datasets auf OracleTable fest. Die folgenden Eigenschaften werden unterstützt.

Eigenschaft Beschreibung Erforderlich
type Die Eigenschaft „type“ des Datasets muss auf OracleTable festgelegt werden. Ja
schema Name des Schemas. Quelle: Nein, Senke: Ja
table Name der Tabelle/Ansicht. Quelle: Nein, Senke: Ja
tableName 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. Quelle: Nein, Senke: Ja

Beispiel:

{
    "name": "OracleDataset",
    "properties":
    {
        "type": "OracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Eigenschaften der Kopieraktivität

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

Oracle als Quelle

Tipp

Weitere Informationen zum effizienten Laden von Daten aus Oracle mittels Datenpartitionierung finden Sie unter Parallele Kopie von Oracle.

Legen Sie zum Kopieren von Daten aus Oracle den Quelltyp in der Kopieraktivität auf OracleSource fest. Die folgenden Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
type Die Eigenschaft „type“ der Quelle der Kopieraktivität muss auf OracleSource festgelegt werden. Ja
oracleReaderQuery Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. z. B. "SELECT * FROM MyTable".
Wenn Sie partitioniertes Laden aktivieren, müssen Sie die entsprechenden integrierten Partitionsparameter in Ihre Abfrage integrieren. Beispiele finden Sie im Abschnitt Paralleles Kopieren aus Oracle.
Nein
convertDecimalToInteger Der Oracle NUMBER-Typ mit null oder nicht angegebener Skalierung wird in die entsprechende ganze Zahl konvertiert. Zulässige Werte sind true und false (Standard). Nein
partitionOptions Gibt die Datenpartitionierungsoptionen an, mit denen Daten aus Oracle geladen werden.
Zulässige Werte sind: None (Standardwert), PhysicalPartitionsOfTable und DynamicRange.
Wenn eine Partitionsoption aktiviert ist (d.h. nicht None), wird der Grad an Parallelität zum gleichzeitigen Laden von Daten aus einer Oracle-Datenbank durch die Einstellung parallelCopies für die Kopieraktivität gesteuert.
Nein
partitionSettings 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 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 Oracle.
Nein
partitionUpperBound 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 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 Oracle.
Nein

Beispiel: Kopieren von Daten mit einer einfachen Abfrage ohne Partition

"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 als Senke

Legen Sie zum Kopieren von Daten in Oracle den Senkentyp in der Kopieraktivität auf OracleSink fest. Die folgenden Eigenschaften werden im Abschnitt sink der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
type Die Eigenschaft „type“ der Senke der Kopieraktivität muss auf OracleSink festgelegt werden. Ja
writeBatchSize Fügt Daten in die SQL-Tabelle ein, wenn die Puffergröße writeBatchSize erreicht.
Zulässige Werte sind Integer-Werte (Anzahl der Zeilen).
Nein (Standardwert ist 10.000)
writeBatchTimeout Die Wartezeit für den Abschluss der Batcheinfügung, bevor ein Timeout auftritt.
Zulässige Werte sind Timespan-Werte. Beispiel: 00:30:00 (30 Minuten).
Nein
preCopyScript Geben Sie eine SQL-Abfrage an, die bei jeder Ausführung von der Kopieraktivität ausgeführt werden soll, bevor Daten in Oracle geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. Nein
 maxConcurrentConnections Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten.  Ohne

Beispiel:

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

Parallele Kopie von Oracle

Der Oracle-Connector stellt eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten aus Oracle zur Verfügung. 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über Ihrer Oracle-Quelle aus, um Daten anhand von 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 auf der Grundlage der von Ihnen angegebenen Partitionsoption und -einstellungen und führt sie aus, wobei jede Abfrage einen Teil der Daten aus Ihrer Oracle-Datenbank abruft.

Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung zu aktivieren, vor allem, wenn Sie große Datenmengen aus Ihrer 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: Dynamische Bereichspartitionierung
Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. 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 Namen der Partitionen an, aus denen Daten kopiert werden sollen. Wenn nicht angegeben, erkennt der Dienst automatisch die physischen Partitionen der Tabelle, die Sie im Oracle-Datensatz angegeben haben.

Während der Ausführung ersetzt der Dienst ?AdfTabularPartitionName durch den tatsächlichen Partitionsnamen und sendet ihn an Oracle.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Dynamische Bereichspartitionierung
Abfrage: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>
Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. Die Partitionierung kann auf der Grundlage der Spalte mit dem Datentyp „Integer“ erfolgen.
Obergrenze der Partition und Untergrenze der Partition: Geben Sie an, ob Sie anhand der Partitionsspalte filtern möchten, um nur Daten zwischen der Ober- und der Untergrenze zu erhalten.

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 an 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": "OracleSource",
    "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": "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>"
    }
}

Datentypzuordnung für Oracle

Wenn Sie Daten von und nach Oracle kopieren, werden die folgenden vorläufigen Datentypzuordnungen innerhalb des Dienstes verwendet. Weitere Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp zur Senke zuordnet, finden Sie unter Schema- und Datentypzuordnungen.

Oracle-Datentyp Typ von vorläufigen Daten
BFILE Byte[]
BLOB Byte[]
(nur für Oracle 10g und höher unterstützt)
CHAR String
CLOB String
DATE DateTime
GLEITKOMMAZAHL Dezimal, Zeichenfolge (wenn Genauigkeit > 28)
INTEGER Dezimal, Zeichenfolge (wenn Genauigkeit > 28)
LONG String
LONG RAW Byte[]
NCHAR String
NCLOB String
NUMBER (p,s) Dezimal, Zeichenfolge (wenn p > 28)
NUMBER ohne Genauigkeit und Dezimalstellen Double
NVARCHAR2 String
RAW Byte[]
ROWID String
TIMESTAMP DateTime
TIMESTAMP WITH LOCAL TIME ZONE String
TIMESTAMP WITH TIME ZONE String
UNSIGNED INTEGER Number
VARCHAR2 String
XML String

Hinweis

Die Datentypen INTERVAL YEAR TO MONTH und INTERVAL DAY TO SECOND werden nicht unterstützt.

Eigenschaften der Lookup-Aktivität

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

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