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.

Voraussetzungen

Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit autonomen KI-Datenbanken verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.

Abhängig von der Bereitstellungsoption müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit Amazon S3-, Azure Blob Storage- und Google Cloud Storage-Serviceprovidern zu verwenden.

Übersicht über DBMS_CLOUD_PIPELINE-Unterprogramme

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

Unterprogramm Beschreibung
CREATE_PIPELINE Prozedur Erstellt eine neue Datenpipeline.
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
START_PIPELINE Prozedur Startet die Datenpipeline. Wenn eine Pipeline gestartet wird, wird der Pipelinevorgang kontinuierlich in einem geplanten Job gemäß dem in Pipelineattributen konfigurierten "Intervall" ausgeführt.
STOP_PIPELINE Prozedur Stoppt die Datenpipeline. Wenn eine Pipeline gestoppt wird, werden keine zukünftigen Jobs für die Pipeline geplant.

CREATE_PIPELINE Prozedur

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 Identifier in der Oracle Database Database PL/SQL Language Reference oder in der Oracle Database 26ai Database PL/SQL Language Reference.

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

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

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

Verwendungshinweise

Prozedur RUN_PIPELINE_ONCE

Diese Prozedur führt eine On-Demand-Ausführung der Pipeline in der aktuellen Vordergrundsession aus, anstatt eine Ausführung in einem geplanten Job. 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.

Verwendungshinweise

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.

START_PIPELINE Prozedur

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

Verwendungshinweise

STOP_PIPELINE Prozedur

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  DEFAULTFALSE
);

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 Pipeline-Typ 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.

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 finden Sie unter field_list in Oracle Database 19c-Utilitys oder Oracle Database 26ai-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 Nr.
location

Dieser Parameter gibt die URI der Quelldatei oder Verzeichnisse und Quelldateien an. Sie können Platzhalter in den Dateinamen verwenden.

Dieser Parameter ist obligatorisch.

URIs für Cloud-Quelldatei

Sie können eine Quelldatei-URI für Bucket oder Unterordner angeben. Sie können Platzhalter verwenden, um Unterordner oder Dateinamensmuster anzugeben. Das Zeichen "\*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden.

Beispiel mit Platzhaltern:

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für Cloud Object Storage.

Verzeichnis

Sie können ein Verzeichnis und einen Dateinamen angeben. Das Format für die Angabe eines Verzeichnisses lautet 'MY_DIR:filename.ext'. Standardmäßig ist der Verzeichnisname MY_DIR ein Datenbankobjekt, bei dem die Groß-/Kleinschreibung nicht beachtet wird. Beim Dateinamen muss die Groß-/Kleinschreibung beachtet werden.

Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden, und das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden.

Beispiel: 'MY_DIR:*" oder 'MY_DIR:test?'

Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird.

Beispiel: '"my_dir1":*, "my_dir2":Test?'

Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen.

Beispiel: 'MY_DIR:''filename.ext'. Gibt an, dass der Dateiname mit einem Anführungszeichen (') beginnt.

   
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 Nr.
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 obligatorisch.

LOAD, EXPORT Nr.
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 Nr.

Verwandte Inhalte