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 (eines 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 ein FileNamePrefix bereitgestellt wird, verwendet DBMS_CLOUD.EXPORT_DATA das Dateinamenpräfix, um Dateinamen für die Ergebnisse zu generieren. Das 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 das FileNamePrefix in der file_uri_list angeben.

  • client_info***module***Aktion: Wenn kein Dateinamenpräfix mit dem Parameter file_uri_list angegeben wird, verwendet DBMS_CLOUD.EXPORT_DATA die Kombination aus client_info, Anwendung Modul und Aktion als Dateinamenpräfix (sofern diese Informationen verfügbar sind). Die Prozedur ruft diese Namen aus den Anwendungsinformationen für die Datenbank-Session ab, in der die Abfrage ausgeführt wird. Weitere Informationen zu client_info, Modulname und Aktionsname finden Sie unter DBMS_APPLICATION_INFO.

    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) gibt es mindestens eine SequenceNums. 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 einer autonomen KI-Datenbank verwalten.

  • timestamp: 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 die Option format 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 in 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 Instanz der autonomen KI-Datenbank 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 der Form: client_info***module***action. 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 für client_info*module*action 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 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 Instanz der autonomen KI-Datenbank.

    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 Instanz der autonomen KI-Datenbank.

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