Exporter les données vers le magasin d'objets en tant que texte à l'aide de DBMS_CLOUD.EXPORT_DATA
DBMS_CLOUD.EXPORT_DATA
pour exporter des données sous forme de texte d'une base de données Autonomous Database vers le magasin d'objets en nuage. Les options d'exportation au format texte sont CSV, JSON ou XML.
Rubriques connexes
Exporter des données JSON vers le stockage d'objets en nuage
Décrit les étapes d'exportation de données de table depuis votre base de données autonome vers le stockage d'objets en nuage en tant que données JSON à l'aide d'une interrogation.
Cette méthode d'exportation prend en charge tous les magasins d'objets en nuage pris en charge par Autonomous Database. Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure pour accéder à votre magasin d'objets Oracle Cloud Infrastructure, à des noms de ressource Amazon (ARN) 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).
Notes sur l'exportation avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous fournissez peut être une interrogation avancée, si nécessaire, par exemple une interrogation comportant des jointures ou des sous-interrogation. -
Spécifiez le paramètre
format
avec 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 les commandes natives du service de stockage d'objets en nuage pour supprimer les fichiers.
Exporter des données au format CSV vers le stockage d'objets en nuage
Décrit les étapes d'exportation de données de table depuis votre base de données autonome vers le stockage d'objets en nuage en tant que données CSV à l'aide d'une interrogation.
Cette méthode d'exportation prend en charge tous les magasins d'objets en nuage pris en charge par Autonomous Database. Vous pouvez également utiliser des noms de ressource Amazon (ARN) pour accéder à AWS Simple Storage Service (S3), à un principal de service Azure pour accéder au stockage Azure BLOB ou à un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Notes sur l'exportation avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous fournissez peut être une interrogation avancée, si nécessaire, par exemple une interrogation comportant des jointures ou des sous-interrogation. -
Spécifiez le paramètre
format
avec 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 les commandes natives du service de stockage d'objets en nuage pour supprimer les fichiers.
Exporter des données au moyen de Parquet vers le stockage d'objets en nuage
Décrit les étapes d'exportation de données de table depuis votre Autonomous Database vers le stockage d'objets en nuage en tant que données Parquet en spécifiant une interrogation.
Cette méthode d'exportation prend en charge tous les magasins d'objets en nuage pris en charge par Autonomous Database. Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure pour accéder à votre magasin d'objets Oracle Cloud Infrastructure, à des noms de ressource Amazon (ARN) 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).
Notes sur l'exportation avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous fournissez peut être une interrogation avancée, si nécessaire, par exemple une interrogation comportant des jointures ou des sous-interrogation. -
Spécifiez le paramètre
format
avec l'optioncompression
pour compresser les fichiers de sortie.compression
par défaut pourtype
parquet
estsnappy
. -
Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure
DBMS_CLOUD.DELETE_OBJECT
ou les commandes natives du service de stockage d'objets en nuage pour supprimer les fichiers. -
Voir DBMS_CLOUD Mappage entre types de données Oracle et Parquet pour plus de détails sur le mappage entre types Oracle et types Parquet.
Les types suivants ne sont pas pris en charge ou présentent des limites concernant leur prise en charge pour l'exportation de Parquet avec
DBMS_CLOUD.EXPORT_DATA
:Type Oracle Notes BFILE
Pas de soutien
BLOB
Pas de soutien
DATE
Prise en charge avec la limitation suivante : Le format
DATE
ne prend en charge que la date, le mois et l'année. Les heures, les minutes et les secondes ne sont pas prises en charge.Voir Mappage entre le type de données Oracle et Parquet dans l'ensemble DBMS_CLOUD pour plus de détails sur les limites de format NLS pour l'exportation de
DATE
vers Parquet.INTERVAL DAY TO SECOND
Prise en charge et traitée en tant que chaîne en interne
INTERVAL YEAR TO MONTH
Prise en charge et traitée en tant que chaîne en interne
LONG
Pas de soutien
LONG RAW
Pas de soutien
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 l'échelle de 20 sont utilisées. - L'échelle négative n'est pas prise en charge pour les types
NUMBER
.
Object Types
Pas de soutien
TIMESTAMP
Pris en charge avec les limitations suivantes :
- S'il y a plusieurs colonnes avec une précision différente, la précision la plus élevée sera prise.
TIMESTAMP WITH TIME ZONE
Le type de données Oracle n'utilise que l'horodatage.
Voir Mappage entre le type de données Oracle et Parquet dans l'ensemble DBMS_CLOUD pour plus de détails sur les limites de format NLS pour l'exportation de
TIMESTAMP
vers Parquet.
Exporter des données au format XML vers le stockage d'objets en nuage
Décrit les étapes d'exportation de données de table depuis votre base de données autonome vers le stockage d'objets en nuage en tant que données XML à l'aide d'une interrogation.
Cette méthode d'exportation prend en charge tous les magasins d'objets en nuage pris en charge par Autonomous Database. Vous pouvez également utiliser des noms de ressource Amazon (ARN) pour accéder à AWS Simple Storage Service (S3), à un principal de service Azure pour accéder au stockage Azure BLOB ou à un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).
Notes sur l'exportation avec DBMS_CLOUD.EXPORT_DATA
:
-
Le paramètre
query
que vous fournissez peut être une interrogation avancée, si nécessaire, par exemple une interrogation comportant des jointures ou des sous-interrogation. -
Spécifiez le paramètre
format
avec 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 les commandes natives du service de stockage d'objets en nuage pour supprimer les fichiers.
Nom de fichier pour une sortie de texte (CSV, JSON, Parquet ou XML)
Décrit le nom du 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 l'interrogation spécifiée à l'aide du paramètre query
et envoie les résultats dans des fichiers texte dans le seau du magasin d'objets en nuage ou dans un répertoire. Le format de sortie dépend du paramètre format
type
que vous spécifiez (un des paramètres CSV, JSON, Parquet ou XML).
Pour accélérer la procédure et générer la sortie aussi rapide que possible, DBMS_CLOUD.EXPORT_DATA
divise son travail. Cela signifie que, selon les ressources du système, lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA
, la procédure crée plusieurs fichiers de sortie dans le seau de stockage d'objets en nuage ou dans le répertoire.
Le format de chaque fichier généré est le suivant :
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix : (Facultatif) Si une valeur est fournie pour FileNamePrefix,
DBMS_CLOUD.EXPORT_DATA
utilise le préfixe de nom de fichier pour générer les noms de fichier pour les résultats. FileNamePrefix est spécifié à l'aide du texte indiqué après le nom du seau 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 un préfixe de nom de fichier n'est pas fourni avec le paramètre
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
utilise la combinaison client_info, application module et nom de fichier comme préfixe d'action. La procédure obtient ces noms à partir des informations de l'application pour la session de base de données qui exécute l'interrogation. Voir DBMS_APPLICATION_INFO dans Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 19c ou Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 23ai PL/SQL pour plus d'informations sur client_info, le nom du module et le nom de l'action.Si aucun préfixe de nom de fichier n'est fourni avec
file_uri_list
et que les attributs de la 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é à l'interrogation
DBMS_CLOUD.EXPORT_DATA
. Selon l'interrogation, le service de base de données et le nombre d'ECPU (OCPU si votre base de données utilise des OCPU), il existe un ou plusieurs sequenceNum. De plus, selon la taille des résultats, il y a un ou plusieurs fichiers de sortie pour chaque sequenceNum. -
timestamp : Heure du chargement du fichier.
-
format_extension : La valeur par défaut dépend de la valeur de
format
type
:- Format CSV :
.csv
- Format JSON :
.json
- Format PARQUET
.parquet
- Format XML :
.xml
Pour plus de renseignements, consultez la description de l'option
format
fileextension
dans DBMS_CLOUD Options de format de l'ensemble pour EXPORT_DATA. - Format CSV :
-
compression_extension :
"gz"
lorsque vous incluez le paramètreformat
avec la valeurgzip
pourcompression
.Lorsque
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 spécifié comme dept_export
dans le paramètre file_uri_list
. L'exemple génère la sortie vers le magasin d'objets fourni dans le format spécifié.
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 spécifiez un préfixe de nom de fichier, les fichiers de sortie générés comprennent ce préfixe, 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) dans l'instance Autonomous Database.
Dans l'exemple suivant, le paramètre file_uri_list
ne comporte 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 ne figure dans le paramètre file_uri_list
, DBMS_CLOUD.EXPORT_DATA
utilise un préfixe de nom de fichier du format : client_info_module_action. Dans cet exemple, les fichiers de sortie générés comprennent le préfixe de nom de fichier fourni par DBMS_CLOUD.EXPORT_DATA
, ils sont compressés au moyen de 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 réglé à data
. Par 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 spécifié comme dept_export
dans le paramètre file_uri_list
. L'exemple génère la sortie vers le répertoire fourni dans le format spécifié.
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 spécifiez un préfixe de nom de fichier, le fichier de sortie généré inclut ce dernier, comme suit :
sales_1_20230705T124523275915Z.csv
Notes sur l'attribution de nom de fichier avec DBMS_CLOUD.EXPORT_DATA
:
-
DBMS_CLOUD.EXPORT_DATA
n'a pas de seaux ni 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. -
Les éléments suivants s'appliquent lors de la fourniture d'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 entre guillemets.
-
Le paramètre de nom des données 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, vous pouvez avoir plusieurs fichiers de sortie, selon le service de base de données et le nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
La taille de fragment par défaut du fichier de sortie est de 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur à l'aide de l'option
maxfilesize
du paramètreformat
. Pour plus d'informations, voir DBMS_CLOUD Options de format de l'ensemble 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, vous pouvez avoir plusieurs fichiers de sortie en fonction du service de base de données et du nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
L'option
maxfilesize
du paramètreformat
ne s'applique pas aux fichiers Parquet.