DBMS_CLOUD_PIPELINE-Package

Mit dem Package DBMS_CLOUD_PIPELINE können Sie Datenpipelines zum Laden und Exportieren von Daten in die Cloud erstellen. Dieses Package unterstützt das kontinuierliche inkrementelle Laden von Dateien im Objektspeicher in die Datenbank. DBMS_CLOUD_PIPELINE unterstützt auch den kontinuierlichen inkrementellen Export von Tabellendaten oder Abfrageergebnissen aus der Datenbank in den Objektspeicher basierend auf einer Zeitstempelspalte.

Zusammenfassung der DBMS_CLOUD_PIPELINE-Unterprogramme

In dieser Tabelle werden die Unterprogramme zusammengefasst, die im Package DBMS_CLOUD_PIPELINE enthalten sind.

Unterprogramm Beschreibung

Prozedur CREATE_PIPELINE

Erstellt eine neue Datenpipeline.

Prozedur DROP_PIPELINE

Löscht eine vorhandene Datenpipeline.

Prozedur RESET_PIPELINE

Setzt den Tracking-Status einer Datenpipeline zurück. Verwenden Sie die Pipeline zum Zurücksetzen, um die Pipeline vom anfänglichen Status des Dataloads oder -exports neu zu starten. Optional kann die Pipeline Daten in der Datenbank oder im Objektspeicher löschen, je nach Typ der Pipeline.

Prozedur RUN_PIPELINE_ONCE

Führt eine On-Demand-Ausführung der Pipeline in der aktuellen Vordergrundsession anstelle eines geplanten Jobs aus.

Prozedur SET_ATTRIBUTE

Legt Pipelineattribute fest. Es gibt zwei überladene Prozeduren, eine zum Festlegen eines einzelnen Attributs und eine andere zum Festlegen mehrerer Attribute mit einem JSON-Dokument mit Attributnamen/Wert-Paaren

Prozedur START_PIPELINE

Startet die Datenpipeline. Wenn eine Pipeline gestartet wird, wird der Pipelinevorgang kontinuierlich in einem geplanten Job gemäß dem in Pipelineattributen konfigurierten "Intervall" ausgeführt.

Prozedur STOP_PIPELINE

Stoppt die Datenpipeline. Wenn eine Pipeline gestoppt wird, werden keine zukünftigen Jobs für die Pipeline geplant.

Prozedur CREATE_PIPELINE

Die Prozedur erstellt eine neue Datenpipeline.

Syntax

DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      pipeline_type        IN   VARCHAR2,
      attributes           IN   CLOB        DEFAULT NULL,
      description          IN   VARCHAR2    DEFAULT NULL
);

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die Pipeline an. Der Name der Pipeline muss den Benennungsregeln von Oracle SQL-IDs entsprechen. Weitere Informationen finden Sie unter IDs.

Dieser Parameter ist obligatorisch.

pipeline_type

Gibt den Pipeline-Typ an.

Gültige Werte: LOAD, EXPORT

Dieser Parameter ist obligatorisch.

attributes

Pipelineattribute im JSON-Format.

Standardwert: NULL

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attribute.

description

Beschreibung für die Pipeline.

Standardwert: NULL

Prozedur DROP_PIPELINE

Die Prozedur löscht eine vorhandene Datenpipeline. Wenn eine Pipeline gestartet wurde, muss sie gestoppt werden, bevor sie gelöscht werden kann.

Syntax

DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       force                IN   BOOLEAN DEFAULT FALSE
 );

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Pipelinenamen an.

Dieser Parameter ist obligatorisch.

force

Löschen Sie eine Pipeline zwangsweise, auch wenn sie sich im Status "Gestartet" befindet.

Gültige Werte: TRUE, FALSE

Standardwert: FALSE

Hinweis zur Verwendung

  • Um eine Pipeline im Status "Gestartet" zu löschen, setzen Sie den Parameter force auf TRUE.

Prozedur RESET_PIPELINE

Setzt den Tracking-Status einer Datenpipeline zurück. Verwenden Sie die Pipeline zum Zurücksetzen, um die Pipeline vom anfänglichen Status des Dataloads oder -exports neu zu starten. Optional kann die Pipeline Daten in der Datenbank oder im Objektspeicher löschen, je nach Typ der Pipeline. Eine Datenpipeline muss den Status "Gestoppt" aufweisen, um sie zurückzusetzen.

Syntax

DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       purge_data           IN   BOOLEAN DEFAULT FALSE
 );

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die Pipeline an.

Dieser Parameter ist obligatorisch.

purge_data

Das Löschen von Daten gilt entweder für eine Ladepipeline oder eine Exportpipeline:

  • Wenn Sie für eine Ladepipeline TRUE verwenden, leeren Sie die Daten in der Datenbanktabelle.

  • Löschen Sie bei einer Exportpipeline die Dateien im Objektspeicherverzeichnis, wenn Sie TRUE verwenden.

Gültige Werte: TRUE, FALSE

Standardwert: FALSE

Hinweise zur Verwendung

  • Eine Datenpipeline muss den Status "Gestoppt" aufweisen, um sie zurückzusetzen. Weitere Informationen finden Sie unter Prozedur STOP_PIPELINE.

  • Beim Zurücksetzen der Pipeline für eine Ladepipeline wird der Datensatz der von der Pipeline geladenen Dateien gelöscht. Wenn Sie nach dem Zurücksetzen einer Ladepipeline START_PIPELINE oder RUN_PIPELINE_ONCE aufrufen, wiederholt die Pipeline den Dataload und enthält alle Dateien, die im Objektspeicherverzeichnis vorhanden sind.

    Wenn purge_data auf TRUE gesetzt ist, führt DBMS_CLOUD_PIPELINE.RESET_PIPELINE die folgenden Schritte aus:

    • Schneidet die Daten in der von Ihnen angegebenen Datenbanktabelle der Pipeline mit dem Attribut table_name ab.

    • Löscht die Statustabelle der Pipeline sowie die ungültige Dateitabelle und Fehlertabelle der Pipeline (sofern vorhanden).

  • Beim Zurücksetzen der Pipeline für eine Exportpipeline werden die zuletzt verfolgten Daten in der Datenbanktabelle gelöscht. Wenn Sie START_PIPELINE oder RUN_PIPELINE_ONCE nach dem Zurücksetzen einer Exportpipeline aufrufen, wiederholt die Pipeline den Export von Daten aus der Tabelle oder Abfrage.

    Wenn purge_data auf TRUE gesetzt ist, löscht DBMS_CLOUD_PIPELINE.RESET_PIPELINE vorhandene Dateien im Objektspeicherort, der mit dem Attribut location angegeben ist.

Prozedur RUN_PIPELINE_ONCE

Diese Prozedur führt eine On-Demand-Ausführung der Pipeline in der aktuellen Vordergrundsession aus, anstatt dass sie in einem geplanten Job ausgeführt wird. Verwenden Sie DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE, um eine Pipeline zu testen, bevor Sie die Pipeline als kontinuierlichen Job starten.

Syntax

DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
       pipeline_name  IN  VARCHAR2
);

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die auszuführende Pipeline an.

Dieser Parameter ist obligatorisch.

Hinweise zur Verwendung

  • Nachdem Sie einen Testlauf einer Pipeline ausgeführt haben, können Sie den Pipelinestatus mit DBMS_CLOUD_PIPELINE.RESET_PIPELINE zurücksetzen. Auf diese Weise können Sie den Pipelinestatus zurücksetzen, bevor Sie die Pipeline in einem geplanten Job starten.

  • Wenn sich eine Pipeline im Status "Gestartet" befindet, kann sie nicht in der Vordergrundsession ausgeführt werden.

Prozedur SET_ATTRIBUTE

Diese Prozedur legt Pipelineattribute fest. Es gibt zwei überladene Prozeduren, eine zum Festlegen eines einzelnen Attributs und eine andere zum Festlegen mehrerer Attribute mit einem JSON-Dokument mit Attributnamen/Wert-Paaren.

Syntax

PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attribute_name       IN   VARCHAR2,
      attribute_value      IN   CLOB
);
 
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attributes           IN   CLOB
);

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die Pipeline zum Festlegen von Attributen an.

Dieser Parameter ist obligatorisch.

attribute_name

Gibt den Attributnamen für das festzulegende Attribut an.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attribute.

attribute_value

Gibt den Wert für das festzulegende Pipelineattribut an.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attribute.

attributes

Gibt ein JSON-Dokument mit Attributnamen und -werten an.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attribute.

Hinweis zur Verwendung

  • Wenn Sie DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE verwenden, um mehrere Attribute mit dem Parameter attributes festzulegen, werden alle vorhandenen Attribute gelöscht und mit den angegebenen Attributen aus dem JSON-Dokument überschrieben.

Prozedur START_PIPELINE

Die Prozedur startet die Datenpipeline. Wenn eine Pipeline gestartet wird, wird der Pipelinevorgang entsprechend der mit den Pipelineattributen konfigurierten interval kontinuierlich in einem geplanten Job ausgeführt.

Syntax

DBMS_CLOUD_PIPELINE.START_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      start_date           IN   TIMESTAMP WITH TIME ZONE DEFAULT NULL
);

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die Pipeline an.

Dieser Parameter ist obligatorisch.

start_date

Gibt das Startdatum für den Pipelinejob an.

Standardwert: NULL

Hinweise zur Verwendung

  • Standardmäßig wird ein Pipelinejob sofort gestartet, sobald die Pipeline gestartet wird. Um einen Pipelinejob zu einem späteren Zeitpunkt zu starten, geben Sie mit dem Parameter start_date ein gültiges Datum oder einen gültigen Zeitstempel an.

  • Informationen zu der Pipeline interval und anderen Pipelineattributen finden Sie unter DBMS_CLOUD_PIPELINE-Attribute.

Prozedur STOP_PIPELINE

Die Prozedur stoppt die Datenpipeline. Wenn eine Pipeline gestoppt wird, werden keine zukünftigen Jobs für die Pipeline geplant.

Syntax

DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      force                IN   BOOLEAN  DEFAULT  FALSE
);

Parameter

Parameter Beschreibung

pipeline_name

Gibt einen Namen für die Pipeline an.

Dieser Parameter ist obligatorisch.

force

Wenn der Force-Parameter als TRUE übergeben wird, werden alle ausgeführten Jobs für die Pipeline beendet.

Gültige Werte: TRUE, FALSE

Standardwert: FALSE

DBMS_CLOUD_PIPELINE-Attribute

Mit Attributen können Sie das Verhalten einer Datenpipeline steuern und konfigurieren.

Attribute

Hinweis

Wie in der Spalte Pipelinetyp angegeben, unterstützt eine Pipeline je nach Pipelinetyp LOAD oder EXPORT ein anderes Attributset.
Attributname Beschreibung Pipelinetyp Nach Pipelinebeginn veränderbar
credential_name

Der Name der Zugangsdaten für den Zugriff auf den Cloud-Quellobjektspeicher.

Sie können 'OCI$RESOURCE_PRINCIPAL' als credential_name verwenden, wenn der Resource Principal aktiviert ist. Die folgenden Zugangsdaten werden ebenfalls unterstützt: Amazon Resource Names, Azure Service Principal oder Google Service Account. Weitere Informationen finden Sie unter Policys und Rollen zum Zugriff auf Ressourcen konfigurieren.

Standardwert: NULL.

Wenn Sie keine credential_name angeben, wird credential_name auf NULL gesetzt.

LOAD, EXPORT Ja
field_list

Gibt die Felder in den Quelldateien und deren Datentypen an. Die Syntax dieses Arguments entspricht der field_list-Klausel in regulären externen Oracle-Tabellen. Weitere Informationen zu field_list finden Sie unter Oracle® Database-Utilitys.

Standardwert: NULL

Der Standardwert gibt die Felder an, und ihre Datentypen werden durch die Spalten in der Tabelle bestimmt, die im Attribut table_name angegeben ist.

LOAD Ja
format

Die Optionen, die das Format für den Pipeline-Typ beschreiben.

Datapump format wird für eine Exportpipeline nicht unterstützt.

Dieses Attribut ist sowohl für die Pipelines LOAD als auch EXPORT erforderlich.

LOAD, EXPORT Ja
interval

Das Zeitintervall in Minuten zwischen aufeinanderfolgenden Ausführungen des geplanten Pipelinejobs.

Standardwert: 15 Minuten

LOAD, EXPORT Ja
key_column

Eine Zeitstempel- oder Datumsspalte in der angegebenen table oder query, um neuere Daten kontinuierlich in den Objektspeicher zu exportieren. Der Zeitstempel oder das Datum der letzten Ausführung wird von der Exportpipeline verfolgt und mit dem Wert in der key_column verglichen, um neue Daten für den Export in den Objektspeicher zu identifizieren.

Standardwert: NULL

Wenn key_column für eine Exportpipeline nicht angegeben ist, wird der gesamte Inhalt von table oder query in den Objektspeicher in jeder Pipelinejobausführung hochgeladen.

EXPORT Nein
location

Gibt eine URI an, die auf einen Object Storage-Speicherort verweist.

Das Format der URI ist vom Cloud Object Storage-Service abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate.

Dieses Attribut ist sowohl für die Pipelines LOAD als auch EXPORT erforderlich.

LOAD, EXPORT Nein
priority

Gibt einen Zeichenfolgenwert an, der die Anzahl der parallelen Vorgänge bestimmt, die für die Pipeline ausgeführt werden.

  • In einer Ladepipeline bestimmt sie die Anzahl der parallel geladenen Dateien.

  • In einer Exportpipeline bestimmt sie den Parallelisierungsgrad für das Abrufen von Daten aus der Datenbank.

Ein Vorgang mit einer höheren Priorität belegt mehr Datenbankressourcen und wird früher abgeschlossen.

Gültige Werte:

  • HIGH: Bestimmt die Anzahl der parallelen Dateien, die mit der ECPU-Anzahl der Datenbank verarbeitet werden (OCPU-Anzahl, wenn Ihre Datenbank OCPUs verwendet).
  • MEDIUM: Bestimmt die Anzahl gleichzeitiger Prozesse mit dem Nebenläufigkeitslimit für den Mediumservice. Der Standardwert ist 4.
  • LOW: Führen Sie den Pipelinejob in serieller Reihenfolge aus.

Standardwert: MEDIUM

Die maximale Anzahl nebenläufiger Dateivorgänge ist auf 64 begrenzt.

LOAD, EXPORT Ja
query

Gibt eine SELECT-Anweisung an, sodass nur die erforderlichen Daten exportiert werden. Die Abfrage bestimmt den Inhalt der Dateien, die Sie als Textdateien (CSV-, JSON-, Parquet- oder XML-Dateien) oder Dumpdateien exportieren.

Beispiel:

SELECT warehouse_id, quantity FROM inventories

Standardwert: NULL

Für eine Exportpipeline ist entweder table_name oder query erforderlich.

EXPORT Nein
table_name

Gibt den Namen der Zieltabelle für das Laden oder Exportieren von Daten an.

Für eine Ladepipeline ist table_name obligatorisch.

Für eine Exportpipeline ist entweder table_name oder query erforderlich.

LOAD, EXPORT Nein
table_owner

Der Name des Schemas, in dem sich die Zieltabelle zum Laden oder Exportieren von Daten befindet.

Standardwert: NULL

Mit einem NULL-Wert befindet sich die Zieltabelle im selben Schema wie der Benutzer, der die Prozedur ausführt.

LOAD, EXPORT Nein