Dateinamen für Textausgabe (CSV, JSON, Parkett oder XML)

Beschreibt die Benennung der Ausgabedatei mit DBMS_CLOUD.EXPORT_DATA bei 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 (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 seine Arbeit auf. Das bedeutet, dass die Prozedur je nach Systemressourcen beim Ausführen 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 im file_uri_list-Parameterwert angegeben wird.

    Sie können nur einen Wert für die FileNamePrefix in der file_uri_list angeben.

  • client_info_module_action: If a file name prefix is not supplied with the file_uri_list parameter, DBMS_CLOUD.EXPORT_DATA uses the combination of client_info, application module and action as the file name prefix (when this information is available). Die Prozedur ruft diese Namen aus den Anwendungsinformationen für die Datenbanksession ab, in der die Abfrage ausgeführt wird. Informationen zu client_info, module-Name und action-Name finden Sie unter DBMS_APPLICATION_INFO.

    Wenn kein Präfix für den Dateinamen nicht mit file_uri_list angegeben wird und die Datenbanksessionattribute nicht verfügbar sind, verwendet DBMS_CLOUD.EXPORT_DATA das Dateinamenprä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.

    Informationen zu Datenbankservices finden Sie unter Nebenläufigkeit und Prioritäten in Autonomous Database verwalten.

  • Zeitstempel: Zeitstempel beim Hochladen der Datei.

  • format_extension: Der Wert von format type hängt vom Wert von:

    • CSV-Format: .csv
    • JSON-Format: .json
    • PARQUET-Format .parquet
    • XML-Format: .xml

    Weitere Informationen finden Sie in der Beschreibung der format-Option fileextension unter DBMS_CLOUD Package Format Options for EXPORT_DATA.

  • compression_extension: Wenn Sie den Parameter format mit der Option compression mit dem Wert gzip aufnehmen, lautet dies "gz".

    Wenn format type parquet ist, wird auch der compression-Wert snappy unterstützt und ist der Standardwert.

Beispiel: Das Dateinamensprä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 Dateiname-Präfix angeben, enthalten die generierten Output-Dateien das Dateiname-Prä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 Dateinamenprä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 angibt, 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 Dateinamenspräfix auf data gesetzt. Beispiele:

data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz

Beispiel: Das Dateinamensprä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 Dateiname-Präfix angeben, enthält die generierte Ausgabedatei das Dateiname-Präfix. Beispiel:

sales_1_20230705T124523275915Z.csv

Hinweise zur Datebenennung mit DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA erstellt keine Buckets oder Verzeichnisse.

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

  • Bei der Angabe eines Verzeichnisobjektnamens im Parameter file_uri_list gilt Folgendes:

    • Das angegebene Verzeichnis muss vorhanden sein, und Sie benötigen WRITE-Zugriff auf das Verzeichnis.

    • 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 wird standardmäßig eine neue Ausgabedatei erstellt, wenn eine generierte Datei 10 MB Daten enthält. 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 Standard-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 Option maxfilesize ändern. Weitere Informationen finden Sie unter DBMS_CLOUD Packageformatoptionen für EXPORT_DATA.

  • Für die Parquet-Ausgabe ist jede generierte Datei kleiner 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 des Parameters format gilt nicht für Parquet-Dateien.