Bulkvorgänge für Dateien in der Cloud
Das PL/SQL-Package DBMS_CLOUD
bietet Unterstützung für die parallele Ausführung von Bulk-Dateiupload-, -download-, -kopier- und -übertragungsaktivitäten, wodurch die Benutzererfahrung optimiert und eine optimale Performance für Bulk-Dateivorgänge bereitgestellt wird.
Das Package DBMS_CLOUD
unterstützt das Laden und Entladen von Dateien in die folgenden Cloud-Services:
-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage oder Azure Data Lake Storage
-
Amazon S3
-
Amazon S3-Kompatible, einschließlich Wasabi Hot Cloud Storage
-
Google Cloud Storage
Weitere Informationen finden Sie unter DBMS_CLOUD Package File URI Formats.
- Bulkdateivorgänge
DBMS_CLOUD
Bulkdateivorgänge unterstützen das Herunterladen und Hochladen von Dateien in Autonomous Database, einschließlich Unterstützung für das Kopieren, Verschieben und Löschen von Dateien in Cloud-Objektspeichern, entweder innerhalb desselben Objektspeicherproviders oder zwischen Objektspeicherprovidern. - Massenkopie von Dateien in Cloud-Objektspeicher
Verwenden Sie die ProzedurDBMS_CLOUD.BULK_COPY
, um Dateien im Bulkverfahren aus einem Objektspeicher-Bucket oder -Ordner in einen anderen Bucket oder Ordner zu kopieren. - Massenverschiebung von Dateien in den Cloud-Objektspeicher
Verwenden Sie die ProzedurDBMS_CLOUD.BULK_MOVE
, um Dateien im Bulkverfahren von einem Cloud-Objektspeicherort in einen anderen zu verschieben. - Massendownloaddateien aus Cloud-Objektspeicher
Mit der ProzedurDBMS_CLOUD.BULK_DOWNLOAD
können Sie Dateien im Bulkverfahren aus dem Cloud-Objektspeicherort in das Verzeichnisobjekt in einer Autonomous Database herunterladen. - Massenuploaddateien in Cloud-Objektspeicher
Verwenden Sie die ProzedurDBMS_CLOUD.BULK_UPLOAD
, um Dateien im Bulkverfahren aus einem Verzeichnisobjekt in einer Datenbank in einen Cloud-Objektspeicherort hochzuladen. - Dateien im Bulkverfahren aus dem Cloud-Objektspeicher löschen
Verwenden Sie die ProzedurDBMS_CLOUD.BULK_DELETE
, um Dateien im Bulkverfahren aus dem Cloud-Objektspeicher zu löschen. - Massenladen von Dateien überwachen und Fehler beheben
Alle Dataload-Vorgänge vonDBMS_CLOUD
werden in den Ansichtendba_load_operations
unduser_load_operations
protokolliert. - Hinweise zu Bulk File-Vorgängen
Bietet Notizen für die Zugangsdaten, die Sie mit Bulk File-Vorgängen verwenden.
Übergeordnetes Thema: Dateien verschieben
Informationen zu Bulk File-Vorgängen
DBMS_CLOUD
-Massendateivorgänge unterstützen das Herunterladen und Hochladen von Dateien in Autonomous Database, einschließlich Unterstützung für das Kopieren, Verschieben und Löschen von Dateien in Cloud-Objektspeichern, entweder innerhalb desselben Objektspeicherproviders oder zwischen Objektspeicherprovidern.
Die Bulk-Dateivorgänge unterstützen Parallelität und bieten optimale Performance beim Hochladen, Herunterladen, Kopieren und Verschieben von Dateien. Die Parallelität für Bulk-Dateivorgänge wird durch Angabe einer Priorität für einen Vorgang behandelt. Folgende Prioritäten werden unterstützt:
HIGH
: Mit der CPU-Compute-Anzahl der Autonomous Database-Instanz können Sie die Anzahl der verarbeiteten parallelen Dateien bestimmen.MEDIUM
: Verwenden Sie das Nebenläufigkeitslimit für den Medium-Service, um die Parallelität zu bestimmen.LOW
: Dateien in serieller Reihenfolge verarbeiten (keine Nebenläufigkeit).
Beim Ausführen von Bulkvorgängen mit einer höheren Priorität werden mehr Datenbankressourcen und Vorgänge schneller abgeschlossen, wenn die Parallelisierung den Vorgang beschleunigen kann. Eine niedrigere Priorität verbraucht weniger Datenbankressourcen und die Ausführung von Vorgängen dauert länger, wenn die Parallelität den Vorgang beschleunigen kann. Wenn Bulk-Vorgänge eine geringe Anzahl von Dateien enthalten, die wenig Daten enthalten, ändert die Angabe einer höheren Priorität möglicherweise nicht die Performance.
Um die Parallelität für Bulk-Dateivorgänge zu erhöhen, verwenden Sie die Priorität HIGH
, und erhöhen Sie die Anzahl der CPUs, die Ihrer Autonomous Database-Instanz zugewiesen sind. Die maximal unterstützte Anzahl nebenläufiger Dateivorgänge ist für Bulk-Dateivorgänge auf 64 begrenzt.
Die Standardpriorität ist MEDIUM
, die angibt, dass Bulk-Dateivorgänge das für die MEDIUM-Nutzungsgruppe definierte Nebenläufigkeitslimit verwenden. Weitere Informationen finden Sie unter Autonomous Database - Parallelität und Prioritäten verwalten.
Weitere Informationen zur Verwendung des Parameters format
zur Angabe von priority
mit Bulkdateivorgängen finden Sie unter DBMS_CLOUD für Bulk File Management.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Massenkopie von Dateien in Cloud Object Storage
Verwenden Sie die Prozedur DBMS_CLOUD.BULK_COPY
, um Dateien im Bulkverfahren aus einem Objektspeicher-Bucket oder -Ordner in einen anderen Bucket oder Ordner zu kopieren.
Beispiel: Verwenden Sie DBMS_CLOUD.BULK_COPY
, um Dateien aus Amazon S3 in Oracle Cloud Infrastructure Object Storage zu kopieren.
BEGIN
DBMS_CLOUD.BULK_COPY
(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
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;
/
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Dateien im Cloud-Objektspeicher global verschieben
DBMS_CLOUD.BULK_MOVE
, um Dateien im Bulkverfahren von einem Cloud-Objektspeicherort in einen anderen zu verschieben.
Der erste Schritt beim Verschieben von Dateien ist das Kopieren in den Zielspeicherort. Nachdem die Dateien erfolgreich kopiert wurden, werden sie aus dem Quellspeicherort gelöscht.
Die Dateien werden umbenannt und nicht kopiert, wenn der Objektspeicher Umbenennungsvorgänge zwischen Quell- und Zielspeicherorten zulässt.
Beispiel: Verwenden Sie DBMS_CLOUD.BULK_MOVE
, um Dateien von Amazon S3 in Oracle Cloud Infrastructure Object Storage zu verschieben.
BEGIN
DBMS_CLOUD.BULK_MOVE
(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
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;
/
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Dateien aus Cloud Object Storage per Bulkdownload herunterladen
Mit der Prozedur DBMS_CLOUD.BULK_DOWNLOAD
können Sie Dateien im Bulkverfahren aus dem Cloud-Objektspeicherort in das Verzeichnisobjekt in einer Autonomous Database herunterladen.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Massenupload von Dateien in Cloud Object Storage
Verwenden Sie die Prozedur DBMS_CLOUD.BULK_UPLOAD
, um Dateien aus einem Verzeichnisobjekt in der Datenbank im Bulkverfahren in einen Cloud-Objektspeicherort hochzuladen.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Dateien aus dem Cloud-Objektspeicher per Bulkvorgang löschen
Verwenden Sie die Prozedur DBMS_CLOUD.BULK_DELETE
, um Dateien im Bulkverfahren aus Cloud-Objektspeicher zu löschen.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Massenladen von Dateien überwachen und Fehler beheben
Alle Dataload-Vorgänge von DBMS_CLOUD
werden in den Views dba_load_operations
und user_load_operations
protokolliert.
Mit den folgenden Ansichten können Sie das Laden von Massendateien überwachen und Fehler beheben:
-
dba_load_operations
: Zeigt alle Ladevorgänge an. -
user_load_operations
: Zeigt die Ladevorgänge in Ihrem Schema an.
Fragen Sie diese Ansichten ab, um Informationen zu laufenden und abgeschlossenen Bulk-Dateivorgängen anzuzeigen. Beispiel: Die folgende SELECT
-Anweisung mit einem WHERE
-Klauselprädikat für die TYPE
zeigt DOWNLOAD
-Vorgänge an:
SELECT owner_name, type, status, start_time, update_time, status_table, rows_loaded
FROM user_load_operations WHERE type = 'DOWNLOAD';
OWNER_NAME TYPE STATUS START_TIME UPDATE_TIME STATUS_TABLE ROWS_LOADED
---------- -------- --------- ------------------------ ------------------------ ------------ -----------
"ADMIN" DOWNLOAD COMPLETED 2022-10-17T20:42:19.498Z 2022-10-17T20:42:21.054Z DWN$2_STATUS 4
"ADMIN" DOWNLOAD FAILED 2022-10-17T20:40:54.348Z 2022-10-17T20:40:55.679Z DWN$1_STATUS
In der Spalte STATUS_TABLE
wird der Name der Tabelle angezeigt, die Sie abfragen können, um detaillierte Logginginformationen für den Bulkdownloadvorgang anzuzeigen. Beispiele:
DESCRIBE DWN$2_STATUS
Name Null? Type
------------- -------- ---------------------------
ID NOT NULL NUMBER
NAME VARCHAR2(4000)
BYTES NUMBER
CHECKSUM VARCHAR2(128)
LAST_MODIFIED TIMESTAMP(6) WITH TIME ZONE
STATUS VARCHAR2(30)
ERROR_CODE NUMBER
ERROR_MESSAGE VARCHAR2(4000)
START_TIME TIMESTAMP(6) WITH TIME ZONE
END_TIME TIMESTAMP(6) WITH TIME ZONE
SID NUMBER
SERIAL# NUMBER
ROWS_LOADED NUMBER
SELECT id, name, bytes, status, error_message, start_time, end_time FROM DWN$2_STATUS;
ID NAME BYTES STATUS ERROR_MESSAGE START_TIME END_TIME
-- ---------- ----- --------- ------------- ------------------------ ------------------------
1 trees.txt 58 COMPLETED 2022-10-17T20:42:19.998Z 2022-10-17T20:42:20.421Z
2 trees1.txt 58 COMPLETED 2022-10-17T20:42:20.425Z 2022-10-17T20:42:20.533Z
3 trees2.txt 58 COMPLETED 2022-10-17T20:42:20.535Z 2022-10-17T20:42:20.894Z
4 trees3.txt 58 COMPLETED 2022-10-17T20:42:20.896Z 2022-10-17T20:42:21.043Z
In der Statustabelle werden jeder Dateiname und sein Status für den Bulkvorgang angezeigt.
Die entsprechende Fehlernummer und Meldung werden in der Statustabelle aufgezeichnet, wenn ein Vorgang für eine bestimmte Datei nicht erfolgreich verläuft.
Bei abgeschlossenen Vorgängen kann die für jeden Vorgang benötigte Zeit mit der gemeldeten Zeit START_TIME
und END_TIME
berechnet werden.
Die Spalte STATUS
für den Dateivorgang kann einen der folgenden Werte aufweisen:
Datei-Status | Beschreibung |
---|---|
|
Dateivorgang erfolgreich abgeschlossen. |
|
Dateivorgang nicht erfolgreich. Ein erneuter Versuch kann zweimal versucht werden. |
|
Der Dateivorgang wurde noch nicht gestartet. |
|
Dateivorgang wird derzeit ausgeführt. |
|
Der Dateivorgang wurde übersprungen. |
Wenn ein Dateivorgang nach zwei Wiederholungsversuchen nicht erfolgreich verläuft, wird der Bulkvorgang als nicht erfolgreich markiert, und es wird ein Fehler ausgelöst. Beispiele:
ORA-20003: Operation failed, please query table DOWNLOAD$2_STATUS for error details
Wenn Sie einen DBMS_CLOUD
-Massendateivorgang verwenden, gibt es format
-Parameteroptionen, die Statustabellen steuern:
-
logretention
: Gibt einen ganzzahligen Wert an, der die Dauer der Aufbewahrung der Statustabelle in Tagen bestimmt. Der Standardwert ist 2 Tage. -
logprefix
: Gibt einen Zeichenfolgenwert an, der das Namenspräfix der Statustabelle für Bulkvorgänge bestimmt.Jeder Bulkvorgang hat einen eigenen Standardwert für die Option
logprefix
:Prozedur Standardwert für logprefix
DBMS_CLOUD.BULK_COPY
COPYOBJ
DBMS_CLOUD.BULK_DELETE
DELETE
DBMS_CLOUD.BULK_DOWNLOAD
DOWNLOAD
DBMS_CLOUD.BULK_MOVE
MOVE
DBMS_CLOUD.BULK_UPLOAD
UPLOAD
Informationen zum Löschen der Tabelle user_load_operations
finden Sie unter DELETE_ALL_OPERATIONS-Prozedur.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud
Notizen für Bulk File-Vorgänge
Enthält Hinweise zu den Zugangsdaten, die Sie mit Bulk-Dateivorgängen verwenden.
-
Sie können Principals als Parameter
credential_name
,source_credential_name
odertarget_credential_name
angeben, um sicher auf Cloud-Ressourcen zuzugreifen, ohne Benutzerzugangsdaten zu speichern. Folgende Principals werden unterstützt:- Oracle Cloud Infrastructure-Ressourcen-Prinzipien
- AWS-Amazon-Ressourcennamen (ARN)s
- Azure-Service Principal
- Google-Serviceaccount
Weitere Informationen finden Sie unter Policys und Rollen für den Zugriff auf Ressourcen konfigurieren.
-
Die
credential_name
,source_credential_name
odertarget_credential_name
können für die öffentliche, vorab authentifizierte oder vorab signierte Bucket-URINULL
sein.
Übergeordnetes Thema: Massenvorgänge für Dateien in der Cloud