Daten mit DBMS_CLOUD.EXPORT_DATA als Text in den Objektspeicher exportieren
DBMS_CLOUD.EXPORT_DATA
, um Daten als Text aus einer Autonomous Database in den Cloud-Objektspeicher zu exportieren. Die Exportoptionen für Textformate sind CSV, JSON oder XML.
Verwandte Themen
JSON-Daten in Cloud-Objektspeicher exportieren
Zeigt die Schritte zum Exportieren von Tabellendaten als JSON-Daten aus einer autonomen Datenbank in den Cloud-Objektspeicher durch Angabe einer Abfrage.
Diese Exportmethode unterstützt alle von Autonomous Database unterstützten Cloud-Objektspeicher. Sie können mit einem Oracle Cloud Infrastructure-Resource Principal auf Ihren Oracle Cloud Infrastructure-Objektspeicher, mit Amazon-Ressourcennamen (ARNs) auf AWS Simple Storage Service (S3), mit einem Azure-Service-Principal für den Zugriff auf Azure-BLOB-Speicher oder mit einem Google-Serviceaccount für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen zugreifen.
Hinweise zum Export mit DBMS_CLOUD.EXPORT_DATA
:
-
Bei dem von Ihnen angegebenen
query
-Parameter können Sie gegebenenfalls eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält. -
Geben Sie den Parameter
format
mit der Optioncompression
an, um die Ausgabedateien zu komprimieren. -
Wenn Sie die exportierten Dateien nicht mehr benötigen, verwenden Sie die Prozedur
DBMS_CLOUD.DELETE_OBJECT
, oder löschen Sie die Dateien mit nativen Cloud-Objektspeicherbefehlen.
Daten als CSV in Cloud-Objektspeicher exportieren
Zeigt die Schritte zum Exportieren von Tabellendaten als CSV-Daten aus einer autonomen Datenbank in einen Cloud-Objektspeicher unter Angabe einer Abfrage.
Diese Exportmethode unterstützt alle Cloud-Objektspeicher, die von Autonomous Database unterstützt werden. Sie können auch Amazon Resource Names (ARNs) für den Zugriff auf AWS Simple Storage Service (S3), einen Azure-Service-Principal für den Zugriff auf den Azure BLOB-Speicher oder einen Google-Serviceaccount für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen verwenden.
Hinweise zum Export mit DBMS_CLOUD.EXPORT_DATA
:
-
Bei dem von Ihnen angegebenen
query
-Parameter können Sie gegebenenfalls eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält. -
Geben Sie den Parameter
format
mit der Optioncompression
an, um die Ausgabedateien zu komprimieren. -
Wenn Sie die exportierten Dateien nicht mehr benötigen, verwenden Sie die Prozedur
DBMS_CLOUD.DELETE_OBJECT
, oder löschen Sie die Dateien mit nativen Cloud-Objektspeicherbefehlen.
Daten als Parkett in Cloud-Objektspeicher exportieren
Zeigt die Schritte zum Exportieren von Tabellendaten aus Autonomous Database in den Cloud-Objektspeicher als Parquet-Daten durch Angabe einer Abfrage.
Diese Exportmethode unterstützt alle von Autonomous Database unterstützten Cloud-Objektspeicher. Sie können mit einem Oracle Cloud Infrastructure-Resource Principal auf Ihren Oracle Cloud Infrastructure-Objektspeicher, mit Amazon-Ressourcennamen (ARNs) auf AWS Simple Storage Service (S3), mit einem Azure-Service-Principal für den Zugriff auf Azure-BLOB-Speicher oder mit einem Google-Serviceaccount für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen zugreifen.
Hinweise zum Export mit DBMS_CLOUD.EXPORT_DATA
:
-
Bei dem von Ihnen angegebenen
query
-Parameter können Sie gegebenenfalls eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält. -
Geben Sie den Parameter
format
mit der Optioncompression
an, um die Ausgabedateien zu komprimieren. Der Standardcompression
fürtype
parquet
istsnappy
. -
Wenn Sie die exportierten Dateien nicht mehr benötigen, verwenden Sie die Prozedur
DBMS_CLOUD.DELETE_OBJECT
, oder löschen Sie die Dateien mit nativen Cloud-Objektspeicherbefehlen. -
Weitere Informationen zur Oracle-Typ-zu-Parkett-Zuordnung finden Sie unter DBMS_CLOUD-Paket-Oracle-Datentyp-zu-Parkett-Zuordnung.
Die folgenden Typen werden nicht unterstützt oder haben Einschränkungen bei der Unterstützung für den Export von Parquet mit
DBMS_CLOUD.EXPORT_DATA
:Oracle-spezifischer Typ Hinweise: BFILE
Nicht unterstützt
BLOB
Nicht unterstützt
DATE
Unterstützt mit der folgenden Einschränkung: Das Format
DATE
unterstützt nur Datum, Monat und Jahr. Stunde, Minute und Sekunden werden nicht unterstützt.Weitere Informationen zu den NLS-Formateinschränkungen beim Exportieren von
DATE
nach Parkett finden Sie unter DBMS_CLOUD Oracle-Datentyp-zu-Parkett-Zuordnung in Package.INTERVAL DAY TO SECOND
Unterstützt und intern als Zeichenfolge behandelt
INTERVAL YEAR TO MONTH
Unterstützt und intern als Zeichenfolge behandelt
LONG
Nicht unterstützt
LONG RAW
Nicht unterstützt
NUMBER
Wird mit den folgenden Einschränkungen unterstützt:
- Kann eine maximale Genauigkeit von 38 und eine Skala kleiner als die Genauigkeit haben.
- Wenn für den Typ der Spalte
NUMBER
keine Nachkommastellen und keine Nachkommastellen angegeben sind, werden standardmäßig die Nachkommastellen 38 und die Nachkommastellen 20 verwendet. - Negative Skalierung wird für
NUMBER
-Typen nicht unterstützt.
Object Types
Nicht unterstützt
TIMESTAMP
Wird mit den folgenden Einschränkungen unterstützt:
- Wenn mehrere Spalten mit unterschiedlicher Genauigkeit vorhanden sind, wird die höchste Genauigkeit verwendet.
TIMESTAMP WITH TIME ZONE
Der Oracle-Datentyp verwendet nur den Zeitstempel.
Weitere Informationen zu den NLS-Formateinschränkungen beim Exportieren von
TIMESTAMP
nach Parkett finden Sie unter DBMS_CLOUD Oracle-Datentyp-zu-Parkett-Zuordnung in Package.
Daten als XML in Cloud-Objektspeicher exportieren
Zeigt die Schritte zum Exportieren von Tabellendaten als XML-Daten aus einer autonomen Datenbank in den Cloud-Objektspeicher durch Angabe einer Abfrage.
Diese Exportmethode unterstützt alle Cloud-Objektspeicher, die von Autonomous Database unterstützt werden. Sie können auch Amazon Resource Names (ARNs) für den Zugriff auf AWS Simple Storage Service (S3), einen Azure-Service-Principal für den Zugriff auf den Azure BLOB-Speicher oder einen Google-Serviceaccount für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen verwenden.
Hinweise zum Export mit DBMS_CLOUD.EXPORT_DATA
:
-
Bei dem von Ihnen angegebenen
query
-Parameter können Sie gegebenenfalls eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält. -
Geben Sie den Parameter
format
mit der Optioncompression
an, um die Ausgabedateien zu komprimieren. -
Wenn Sie die exportierten Dateien nicht mehr benötigen, verwenden Sie die Prozedur
DBMS_CLOUD.DELETE_OBJECT
, oder löschen Sie die Dateien mit nativen Cloud-Objektspeicherbefehlen.
Dateinamen für Textausgabe (CSV, JSON, Parquet oder XML)
Beschreibt die Benennung der Ausgabedatei mit DBMS_CLOUD.EXPORT_DATA
bei der CSV-, JSON-, Parquet- oder XML-Textdateiausgabe.
DBMS_CLOUD.EXPORT_DATA
führt die mit dem Parameter query
angegebene Abfrage aus und sendet die Ergebnisse an Textdateien entweder im Cloud-Objektspeicher-Bucket oder an ein Verzeichnis. Das Ausgabeformat hängt vom angegebenen format
-Parameter type
ab (einer von CSV, JSON, Parquet oder XML).
Um die Prozedur zu beschleunigen und die Ausgabe so schnell wie möglich zu generieren, teilt DBMS_CLOUD.EXPORT_DATA
ihre Arbeit auf. Das bedeutet, dass die Prozedur je nach Systemressourcen bei der Ausführung von DBMS_CLOUD.EXPORT_DATA
mehrere Ausgabedateien entweder im Cloud-Objektspeicher-Bucket oder im Verzeichnis erstellt.
Das Format für jede generierte Datei lautet:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (Optional) Wenn eine FileNamePrefix angegeben wird, verwendet
DBMS_CLOUD.EXPORT_DATA
das Dateinamenpräfix, um Dateinamen für die Ergebnisse zu generieren. FileNamePrefix wird mit dem Text angegeben, der nach dem Bucket- oder Verzeichnisnamen imfile_uri_list
-Parameterwert angegeben wird.Sie können nicht mehrere Werte für die FileNamePrefix in der
file_uri_list
angeben. -
client_info_Modul_Aktion: Wenn kein Dateinamenspräfix mit dem Parameter
file_uri_list
angegeben wird, verwendetDBMS_CLOUD.EXPORT_DATA
die Kombination aus client_info, Anwendung Modul und action als Dateinamenspräfix (wenn diese Informationen verfügbar sind). Die Prozedur ruft diese Namen aus den Anwendungsinformationen für die Datenbank-Session ab, die diese Abfrage ausführt. See DBMS_APPLICATION_INFO in Oracle Database 19c PL/SQL Packages and Types Reference or Oracle Database 23ai PL/SQL Packages and Types Reference for information on client_info, module name, and action name.Wenn kein Dateinamenspräfix mit
file_uri_list
angegeben wird und die Datenbanksessionattribute nicht verfügbar sind, verwendetDBMS_CLOUD.EXPORT_DATA
das Dateinamenspräfix "data
". -
sequenceNum: Die Folgenummer, die der Abfrage
DBMS_CLOUD.EXPORT_DATA
zugeordnet ist. Abhängig von der Abfrage, dem Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) gibt es eine oder mehrere sequenceNum. Je nach Größe der Ergebnisse sind außerdem eine oder mehrere Ausgabedateien pro sequenceNum vorhanden. -
Zeitstempel: Zeitstempel beim Hochladen der Datei.
-
format_extension: Der Standardwert hängt vom Wert von
format
type
ab:- CSV-Format:
.csv
- JSON-Format:
.json
- PARQUET-Format
.parquet
- XML-Format:
.xml
Weitere Informationen finden Sie in der Beschreibung der
format
-Optionfileextension
unter DBMS_CLOUD-Paketformatoptionen für EXPORT_DATA. - CSV-Format:
-
compression_extension: Wenn Sie den Parameter
format
mit der Optioncompression
mit dem Wertgzip
aufnehmen, lautet dies"gz"
.Wenn
format
type
parquet
ist, wird auch dercompression
-Wertsnappy
unterstützt und ist der Standardwert.
Beispiel: Das Dateinamenpräfix in der folgenden Prozedur DBMS_CLOUD.EXPORT_DATA
ist im Parameter file_uri_list
als dept_export
angegeben. Das Beispiel generiert die Ausgabe in den angegebenen Objektspeicher im angegebenen Format.
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json'));
END;
/
Wenn Sie ein Dateinamenspräfix angeben, enthalten die generierten Ausgabedateien das Dateinamenspräfix. Beispiel:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
Die Anzahl der generierten Ausgabedateien hängt von der Größe der Ergebnisse, dem Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn die Datenbank OCPUs verwendet) in der Autonomous Database-Instanz ab.
Im folgenden Beispiel enthält der Parameter file_uri_list
kein Dateinamenspräfix, und der Parameter compression
wird mit dem Wert gzip
angegeben:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
query => 'SELECT * FROM DEPT',
format => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/
Wenn im Parameter file_uri_list
kein Dateinamenspräfix angegeben ist, verwendet DBMS_CLOUD.EXPORT_DATA
ein Dateinamenpräfix im folgenden Format: client_info_module_action. In diesem Beispiel enthalten die generierten Ausgabedateien das Dateinamenspräfix, das DBMS_CLOUD.EXPORT_DATA
angegeben ist, die Dateien werden mit gzip komprimiert, und die Dateiendung .gz
wird hinzugefügt:
Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz
Wenn die Sessioninformationen client_info_modul_aktion beim Ausführen von DBMS_CLOUD.EXPORT_DATA
nicht verfügbar sind, wird das Dateinamenpräfix auf data
gesetzt. Beispiel:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
Beispiel: Das Dateinamenpräfix in der folgenden Prozedur DBMS_CLOUD.EXPORT_DATA
ist im Parameter file_uri_list
als dept_export
angegeben. Das Beispiel generiert die Ausgabe in das angegebene Verzeichnis im angegebenen Format.
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'DATA_PUMP_DIR:sales.json',
query => 'SELECT * FROM SALES',
format => JSON_OBJECT('type' value 'json'));
END;
/
Wenn Sie ein Dateinamenpräfix angeben, enthält die generierte Ausgabedatei das Dateinamenpräfix. Beispiel:
sales_1_20230705T124523275915Z.csv
Hinweise zur Dateibenennung mit DBMS_CLOUD.EXPORT_DATA
:
-
In
DBMS_CLOUD.EXPORT_DATA
werden keine Buckets oder Verzeichnisse erstellt. -
Die Anzahl der von
DBMS_CLOUD.EXPORT_DATA
generierten Dateien wird von der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet), dem Datenbankservice und der Größe der Ergebnisdaten bestimmt. -
Wenn Sie einen Verzeichnisobjektnamen im Parameter
file_uri_list
angeben, gilt Folgendes:-
Das angegebene Verzeichnis muss vorhanden sein, und Sie müssen
WRITE
-Zugriff auf das Verzeichnis haben. -
Beim Verzeichnisnamen muss die Groß-/Kleinschreibung beachtet werden, wenn er in doppelte Anführungszeichen gesetzt wird.
-
Der Parameter für den Zugangsdatennamen darf nicht angegeben werden.
-
-
Bei einer CSV-, JSON- oder XML-Ausgabe ist dies standardmäßig der Fall, wenn eine generierte Datei 10 MB Daten enthält und eine neue Ausgabedatei erstellt wird. Wenn Sie jedoch weniger als 10 MB an Ergebnisdaten haben, sind möglicherweise mehrere Ausgabedateien vorhanden, abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz.
Die standardmäßige Ausgabedatei-Chunk-Größe beträgt 10 MB für CSV, JSON oder XML. Sie können diesen Wert mit dem Parameter
format
und der Optionmaxfilesize
ändern. Weitere Informationen finden Sie unter DBMS_CLOUD-Packageformatoptionen für EXPORT_DATA. -
Bei Parquet-Ausgaben beträgt jede generierte Datei weniger als 128 MB, und es können mehrere Ausgabedateien generiert werden. Wenn Sie jedoch weniger als 128 MB an Ergebnisdaten haben, sind abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz möglicherweise mehrere Ausgabedateien vorhanden.
Die Option
maxfilesize
für den Parameterformat
gilt nicht für Parquet-Dateien.