Dénomination de fichier pour la sortie texte (CSV, JSON, Parquet ou XML)

Décrit la dénomination de fichier de sortie à l'aide de DBMS_CLOUD.EXPORT_DATA avec sortie de fichier texte CSV, JSON, Parquet ou XML.

DBMS_CLOUD.EXPORT_DATA exécute la requête indiquée avec le paramètre query et envoie les résultats dans des fichiers texte dans le bucket de banque d'objets cloud ou dans un répertoire. Le format de sortie dépend du paramètre format type que vous indiquez (CSV, JSON, Parquet ou XML).

Pour accélérer la procédure et générer la sortie le plus rapidement possible, DBMS_CLOUD.EXPORT_DATA divise son travail. Ainsi, selon les ressources système, lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA, la procédure crée plusieurs fichiers de sortie soit dans le bucket de stockage d'objet cloud, soit dans le répertoire.

Chaque fichier généré est au format suivant :

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

  • FileNamePrefix : (facultatif) si un élément FileNamePrefix est indiqué, DBMS_CLOUD.EXPORT_DATA utilise le préfixe de nom de fichier afin de générer des noms de fichier pour les résultats. L'option FileNamePrefix est indiquée à l'aide du texte fourni après le nom du bucket ou du répertoire dans la valeur du paramètre file_uri_list.

    Vous ne pouvez pas fournir plusieurs valeurs pour FileNamePrefix dans 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 procédure obtient ces noms à partir des informations sur l'application pour la session de base de données qui exécute la requête. Reportez-vous à DBMS_APPLICATION_INFO pour plus d'informations sur client_info, le nom de module et le nom d'action.

    Si aucun préfixe de nom de fichier n'est fourni avec file_uri_list et que les attributs de session de base de données ne sont pas disponibles, DBMS_CLOUD.EXPORT_DATA utilise le préfixe de nom de fichier "data".

  • sequenceNum : numéro de séquence associé à la requête DBMS_CLOUD.EXPORT_DATA. En fonction de la requête, du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU), un ou plusieurs éléments sont sequenceNum. De plus, selon la taille des résultats, un ou plusieurs fichiers de sortie sont générés pour chaque fichier sequenceNum.

    Pour plus d'informations sur les services de base de données, reportez-vous à Gestion des simultanéités et des priorités sur Autonomous Database.

  • Date/heure : date/heure de téléchargement du fichier.

  • format_extension : la valeur par défaut dépend de la valeur type de format :

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

    Pour plus d'informations, reportez-vous à la description de l'option format fileextension dans Options de format de package DBMS_CLOUD pour EXPORT_DATA.

  • compression_extension : lorsque vous incluez le paramètre de paramètre de format avec l'option compression définie sur la valeur gzip, il s'agit de "gz".

    Lorsque format type est défini sur parquet, la valeur compression snappy est également prise en charge et est la valeur par défaut.

Par exemple, le préfixe de nom de fichier dans la procédure DBMS_CLOUD.EXPORT_DATA suivante est indiqué dans le paramètre file_uri_list, en tant que dept_export. L'exemple génère la sortie vers la banque d'objets fournie dans le format indiqué.

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

Lorsque vous indiquez un préfixe de nom de fichier, les fichiers de sortie générés incluent le préfixe de nom de fichier, comme suit :

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

Le nombre de fichiers de sortie générés dépend de la taille des résultats, du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) de l'instance Autonomous Database.

Dans l'exemple suivant, le paramètre file_uri_list n'inclut pas de préfixe de nom de fichier et le paramètre compression est fourni, avec la valeur 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;
/

Lorsqu'aucun préfixe de nom de fichier n'est indiqué dans le paramètre file_uri_list, DBMS_CLOUD.EXPORT_DATA utilise un préfixe de nom de fichier au format suivant : client_info_Module_Action. Pour cet exemple, les fichiers de sortie générés incluent le préfixe de nom de fichier fourni par DBMS_CLOUD.EXPORT_DATA, les fichiers sont compressés avec gzip et l'extension de fichier .gz est ajoutée, comme suit :

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

Si les informations de session client_info_module_action ne sont pas disponibles lors de l'exécution de DBMS_CLOUD.EXPORT_DATA, le préfixe de nom de fichier est défini sur data. Exemples :

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

Par exemple, le préfixe de nom de fichier dans la procédure DBMS_CLOUD.EXPORT_DATA suivante est indiqué dans le paramètre file_uri_list, en tant que dept_export. L'exemple génère la sortie dans le répertoire fourni au format indiqué.

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

Lorsque vous indiquez un préfixe de nom de fichier, le fichier de sortie généré inclut le préfixe de nom de fichier, comme suit :

sales_1_20230705T124523275915Z.csv

Remarques relatives à la dénomination de fichier avec DBMS_CLOUD.EXPORT_DATA :

  • DBMS_CLOUD.EXPORT_DATA ne crée pas de buckets ou de répertoires.

  • Le nombre de fichiers générés par DBMS_CLOUD.EXPORT_DATA est déterminé par le nombre d'OCPU (si votre base de données utilise des OCPU), le service de base de données et la taille des données de résultat.

  • Les points suivants s'appliquent lorsque vous indiquez un nom d'objet de répertoire dans le paramètre file_uri_list :

    • Le répertoire indiqué doit exister et vous devez disposer de l'accès WRITE au répertoire.

    • Le nom du répertoire est sensible à la casse lorsqu'il est placé entre guillemets doubles.

    • Le paramètre de nom d'informations d'identification ne doit pas être indiqué.

  • Pour la sortie CSV, JSON ou XML, par défaut, lorsqu'un fichier généré contient 10 Mo de données, un nouveau fichier de sortie est créé. Toutefois, si vous disposez de moins de 10 Mo de données de résultat, plusieurs fichiers de sortie peuvent être générés, selon le service de base de données et le nombre d'OCPU (si votre base de données utilise des OCPU) de l'instance Autonomous Database.

    La taille de bloc de fichier de sortie par défaut est 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur avec l'option du paramètre de format maxfilesize. Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package pour EXPORT_DATA.

  • Pour la sortie Parquet, chaque fichier généré est inférieur à 128 Mo et plusieurs fichiers de sortie peuvent être générés. Toutefois, si vous disposez de moins de 128 Mo de données de résultat, plusieurs fichiers de sortie peuvent être générés en fonction du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) de l'instance Autonomous Database.

    L'option maxfilesize du paramètre format ne s'applique pas aux fichiers Parquet.