Export de données vers la banque d'objets en tant que texte à l'aide de DBMS_CLOUD.EXPORT_DATA
DBMS_CLOUD.EXPORT_DATA
pour exporter des données au format texte d'une Autonomous Database vers la banque d'objets cloud. Les options d'export au format texte sont CSV, JSON ou XML.
Rubriques connexes
Export de données JSON vers Cloud Object Storage
Présente les étapes permettant d'exporter des données de table à partir d'Autonomous Database vers le stockage d'objet cloud au format de données JSON en indiquant une requête.
Cette méthode d'export prend en charge toutes les banques d'objets cloud prises en charge par Autonomous Database. Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure pour accéder à Oracle Cloud Infrastructure Object Store, des noms de ressource Amazon pour accéder au service de stockage simple AWS (S3), un principal de service Azure pour accéder au stockage BLOB Azure ou un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Remarques relatives à l'export avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes. -
Définissez le paramètre de
format
sur l'optioncompression
pour compresser les fichiers de sortie. -
Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure
DBMS_CLOUD.DELETE_OBJECT
ou utilisez des commandes natives du stockage d'objet cloud natif pour supprimer les fichiers.
Export de données au format CSV vers Cloud Object Storage
Présente les étapes permettant d'exporter des données de table à partir d'Autonomous Database vers le stockage d'objet cloud au format de données CSV en indiquant une requête.
Cette méthode d'export prend en charge toutes les banques d'objets cloud prises en charge par Autonomous Database. Vous pouvez également utiliser les noms de ressource Amazon (ARN) pour accéder à AWS Simple Storage Service (S3), à un principal de service Azure pour accéder au stockage BLOB Azure ou à un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Remarques relatives à l'export avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes. -
Définissez le paramètre de
format
sur l'optioncompression
pour compresser les fichiers de sortie. -
Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure
DBMS_CLOUD.DELETE_OBJECT
ou utilisez des commandes natives du stockage d'objet cloud natif pour supprimer les fichiers.
Export de données en tant que parquet vers Cloud Object Storage
Présente les étapes permettant d'export des données de table à partir d'Autonomous Database vers le stockage d'objet cloud au format de données Parquet en indiquant une requête.
Cette méthode d'export prend en charge toutes les banques d'objets cloud prises en charge par Autonomous Database. Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure pour accéder à Oracle Cloud Infrastructure Object Store, des noms de ressource Amazon pour accéder au service de stockage simple AWS (S3), un principal de service Azure pour accéder au stockage BLOB Azure ou un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Remarques relatives à l'export avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes. -
Définissez le paramètre de
format
sur l'optioncompression
pour compresser les fichiers de sortie. La valeur par défautcompression
pourtype
parquet
estsnappy
. -
Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure
DBMS_CLOUD.DELETE_OBJECT
ou utilisez des commandes natives du stockage d'objet cloud natif pour supprimer les fichiers. -
Reportez-vous à DBMS_CLOUD Package Oracle Data Type to Parquet Mapping pour plus d'informations sur la mise en correspondance de types Oracle avec des types Parquet.
Les types suivants ne sont pas pris en charge ou présentent des limites quant à leur prise en charge pour l'export de Parquet avec
DBMS_CLOUD.EXPORT_DATA
:Type Oracle Remarques BFILE
Non prises en charge
BLOB
Non prises en charge
DATE
Prise en charge avec la limitation suivante : le format
DATE
prend en charge uniquement la date, le mois et l'année. Les heures, les minutes et les secondes ne sont pas prises en charge.Pour plus d'informations sur les limites de format NLS pour l'export de
DATE
vers Parquet, reportez-vous à Mise en correspondance de types de données Oracle de package DBMS_CLOUD avec des parquets.INTERVAL DAY TO SECOND
Pris en charge et traité en tant que chaîne en interne
INTERVAL YEAR TO MONTH
Pris en charge et traité en tant que chaîne en interne
LONG
Non prises en charge
LONG RAW
Non prises en charge
NUMBER
Pris en charge avec les limitations suivantes :
- Peut avoir une précision maximale de 38 et une échelle inférieure à la précision.
- Si aucune précision et échelle n'est fournie pour le type de colonne
NUMBER
, la précision par défaut de 38 et de 20 est utilisée. - L'échelle négative n'est pas prise en charge pour les types
NUMBER
.
Object Types
Non prises en charge
TIMESTAMP
Pris en charge avec les limitations suivantes :
- S'il existe plusieurs colonnes avec une précision différente, la plus grande précision sera prise.
TIMESTAMP WITH TIME ZONE
Le type de données Oracle utilise uniquement l'horodatage.
Pour plus d'informations sur les limites de format NLS pour l'export de
TIMESTAMP
vers Parquet, reportez-vous à Mise en correspondance de types de données Oracle de package DBMS_CLOUD avec des parquets.
Export de données au format XML vers Cloud Object Storage
Présente les étapes permettant d'exporter des données de table à partir d'Autonomous Database vers le stockage d'objet cloud au format de données XML en indiquant une requête.
Cette méthode d'export prend en charge toutes les banques d'objets cloud prises en charge par Autonomous Database. Vous pouvez également utiliser les noms de ressource Amazon (ARN) pour accéder à AWS Simple Storage Service (S3), à un principal de service Azure pour accéder au stockage BLOB Azure ou à un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Remarques relatives à l'export avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes. -
Définissez le paramètre de
format
sur l'optioncompression
pour compresser les fichiers de sortie. -
Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure
DBMS_CLOUD.DELETE_OBJECT
ou utilisez des commandes natives du stockage d'objet cloud natif pour supprimer les fichiers.
Dommage de fichier pour sortie texte (CSV, JSON, parquet ou XML)
Décrit la dénomination de fichier de sortie à l'aide de DBMS_CLOUD.EXPORT_DATA
avec une 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 (un des éléments suivants : 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ètrefile_uri_list
.Vous ne pouvez pas fournir plusieurs valeurs pour FileNamePrefix dans
file_uri_list
. -
client_info_module_action : si aucun préfixe de nom de fichier n'est fourni avec le paramètre
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
utilise la combinaison de client_info, module et action comme préfixe de nom de fichier (lorsque ces informations sont disponibles). La procédure obtient ces noms à partir des informations de l'application pour la session de base de données qui exécute la requête. Reportez-vous à DBMS_APPLICATION_INFO dans le manuel Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 23ai PL/SQL Packages and Types Reference pour plus d'informations sur le nom client_info, le nom module et le nom 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'ECPU (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. -
horodatage : horodatage de téléchargement du fichier.
-
format_extension : la valeur par défaut dépend de la valeur de
type
deformat
:- 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. - Format CSV :
-
compression_extension : lorsque vous incluez le paramètre
format
avec l'optioncompression
définie sur la valeurgzip
, il s'agit de"gz"
.Lorsque la valeur
format
type
estparquet
, la valeurcompression
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'ECPU (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'il n'existe pas de préfixe de nom de fichier dans le paramètre file_uri_list
, DBMS_CLOUD.EXPORT_DATA
utilise un préfixe de nom de fichier au format : 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 lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA
, le préfixe de nom de fichier est défini sur data
. Exemple :
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'ECPU (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. -
Ce qui suit s'applique lorsque vous indiquez un nom d'objet de répertoire dans le paramètre
file_uri_list
:-
Le répertoire fourni 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 des informations d'identification ne doit pas être indiqué.
-
-
Pour une 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 de paramètre
format
maxfilesize
ne s'applique pas aux fichiers Parquet.