Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML)

Descrive la denominazione del file di output utilizzando DBMS_CLOUD.EXPORT_DATA con output file di testo CSV, JSON, Parquet o XML.

DBMS_CLOUD.EXPORT_DATA esegue la query specificata con il parametro query e invia i risultati a file di testo nel bucket dell'area di memorizzazione degli oggetti cloud o a una directory. Il formato di output dipende dal parametro format type specificato (uno di CSV, JSON, Parquet o XML).

Per velocizzare la procedura e generare l'output il più velocemente possibile, DBMS_CLOUD.EXPORT_DATA divide il suo lavoro. Ciò significa che, a seconda delle risorse di sistema, quando si esegue DBMS_CLOUD.EXPORT_DATA la procedura crea più file di output nel bucket dell'area di memorizzazione degli oggetti cloud o nella directory.

Il formato per ogni file generato è:

[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]

  • FileNamePrefix: (facoltativo) se viene fornito un valore FileNamePrefix, DBMS_CLOUD.EXPORT_DATA utilizza il prefisso del nome file per generare i nomi dei file per i risultati. Il valore FileNamePrefix viene specificato utilizzando il testo fornito dopo il nome del bucket o della directory nel valore del parametro file_uri_list.

    Non è possibile fornire più valori per FileNamePrefix in file_uri_list.

  • 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). La procedura ottiene questi nomi dalle informazioni dell'applicazione per la sessione di database che esegue la query. Per informazioni sul nome client_info, sul nome modulo e sull'azione, vedere DBMS_APPLICATION_INFO.

    Se il prefisso del nome file non viene fornito con file_uri_list e gli attributi della sessione del database non sono disponibili, DBMS_CLOUD.EXPORT_DATA utilizza il prefisso del nome file "data".

  • sequenceNum: numero di sequenza associato alla query DBMS_CLOUD.EXPORT_DATA. A seconda della query, del servizio di database e del numero di ECPU (OCPU se il database utilizza OCPU), sono disponibili una o più sequenceNum. Inoltre, a seconda delle dimensioni dei risultati, sono disponibili uno o più file di output per ogni file sequenceNum.

    Per informazioni sui servizi di database, vedere Gestisci concorrenza e priorità su Autonomous Database.

  • indicatore orario: l'indicatore orario del caricamento del file.

  • format_extension: il valore predefinito dipende dal valore format type:

    • Formato CSV: .csv
    • Formato JSON: .json
    • Formato PARQUET .parquet
    • Formato XML: .xml

    Per ulteriori informazioni, vedere la descrizione dell'opzione format fileextension in DBMS_CLOUD Package Format Options for EXPORT_DATA.

  • compression_extension: se si include il parametro format con l'opzione compression con il valore gzip, il valore è "gz".

    Se format type è parquet, anche il valore compression snappy è supportato ed è l'impostazione predefinita.

Ad esempio, il prefisso del nome file nella procedura DBMS_CLOUD.EXPORT_DATA seguente è specificato nel parametro file_uri_list, come dept_export. L'esempio genera l'output nell'area di memorizzazione degli oggetti fornita nel formato specificato.

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;
/

Quando si specifica il prefisso di un nome file, i file di output generati includono il prefisso del nome file, simile al seguente:

dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json

Il numero di file di output generati dipende dalla dimensione dei risultati, dal servizio di database e dal numero di ECPU (OCPU se il database utilizza le OCPU) nell'istanza di Autonomous Database.

Nell'esempio seguente il parametro file_uri_list non include un prefisso nome file e viene fornito il parametro compression, con valore gzip:

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;
/

Quando il prefisso di un nome file non si trova nel parametro file_uri_list, DBMS_CLOUD.EXPORT_DATA utilizza un prefisso di nome file nel formato: client_info_modulo_action. Per questo esempio i file di output generati includono il prefisso del nome file fornito da DBMS_CLOUD.EXPORT_DATA e i file vengono compressi con gzip e viene aggiunta l'estensione file .gz, come indicato di seguito.

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

Se le informazioni sulla sessione client_info_modulo_azione non sono disponibili quando si esegue DBMS_CLOUD.EXPORT_DATA, il prefisso del nome file viene impostato su data. Ad esempio:

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

Ad esempio, il prefisso del nome file nella procedura DBMS_CLOUD.EXPORT_DATA seguente è specificato nel parametro file_uri_list, come dept_export. L'esempio genera l'output nella directory specificata nel formato specificato.

BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    file_uri_list   => 'DATA_PUMP_DIR:sales.json',
    query           => 'SELECT * FROM SALES',
    format          => JSON_OBJECT('type' value 'json'));
END;
/

Quando si specifica un prefisso di nome file, il file di output generato include il prefisso del nome file, simile al seguente:

sales_1_20230705T124523275915Z.csv

Note per la denominazione dei file con DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA non crea bucket o directory.

  • Il numero di file generati da DBMS_CLOUD.EXPORT_DATA è determinato dal numero di ECPU (OCPU se il database utilizza OCPU), dal servizio di database e dalla dimensione dei dati dei risultati.

  • Quando si fornisce un nome oggetto directory nel parametro file_uri_list, si applica quanto riportato di seguito.

    • La directory specificata deve esistere ed è necessario disporre dell'accesso WRITE alla directory.

    • Il nome della directory fa distinzione tra maiuscole e minuscole quando è racchiuso tra virgolette doppie.

    • Il parametro del nome della credenziale non deve essere fornito.

  • Per l'output CSV, JSON o XML, per impostazione predefinita quando un file generato contiene 10 MB di dati, viene creato un nuovo file di output. Tuttavia, se hai meno di 10 MB di dati dei risultati, potresti avere più file di output, a seconda del servizio di database e del numero di ECPU (OCPU se il database utilizza OCPU) per l'istanza di Autonomous Database.

    La dimensione chunk predefinita del file di output è 10 MB per CSV, JSON o XML. È possibile modificare questo valore con l'opzione maxfilesize del parametro format. Per ulteriori informazioni, vedere DBMS_CLOUD Package Format Options for EXPORT_DATA.

  • Per l'output Parquet, ogni file generato è inferiore a 128 MB e possono essere generati più file di output. Tuttavia, se hai meno di 128 MB di dati dei risultati, potresti avere più file di output a seconda del servizio di database e del numero di ECPU (OCPU se il database utilizza le OCPU) per l'istanza di Autonomous Database.

    L'opzione maxfilesize del parametro format non si applica ai file Parquet.