Konfigurieren von Oracle Database in einer Copy-Aktivität
In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in der Datenpipeline verwenden, um Daten von und nach Oracle Database zu kopieren.
Unterstützte Konfiguration
Die Konfiguration der einzelnen Registerkarten unter der Kopieraktivität finden Sie in den folgenden Abschnitten.
Allgemein
Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen.
Quelle
Die folgenden Eigenschaften werden für Oracle Database auf der Registerkarte Quelle einer Kopieraktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
- Verbindung: Wählen Sie eine Oracle Database-Verbindung aus der Verbindungsliste aus. Wenn keine Verbindung vorhanden ist, erstellen Sie eine neue Oracle Database-Verbindung, indem Sie unten in der Verbindungsliste Mehr auswählen.
- Abfrage verwenden: Wählen Sie Tabelle oder Abfrage aus.
Wenn Sie Tabelle auswählen:
Tabelle: Geben Sie den Namen der Tabelle in Oracle Database an, aus der Daten gelesen werden sollen. Wählen Sie die Tabelle aus der Dropdownliste aus, oder wählen Sie Manuell eingeben aus, um das Schema und den Tabellennamen manuell einzugeben.
Wenn Sie Abfrage auswählen:
Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage zum Lesen der Daten an. Beispiel:
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 Database.
Unter Erweitert können Sie die folgenden Felder angeben:
Partitionsoption: Gibt die Datenpartitionierungsoptionen für das Laden von Daten aus Oracle Database an. Wenn eine Partitionierungsoption aktiviert ist (d. h. nicht Keine), wird der Parallelitätsgrad für das gleichzeitige Laden von Daten aus einer Oracle-Datenbank durch die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Copy-Aktivität gesteuert.
Wenn Sie Keine auswählen, wird keine Partition verwendet.
Wenn Sie Physische Partitionen der Tabelle auswählen, gilt Folgendes:
Partitionsnamen: Geben Sie die Liste der physischen Partitionen an, die kopiert werden muss.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?DfTabularPartitionName
in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database.
Wenn Sie Dynamischer Bereich auswählen, gilt Folgendes:
Partitionsspaltenname: Geben Sie den Namen der Quellspalte als Typ „integer“ an, der bei der Bereichspartitionierung für das parallele Kopieren verwendet wird. Ohne Angabe wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?DfRangePartitionColumnName
in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database.Partitionsobergrenze: Geben Sie den maximalen Wert der Partitionsspalte für das Herauskopieren von Daten an.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?DfRangePartitionUpbound
in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database.Partitionsuntergrenze: Geben Sie den minimalen Wert der Partitionsspalte für das Herauskopieren von Daten an.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?DfRangePartitionLowbound
in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database.
Abfragetimeout (Minuten): Geben Sie den Timeout für die Ausführung von Abfragebefehlen an, der Standardwert ist 120 Minuten. Wenn für diese Eigenschaft ein Parameter festgelegt wird, sind Timespan-Werte zulässig, z. B. „02:00:00“ (120 Minuten).
Zusätzliche Spalten: Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt.
Destination
Die folgenden Eigenschaften werden für Oracle Database auf der Registerkarte Ziel einer Kopieraktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
- Verbindung: Wählen Sie eine Oracle Database-Verbindung aus der Verbindungsliste aus. Wenn die Verbindung nicht vorhanden ist, erstellen Sie eine neue Oracle Database-Verbindung, indem Sie unten in der Verbindungsliste Mehr auswählen.
- Tabelle: Wählen Sie in der Dropdownliste die Tabelle in Ihrer Datenbank aus. Sie können auch Manuell eingeben aktivieren, um das Schema und den Tabellennamen manuell einzugeben.
Unter Erweitert können Sie die folgenden Felder angeben:
- Kopiervorbereitungsskript: Geben Sie eine SQL-Abfrage für die Kopieraktivität an, die bei jeder Ausführung ausgeführt wird, bevor Daten in Oracle Database geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen.
- Zeitlimit für Batchschreibvorgang: Die Wartezeit, bis der Batch-Einfügevorgang beendet ist, bevor er eine Zeitüberschreitung verursacht. Der zulässige Wert ist ein Timespan-Wert. Beispiel: 00:30:00 (30 Minuten).
- Schreibbatchgröße: Geben Sie die Anzahl der Zeilen an, die pro Batch in die Oracle Database-Tabelle eingefügt werden sollen. Zulässiger Wert: integer (Anzahl der Zeilen) Der Standardwert ist 10.000.
- Maximale Anzahl gleichzeitiger Verbindungen: Die Obergrenze der gleichzeitigen Verbindungen zum Datenspeicher, die während des Ausführens der Aktivität hergestellt werden. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten.
Zuordnung
Wechseln Sie für die Konfiguration der Registerkarte Zuordnung zu Konfigurieren der Zuordnungen auf der Registerkarte „Zuordnung“.
Einstellungen
Wechseln Sie für die Konfiguration der Registerkarte Einstellungen zu Konfigurieren der anderen Einstellungen auf der Registerkarte „Einstellungen“.
Parallele Kopie von Oracle Database
Der Oracle Database-Connector stellt eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten aus Oracle Database zur Verfügung. Die Datenpartitionierungsoptionen befinden sich auf der Registerkarte Quelle der Kopieraktivität.
Wenn Sie partitioniertes Kopieren aktivieren, führt der Dienst parallele Abfragen gegenüber Ihrer Oracle Database-Quelle aus, um Daten anhand von Partitionen zu laden. Der Parallelitätsgrad wird über die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Copy-Aktivität gesteuert. Wenn Sie Parallelitätsgrad für Kopiervorgänge z. B. auf 4 festlegen, generiert der Dienst basierend auf der von Ihnen angegebenen Partitionsoption und Ihren Einstellungen gleichzeitig vier Abfragen und führt sie aus. Dabei ruft jede Abfrage einen Teil der Daten von Oracle ab.
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 | Partitionsoptionen: Physische Partitionen der Tabelle. Abfrage: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") 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 in den Oracle Database-Daten angegeben haben. Während der Ausführung ersetzt der Dienst ?DfTabularPartitionName durch den tatsächlichen Partitionsnamen und sendet ihn an Oracle Database. |
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 ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound 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 ?DfRangePartitionColumnName , ?DfRangePartitionUpbound und ?DfRangePartitionLowbound durch die tatsächlichen Spaltennamen und Wertebereiche für jede Partition und sendet sie an Oracle Database. 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.
Tabellenzusammenfassung
Die folgenden Tabellen enthalten weitere Informationen über die Kopieraktivität in Oracle Database.
Quellinformationen
Name | Beschreibung | Wert | Erforderlich | JSON-Skripteigenschaft |
---|---|---|---|---|
Verbindung | Ihre Verbindung mit dem Quelldatenspeicher | < Ihre Oracle Database-Verbindung> | Ja | Verbindung |
Verwendungsabfrage | Die Art und Weise, Daten aus Oracle Database zu lesen. Wenden Sie Tabelle an, um Daten aus der angegebenen Tabelle zu lesen, oder wenden Sie Abfrage zum Lesen von Daten mithilfe von SQL-Abfragen an. | • Tabelle • Abfrage |
Ja | / |
Für Tabelle | ||||
Schemaname | Name des Schemas. | < Ihr Schemaname > | No | schema |
Tabellenname | Name der Tabelle. | < Ihr Tabellenname > | No | table |
For-Abfrage | ||||
Abfrage | 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 Database. |
<SQL-Abfragen> | No | oracleReaderQuery |
Partitionsoption | Die Datenpartitionierungsoptionen, mit denen Daten aus Oracle Database geladen werden. | • Keine (Standard) • Physische Partitionen der Tabelle • Dynamischer Bereich |
No | / |
Für Physische Partitionen der Tabelle | ||||
Partitionsnamen | Die Liste der physischen Partitionen, die kopiert werden müssen. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfTabularPartitionName in die WHERE-Klausel. |
< Ihre Partitionsnamen > | Nein | partitionNames |
Für den dynamischen Bereich | ||||
Partitionsspaltenname | 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. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfRangePartitionColumnName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database. |
< Namen Ihrer Partitionsspalten > | Nein | partitionColumnName |
Partitionsobergrenze | Der Höchstwert der Partitionsspalte zum Herauskopieren von Daten. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfRangePartitionUpbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database. |
< Ihre Partitionsobergrenze > | Nein | partitionUpperBound |
Partitionsuntergrenze | Der Mindestwert der Partitionsspalte zum Herauskopieren von Daten. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfRangePartitionLowbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Oracle Database. |
< Ihre Partitionsuntergrenze > | Nein | partitionLowerBound |
Abfragetimeout | Der Timeout für die Abfragebefehlsausführung beträgt standardmäßig 120 Minuten. | Zeitraum | Nein | queryTimeout |
Zusätzliche Spalten | Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt. | • Name • Wert |
Nein | additionalColumns: • Name • Wert |
Zielinformationen
Name | Beschreibung | Wert | Erforderlich | JSON-Skripteigenschaft |
---|---|---|---|---|
Verbindung | Ihre Verbindung mit dem Zieldatenspeicher. | < Ihre Oracle Database-Verbindung> | Ja | Verbindung |
Tabelle | Ihre Zieldatentabelle. | <Name Ihrer Zieltabelle> | Ja | / |
Schemaname | Name des Schemas. | < Ihr Schemaname > | Ja | schema |
Tabellenname | Name der Tabelle. | < Ihr Tabellenname > | Ja | table |
Skript vor Kopiervorgang | Eine SQL-Abfrage, die bei jeder Ausführung von der Kopieraktivität ausgeführt werden soll, bevor Daten in Oracle Database geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. | < Ihr Kopiervorbereitungsskript > | Nein | preCopyScript |
Zeitlimit für Batchschreibvorgang | Die Wartezeit für den Abschluss der Batcheinfügung, bevor ein Timeout auftritt. | Zeitraum | Nein | writeBatchTimeout |
Schreibbatchgröße | Die Anzahl der Zeilen, die pro Batch in die SQL-Tabelle eingefügt werden sollen. | integer (der Standardwert ist 10.000) |
No | writeBatchSize |
Maximal zulässige Anzahl paralleler Verbindungen | 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. | <Maximal zulässige Anzahl gleichzeitiger Verbindungen> | Nein | maxConcurrentConnections |