DBMS_CLOUD für Dateiverwaltung im Bulkverfahren

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-Subpgrogramme im Bulkverfahren

Die Unterprogramme für Bulk-Dateivorgänge im DBMS_CLOUD-Package.

Unterprogramm Beschreibung
Prozedur BULK_COPY Bei dieser Prozedur werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen kopiert.
Prozedur BULK_DELETE Mit dieser Prozedur werden Dateien aus dem Cloud-Objektspeicher-Bucket oder -Ordner gelöscht.
BULK_DOWNLOAD-Verfahren Mit dieser Prozedur werden Dateien aus dem Cloud-Objektspeicher-Bucket in ein Verzeichnis in der autonomen KI-Datenbank heruntergeladen.
Prozedur BULK_MOVE Mit diesem Verfahren werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen verschoben.
BULK_UPLOAD-Verfahren Bei dieser Prozedur werden Dateien aus einem Verzeichnis in der autonomen KI-Datenbank in den Cloud-Objektspeicher hochgeladen.

Prozedur BULK_COPY

Mit dieser Prozedur werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen kopiert. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden.

Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE kompatibel ist.

Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.

Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.

Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet.

Syntax

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parameter

Parameter Beschreibung
source_credential_name

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

Wenn Sie keinen source_credential_name-Wert angeben, wird credential_name auf NULL gesetzt.

source_location_uri

Gibt die URI an, die auf den Quell-Object Storage-Bucket oder den Quellordner verweist.

Dieser Parameter ist obligatorisch.

URIs für Cloud-Quelldatei

Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden.

Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter regexuri format auf TRUE gesetzt ist.

Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter regexuri auf FALSE gesetzt ist. Wenn der Parameter regexuri auf TRUE gesetzt ist, sind die Zeichen "*" und "?" Teil des angegebenen regulären Ausdrucksmusters.

Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion REGEXP_LIKE ausgeführt wird.

Beispiel für die Verwendung regulärer Ausdrücke

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Beispiel mit Platzhaltern:

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

Weitere Informationen zur REGEXP_LIKE-Bedingung finden Sie unter REGEXP_LIKE-Bedingung in der Oracle Database 19c SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.

target_location_uri

Gibt die URI für den Ziel-Object Storage-Bucket oder -Ordner an, in den die Dateien kopiert werden müssen.

Dieser Parameter ist obligatorisch.

Gibt den URI an, der auf den Quell-Object Storage-Bucket oder den Quellordner verweist.

Dieser Parameter ist obligatorisch.

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

target_credential_name

Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels.

Wenn Sie keinen target_credential_name-Wert angeben, wird target_location_uri auf den source_credential_name-Wert gesetzt.

regex_filter

Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator REGEXP_LIKE kompatibel sein.

Wenn Sie keinen regex_filter-Wert angeben, wird regex_filter auf NULL gesetzt.

Weitere Informationen finden Sie unter Bedingung REGEXP_LIKE.

format

Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben.

Folgende Formatoptionen werden unterstützt:

  • logretention: Es akzeptiert einen Ganzzahlwert, der die Dauer in Tagen bestimmt, für die die Statustabelle für einen Bulkvorgang beibehalten wird.

    Der Standardwert ist 2 Tage.

  • logprefix: Es akzeptiert einen Zeichenfolgenwert, der die Präfixzeichenfolge für die Statustabelle für den Bulkvorgang bestimmt.

    Der Vorgangstyp ist der Standardwert. Bei BULK_COPY ist der Standardwert logprefix COPYOBJ.

  • priority: Es akzeptiert einen Zeichenfolgenwert, der die Anzahl der gleichzeitig ausgeführten Dateivorgänge bestimmt.

    Ein Vorgang mit einer höheren Priorität belegt mehr Datenbankressourcen und sollte schneller ausgeführt werden.

    Folgende Werte werden akzeptiert:

    • 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: Verarbeiten Sie die Dateien in serieller Reihenfolge.

    Der Standardwert ist MEDIUM.

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

Wenn Sie keinen format-Wert angeben, wird format auf NULL gesetzt.

operation_id Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View USER_LOAD_OPERATIONS verfolgen.

Hinweis: Ein Fehler wird zurückgegeben, wenn die Quell- und Ziel-URI auf denselben Objektspeicher-Bucket oder -Ordner verweisen.

Beispiel

BEGIN
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format       => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/

Prozedur BULK_DELETE

Mit dieser Prozedur werden Dateien im Bulkverfahren aus dem Cloud Object Storage gelöscht. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden. Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE kompatibel ist.

Syntax

DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameter

Parameter Beschreibung
credential_name

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

Wenn Sie keinen credential_name-Wert angeben, wird credential_name auf NULL gesetzt.

location_uri

Gibt eine URI an, die auf einen Object Storage-Speicherort in der autonomen KI-Datenbank verweist.

Dieser Parameter ist obligatorisch.

URIs für Cloud-Quelldatei

Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden.

Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter regexuri format auf TRUE gesetzt ist.

Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter regexuri auf FALSE gesetzt ist. Wenn der Parameter regexuri auf TRUE gesetzt ist, sind die Zeichen "*" und "?" Teil des angegebenen regulären Ausdrucksmusters.

Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion REGEXP_LIKE ausgeführt wird.

Beispiel:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

Weitere Informationen zur REGEXP_LIKE-Bedingung finden Sie unter REGEXP_LIKE-Bedingung in der Oracle Database 19c SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.

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

regex_filter

Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator REGEXP_LIKE kompatibel sein.

Wenn Sie keinen regex_filter-Wert angeben, wird regex_filter auf NULL gesetzt.

Weitere Informationen finden Sie unter Bedingung REGEXP_LIKE.

format

Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben.

Folgende Formatoptionen werden unterstützt:

  • logretention: Es akzeptiert einen Ganzzahlwert, der die Dauer in Tagen bestimmt, für die die Statustabelle für einen Bulkvorgang beibehalten wird.

    Der Standardwert ist 2 Tage.

  • logprefix: Es akzeptiert einen Zeichenfolgenwert, der die Präfixzeichenfolge für die Statustabelle für den Bulkvorgang bestimmt.

    Der Vorgangstyp ist der Standardwert. Bei BULK_DELETE ist der Standardwert logprefix DELETE.

  • priority: Es akzeptiert einen Zeichenfolgenwert, der die Anzahl der gleichzeitig ausgeführten Dateivorgänge bestimmt.

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

    Folgende Werte werden akzeptiert:

    • 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: Verarbeiten Sie die Dateien in serieller Reihenfolge.

    Der Standardwert ist MEDIUM.

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

Wenn Sie keinen format-Wert angeben, wird format auf NULL gesetzt.

operation_id Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View USER_LOAD_OPERATIONS verfolgen.

Beispiel

BEGIN
DBMS_CLOUD.BULK_DELETE (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

BULK_DOWNLOAD-Verfahren

Mit diesem Verfahren werden Dateien aus Cloud Object Storage in ein autonomes AI-Datenbankverzeichnis heruntergeladen. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden. Sie können die Liste der herunterzuladenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE kompatibel ist.

Syntax

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameter

Parameter Beschreibung
credential_name

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

Wenn Sie keinen credential_name-Wert angeben, wird credential_name auf NULL gesetzt.

location_uri

Gibt eine URI an, die auf einen Object Storage-Speicherort in der autonomen KI-Datenbank verweist.

Dieser Parameter ist obligatorisch.

URIs für Cloud-Quelldatei

Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden.

Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter regexuri format auf TRUE gesetzt ist.

Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter regexuri auf FALSE gesetzt ist. Wenn der Parameter regexuri auf TRUE gesetzt ist, sind die Zeichen "*" und "?" Teil des angegebenen regulären Ausdrucksmusters.

Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion REGEXP_LIKE ausgeführt wird.

Beispiel:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

Weitere Informationen zur REGEXP_LIKE-Bedingung finden Sie unter REGEXP_LIKE-Bedingung in der Oracle Database 19c SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.

directory_name

Der Name des Verzeichnisses in der autonomen KI-Datenbank, aus dem Sie die Dateien herunterladen möchten.

Dieser Parameter ist obligatorisch.

regex_filter

Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator REGEXP_LIKE kompatibel sein.

Wenn Sie keinen regex_filter-Wert angeben, wird regex_filter auf NULL gesetzt.

Weitere Informationen finden Sie unter Bedingung REGEXP_LIKE.

format

Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben.

Folgende Formatoptionen werden unterstützt:

  • logretention: Es akzeptiert einen Ganzzahlwert, der die Dauer in Tagen bestimmt, für die die Statustabelle für einen Bulkvorgang beibehalten wird.

    Der Standardwert ist 2 Tage.

  • logprefix: Es akzeptiert einen Zeichenfolgenwert, der die Präfixzeichenfolge für die Statustabelle für den Bulkvorgang bestimmt. Für BULK_DOWNLOAD ist der Standardwert logprefix DOWNLOAD.

    Der Vorgangstyp ist der Standardwert.

  • priority: Es akzeptiert einen Zeichenfolgenwert, der die Anzahl der gleichzeitig ausgeführten Dateivorgänge bestimmt.

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

    Folgende Werte werden akzeptiert:

    • 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: Verarbeiten Sie die Dateien in serieller Reihenfolge.

    Der Standardwert ist MEDIUM.

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

Wenn Sie keinen format-Wert angeben, wird format auf NULL gesetzt.

operation_id Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View USER_LOAD_OPERATIONS verfolgen.

Beispiel

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

Prozedur BULK_MOVE

Mit dieser Prozedur werden Dateien per Bulkvorgang von einem Cloud Object Storage-Bucket oder -Ordner in einen anderen verschoben. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden.

Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE kompatibel ist.

Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.

Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.

Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet, wenn kein Zielzugangsdatenname angegeben ist.

Der erste Schritt beim Verschieben von Dateien besteht darin, sie in den Zielspeicherort zu kopieren und dann die Quelldateien zu löschen, sobald sie erfolgreich kopiert wurden.

Das Objekt wird umbenannt und nicht verschoben, wenn der Objektspeicher Umbenennungsvorgänge zwischen Quell- und Zielspeicherorten zulässt.

Syntax

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parameter

Parameter Beschreibung
source_credential_name

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

Wenn Sie keinen source_credential_name-Wert angeben, wird credential_name auf NULL gesetzt.

source_location_uri

Gibt die URI an, die auf den Quell-Object Storage-Bucket oder den Quellordner verweist.

Dieser Parameter ist obligatorisch.

URIs für Cloud-Quelldatei

Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden.

Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter regexuri format auf TRUE gesetzt ist.

Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter regexuri auf FALSE gesetzt ist. Wenn der Parameter regexuri auf TRUE gesetzt ist, sind die Zeichen "*" und "?" Teil des angegebenen regulären Ausdrucksmusters.

Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion REGEXP_LIKE ausgeführt wird.

Beispiel für die Verwendung regulärer Ausdrücke

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Beispiel mit Platzhaltern:

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

Weitere Informationen zur REGEXP_LIKE-Bedingung finden Sie unter REGEXP_LIKE-Bedingung in der Oracle Database 19c SQL Language Reference oder in der Oracle Database 26ai SQL Language Reference.

target_location_uri

Gibt die URI für den Object Storage-Ziel-Bucket oder -Ordner an, in den die Dateien verschoben werden müssen.

Dieser Parameter ist obligatorisch.

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

target_credential_name

Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels.

Wenn Sie keinen target_credential_name-Wert angeben, wird target_location_uri auf den source_credential_name-Wert gesetzt.

regex_filter

Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator REGEXP_LIKE kompatibel sein.

Wenn Sie keinen regex_filter-Wert angeben, wird regex_filter auf NULL gesetzt.

Weitere Informationen finden Sie unter Bedingung REGEXP_LIKE.

format

Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben.

Folgende Formatoptionen werden unterstützt:

  • logretention: Es akzeptiert einen Ganzzahlwert, der die Dauer in Tagen bestimmt, für die die Statustabelle für einen Bulkvorgang beibehalten wird.

    Der Standardwert ist 2 Tage.

  • logprefix: Es akzeptiert einen Zeichenfolgenwert, der die Präfixzeichenfolge für die Statustabelle für den Bulkvorgang bestimmt.

    Der Vorgangstyp ist der Standardwert. Bei BULK_MOVE ist der Standardwert logprefix MOVE.

  • priority: Es akzeptiert einen Zeichenfolgenwert, der die Anzahl der gleichzeitig ausgeführten Dateivorgänge bestimmt.

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

    Folgende Werte werden akzeptiert:

    • 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: Verarbeiten Sie die Dateien in serieller Reihenfolge.

    Der Standardwert ist MEDIUM.

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

Wenn Sie keinen format-Wert angeben, wird format auf NULL gesetzt.

operation_id Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View USER_LOAD_OPERATIONS verfolgen.

Beispiel

BEGIN
DBMS_CLOUD.BULK_MOVE (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

Hinweis: Ein Fehler wird zurückgegeben, wenn die Quell- und Ziel-URI auf denselben Objektspeicher-Bucket oder -Ordner verweisen.

BULK_UPLOAD-Verfahren

Bei dieser Prozedur werden Dateien aus einem autonomen AI-Datenbankverzeichnis in Cloud Object Storage kopiert. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden.

Syntax

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameter

Parameter Beschreibung
credential_name

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

Wenn Sie keinen credential_name-Wert angeben, wird credential_name auf NULL gesetzt.

location_uri

Gibt einen URI an, der auf einen Object Storage-Speicherort verweist, um Dateien hochzuladen.

Dieser Parameter ist obligatorisch.

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

directory_name

Der Name des Verzeichnisses in der autonomen KI-Datenbank, aus dem Sie Dateien hochladen.

Dieser Parameter ist obligatorisch.

Verzeichnis

Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. 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.

Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden, das Zeichen "?" als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel:'MY_DIR:*" oder 'MY_DIR:test?'

Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel:'MY_DIR1:*, MY_DIR2: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 filename mit einem Anführungszeichen (') beginnt.

regex_filter

Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator REGEXP_LIKE kompatibel sein.

Wenn Sie keinen regex_filter-Wert angeben, wird regex_filter auf NULL gesetzt.

Weitere Informationen finden Sie unter Bedingung REGEXP_LIKE.

format

Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben.

Folgende Formatoptionen werden unterstützt:

  • logretention: Es akzeptiert einen Ganzzahlwert, der die Dauer in Tagen bestimmt, für die die Statustabelle für einen Bulkvorgang beibehalten wird.

    Der Standardwert ist 2 Tage.

  • logprefix: Es akzeptiert einen Zeichenfolgenwert, der die Präfixzeichenfolge für die Statustabelle für den Bulkvorgang bestimmt.

    Der Vorgangstyp ist der Standardwert. Für BULK_UPLOAD ist der Standardwert logprefix UPLOAD.

  • priority: Es akzeptiert einen Zeichenfolgenwert, der die Anzahl der gleichzeitig ausgeführten Dateivorgänge bestimmt.

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

    Folgende Werte werden akzeptiert:

    • 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: Verarbeiten Sie die Dateien in serieller Reihenfolge.

    Der Standardwert ist MEDIUM.

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

Wenn Sie keinen format-Wert angeben, wird format auf NULL gesetzt.

operation_id Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View USER_LOAD_OPERATIONS verfolgen.

Beispiel

BEGIN
DBMS_CLOUD.BULK_UPLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/

Verwandte Inhalte

Bulkvorgänge für Dateien in der Cloud