DBMS_CLOUD_PIPELINE-Package

Mit dem Package DBMS_CLOUD_PIPELINE können Sie Datenpipelines zum Laden und Exportieren von Daten in der 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 Autonomous Databases verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.

Je nach Deployment-Auswahl müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit den Serviceprovidern Amazon S3, Azure Blob Storage und Google Cloud Storage zu verwenden.

Eine ausgehende Konnektivität muss von Ihrem Flottenadministrator mit einem NAT-Gateway konfiguriert worden sein, wie unten beschrieben:
  • Erstellen Sie ein NAT-Gateway im virtuellen Cloud-Netzwerk (VCN), in dem sich Ihre Autonomous Database-Ressourcen befinden, indem Sie die Anweisungen unter NAT-Gateway erstellen in der Oracle Cloud Infrastructure-Dokumentation befolgen.
  • Nachdem Sie das NAT-Gateway erstellt haben, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Autonomous Database-Ressourcen befinden. So können diese Ressourcen mit dem Gateway einen Public Key aus Ihrer Azure AD-Instanz abrufen:
    1. Gehen Sie zur Seite Subnetzdetails für das Subnetz.
    2. Klicken Sie auf der Registerkarte Informationen zum Subnetz auf den Namen der Routentabelle des Subnetzes, um die Seite Routentabellendetails anzuzeigen.
    3. Prüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
      • Zielort: 0.0.0.0/0
      • Zieltyp: NAT-Gateway
      • Ziel: Der Name des NAT-Gateway, das Sie gerade im VCN erstellt haben

      Wenn keine solche Regel vorhanden ist, klicken Sie auf Routenregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Eigenschaften hinzu.

    4. Zurück zur Seite Subnetzdetails für das Subnetz.
    5. Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um die Seite Sicherheitslistendetails anzuzeigen.
    6. Klicken Sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
    7. Prüfen Sie in der Tabelle der vorhandenen Ausgangsregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
      • Zieltyp: CIDR
      • Zielort: 0.0.0.0/0
      • IP-Protokoll: TCP
      • Quellportbereich: 443
      • Ziel-Portbereich: Alle

      Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Eigenschaften hinzu.

Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.

Diese Einstellungen werden vom Flottenadministrator beim Erstellen der Exadata Cloud@Customer-Infrastruktur definiert, wie unter Exadata Database Service on Cloud@Customer mit der Konsole bereitstellen beschrieben.

Hinweis:

Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis sich die Exadata-Infrastruktur im Status Aktivierung erforderlich befindet. Sobald sie aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.

Für die Einrichtung eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Informationen finden Sie unter Serviceanfrage in My Oracle Support erstellen.

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 Verfolgungsstatus einer Datenpipeline zurück. Verwenden Sie die Reset-Pipeline, um die Pipeline aus dem 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 Pipeline-Typ.

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 mithilfe eines JSON-Dokuments mit Attributnamen/Wert-Paaren

Prozedur START_PIPELINE

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

Prozedur STOP_PIPELINE

Stoppt die Datenpipeline. Wenn eine Pipeline gestoppt wird, sind 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 Pipelinename muss den Benennungsregeln der Oracle SQL-IDs entsprechen. Weitere Informationen finden Sie unter IDs in der Oracle Database Database PL/SQL Language Reference oder in der Oracle Database 23ai Database PL/SQL Language Reference.

Dieser Parameter ist erforderlich.

pipeline_type

Gibt den Pipelinetyp an.

Gültige Werte: LOAD, EXPORT

Dieser Parameter ist erforderlich.

attributes

Pipelineattribute im JSON-Format.

Standardwert: NULL

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attributes.

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

force

Löschen einer Pipeline erzwingen, auch wenn sie sich im Status "Gestartet" befindet.

Gültige Werte sind 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 Verfolgungsstatus einer Datenpipeline zurück. Verwenden Sie die Reset-Pipeline, um die Pipeline aus dem 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 Pipeline-Typ. 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 erforderlich.

purge_data

Löschdaten werden entweder für eine Ladepipeline oder für eine Exportpipeline angewendet:

  • Schneiden Sie bei einer Ladepipeline bei TRUE die Daten in der Datenbanktabelle ab.

  • Löschen Sie bei einer Exportpipeline bei TRUE die Dateien im Objektspeicherort.

Gültige Werte sind TRUE, FALSE.

Standardwert: FALSE

Verwendungshinweise

  • 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 Dateien gelöscht, die von der Pipeline geladen werden. Wenn Sie START_PIPELINE oder RUN_PIPELINE_ONCE nach dem Zurücksetzen einer Ladepipeline aufrufen, wiederholt die Pipeline den Dataload und enthält alle Dateien, die im Objektspeicherort vorhanden sind.

    Wenn purge_data auf TRUE gesetzt ist, führt DBMS_CLOUD_PIPELINE.RESET_PIPELINE Folgendes aus:

    • Schneidet die Daten in der Datenbanktabelle der Pipeline ab, die Sie mit dem Attribut table_name angeben.

    • Löscht die Statustabelle der Pipeline sowie die fehlerhafte Dateitabelle und die 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 wird.

Prozedur RUN_PIPELINE_ONCE

Diese Prozedur führt eine On-Demand-Ausführung der Pipeline in der aktuellen Vordergrundsession statt einer Ausführung in einem geplanten Job aus. Verwenden Sie DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE, um eine Pipeline zu testen, bevor Sie die Pipeline als kontinuierlicher 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 erforderlich.

Verwendungshinweise

  • Nachdem Sie eine Testausführung 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 eine Pipeline den Status "Gestartet" aufweist, 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 weitere zum Festlegen mehrerer Attribute mithilfe eines JSON-Dokuments 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 an, um Attribute festzulegen.

Dieser Parameter ist erforderlich.

attribute_name

Gibt den Attributnamen für das festzulegende Attribut an.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attributes.

attribute_value

Gibt den Wert für das festzulegende Pipelineattribut an.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attributes.

attributes

Gibt ein JSON-Dokument an, das Attributnamen und -werte enthält.

Weitere Informationen finden Sie unter DBMS_CLOUD_PIPELINE Attributes.

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

Mit diesem Verfahren wird die Datenpipeline gestartet. Wenn eine Pipeline gestartet wird, wird der Pipelinevorgang kontinuierlich in einem geplanten Job gemäß dem mit den Pipelineattributen konfigurierten interval 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 erforderlich.

start_date

Gibt das Startdatum für den Pipelinejob an.

Standardwert: NULL

Verwendungshinweise

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

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

Prozedur STOP_PIPELINE

Die Prozedur stoppt die Datenpipeline. Wenn eine Pipeline gestoppt wird, sind 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 erforderlich.

force

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

Gültige Werte sind TRUE, FALSE.

Standardwert: FALSE

DBMS_CLOUD_PIPELINE-Attribute

Attribute helfen bei der Steuerung und Konfiguration des Verhaltens einer Datenpipeline.

Attribute

Hinweis:

Wie in der Spalte Pipeline-Typ angegeben, unterstützt eine Pipeline je nach Pipelinetyp LOAD oder EXPORT ein anderes Set von Attributen.
Attributname Beschreibung Pipeline-Typ Kann nach Pipeline-Start geändert werden
credential_name

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

Standardwert: NULL.

Wenn Sie credential_name nicht 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 Utilities oder Oracle Database 23ai Utilities.

Standardwert: NULL

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

LOAD Ja
format

Die Optionen zur Beschreibung des Formats für den Pipelinetyp.

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

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

LOAD, EXPORT Ja
interval

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

Standardwert: 15 Minuten

LOAD, EXPORT Ja
key_column

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

Standardwert: NULL

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

EXPORT Nr.
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 URI-Formate für Cloud-Objektspeicher.

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

LOAD, EXPORT Nr.
priority

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

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

  • In einer Exportpipeline bestimmt sie den Parallelitätsgrad 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 die Datenbank OCPUs verwendet).
  • MEDIUM: Bestimmt die Anzahl gleichzeitiger Prozesse mit dem Nebenläufigkeitslimit für den Medium-Service. Der Standardwert ist 4.
  • LOW: Führen Sie den Pipelinejob in serieller Reihenfolge aus.

Standardwert: MEDIUM

Die maximale Anzahl gleichzeitiger Dateivorgänge ist auf 64 begrenzt.

LOAD, EXPORT Ja
query

Gibt eine SELECT-Anweisung an, mit der nur die erforderlichen Daten exportiert werden. Die Abfrage bestimmt den Inhalt der Dateien, die Sie als Textdateien (CSV, JSON, Parquet oder XML) 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 zum Laden oder Exportieren von Daten an.

Für eine Ladepipeline ist table_name erforderlich.

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

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 ausgeführt hat.

LOAD, EXPORT Nr.