Dateibenennung für Textausgabe (CSV, JSON, Parquet oder XML)

Beschreibt die Benennung der Ausgabedatei mit DBMS_CLOUD.EXPORT_DATA und CSV-, JSON-, Parquet- oder XML-Textdateiausgabe.

DBMS_CLOUD.EXPORT_DATA führt die mit dem Parameter query angegebene Abfrage aus und sendet die Ergebnisse entweder im Cloud-Objektspeicher-Bucket oder in ein Verzeichnis an Textdateien. 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 bei der Ausführung von DBMS_CLOUD.EXPORT_DATA je nach Systemressourcen mehrere Ausgabedateien entweder im Cloud-Objektspeicher-Bucket oder im Verzeichnis erstellt werden.

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. Die FileNamePrefix wird mit dem Text angegeben, der nach dem Bucket- oder Verzeichnisnamen im Parameterwert file_uri_list angegeben wird.

    Sie können nicht mehrere Werte 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 Datenbank-Session ab, in der die Abfrage ausgeführt wird. See DBMS_APPLICATION_INFO for information on client_info, module name, and action name.

    Wenn kein Dateinamenpräfix 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. Je nach Abfrage, Datenbankservice und Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) sind mindestens eine sequenceNum vorhanden. Je nach Größe der Ergebnisse gibt es außerdem eine oder mehrere Ausgabedateien für jede sequenceNum.

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

  • Zeitstempel: Zeitstempel beim Hochladen der Datei.

  • format_extension: Der Standardwert hängt vom Wert format type ab:

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

    Weitere Informationen finden Sie in der Beschreibung für format Option fileextension in 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 dieser Wert "gz".

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

Beispiel: Das Dateinamenpräfix in der folgenden DBMS_CLOUD.EXPORT_DATA-Prozedur wird im Parameter file_uri_list als dept_export angegeben. Im Beispiel wird die Ausgabe im angegebenen Format an den angegebenen Objektspeicher generiert.

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 Dateinamenpräfix angeben, enthalten die generierten Ausgabedateien das Dateinamenpräfix, ähnlich dem Folgenden:

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 Ihre 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 ein Dateinamenpräfix nicht im Parameter file_uri_list enthalten ist, verwendet DBMS_CLOUD.EXPORT_DATA ein Dateinamenpräfix in folgender Form: client_info_Modul_Aktion. In diesem Beispiel enthalten die generierten Ausgabedateien das Dateinamenpräfix, das DBMS_CLOUD.EXPORT_DATA bereitstellt, und die Dateien werden mit gzip komprimiert, und die Dateierweiterung .gz wird wie folgt 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 DBMS_CLOUD.EXPORT_DATA-Prozedur wird im Parameter file_uri_list als dept_export angegeben. Im Beispiel wird die Ausgabe in das angegebene Verzeichnis im angegebenen Format generiert.

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, ähnlich dem Folgenden:

sales_1_20230705T124523275915Z.csv

Hinweise zur Dateibenennung mit DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA erstellt keine Buckets oder Verzeichnisse.

  • Die Anzahl der Dateien, die DBMS_CLOUD.EXPORT_DATA generiert, wird durch die Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet), den Datenbankservice und die Größe der Ergebnisdaten bestimmt.

  • Folgendes gilt, wenn Sie einen Verzeichnisobjektnamen im Parameter file_uri_list angeben:

    • 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 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, können mehrere Ausgabedateien vorhanden sein, abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz.

    Die standardmäßige Chunk-Größe der Ausgabedatei beträgt 10 MB für CSV, JSON oder XML. Sie können diesen Wert mit der Option maxfilesize des Parameters format ändern. Weitere Informationen finden Sie unter DBMS_CLOUD Package Format Options for EXPORT_DATA.

  • Bei der 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 Ergebnisdaten haben, können mehrere Ausgabedateien vorhanden sein, abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz.

    Die Option format für den Parameter maxfilesize gilt nicht für Parquet-Dateien.