Exporter des données à l'aide d'Oracle Data Pump
Oracle Data Pump offre un déplacement très rapide des données et des métadonnées en masse entre les bases de données Autonomous AI Database et d'autres bases de données Oracle.
Oracle recommande d'utiliser la dernière version d'Oracle Data Pump pour exporter des données depuis Autonomous AI Database vers d'autres bases de données Oracle, car elle contient des améliorations et des correctifs pour une meilleure expérience. Téléchargez la dernière version d'Oracle Instant Client et téléchargez l'ensemble d'outils, qui inclut Oracle Data Pump, pour votre plate-forme à partir des téléchargements Oracle Instant Client. Consultez les instructions d'installation sur la page de téléchargement pour connaître les étapes d'installation requises après le téléchargement d'Oracle Instant Client et de l'ensemble d'outils.
Pour déplacer des données d'une base de données IA autonome vers d'autres bases de données Oracle à l'aide d'Oracle Data Pump, utilisez l'une des options suivantes :
-
Option 1 : Déplacer des données avec l'exportation de l'extraction de données vers un répertoire de base de données d'IA autonome
Utilisez Oracle Data Pump pour exporter les données vers un répertoire de votre base de données, puis déplacez les données du répertoire vers le magasin d'objets en nuage. Cette méthode peut être bénéfique lorsque vous souhaitez déplacer des données de votre base de données IA autonome vers plusieurs bases de données cibles. Au lieu d'exporter les données vers plusieurs magasins d'objets en nuage, vous pouvez créer un jeu de fichiers de vidage une seule fois et l'utiliser pour plusieurs bases de données cibles.
Effectuez les étapes suivantes pour déplacer des données à partir d'une base de données d'intelligence artificielle autonome en les exportant vers un répertoire de votre base de données :
-
Exportez les données dans un répertoire de la base de données d'intelligence artificielle autonome et déplacez le jeu de fichiers de vidage du répertoire vers le magasin d'objets en nuage. Voir Exporter des données à l'aide d'un répertoire dans une base de données d'IA autonome.
-
Téléchargez les fichiers de vidage à partir du magasin d'objets en nuage, importez les données dans la base de données cible, puis nettoyez le magasin d'objets en nuage. Voir Télécharger les fichiers de vidage, exécuter l'importation de l'extraction de données et nettoyer le magasin d'objets.
-
-
Option 2 : Déplacer des données avec Data Pump Export vers le magasin d'objets
Avec cette méthode d'exportation, vous utilisez Oracle Data Pump pour exporter directement des données vers votre magasin d'objets. Cette méthode d'exportation est prise en charge avec le service de stockage d'objets pour Oracle Cloud Infrastructure et le service de stockage d'objets pour Oracle Cloud Infrastructure version classique. Cela évite les frais généraux liés à la création d'un jeu de fichiers de vidage dans un répertoire de votre base de données d'IA autonome, puis au déplacement du jeu de fichiers de vidage vers le magasin d'objets en nuage. Lorsque vous prévoyez de déplacer des données vers une seule base de données cible, cette méthode est plus simple et permet d'accélérer le processus d'exportation.
Effectuez les étapes suivantes pour déplacer des données depuis Autonomous AI Database en les exportant directement vers votre magasin d'objets :
- Exportez des données de la base de données Autonomous AI Database vers un magasin d'objets en nuage directement. Voir Exporter directement des données de la base de données IA autonome vers le magasin d'objets.
- Téléchargez les fichiers de vidage à partir du magasin d'objets en nuage, importez les données dans la base de données cible, puis nettoyez le magasin d'objets en nuage. Voir Télécharger les fichiers de vidage, exécuter l'importation de l'extraction de données et nettoyer le magasin d'objets.
Exporter des données à l'aide d'un répertoire dans une base de données d'intelligence artificielle autonome
Pour exporter des données à l'aide d'un répertoire dans Autonomous AI Database, vous devez d'abord créer un jeu de fichiers de vidage contenant les données exportées dans un répertoire de votre base de données, puis charger ces fichiers à partir du répertoire de votre base de données dans le magasin d'objets en nuage.
Utiliser Data Pump pour créer un jeu de fichiers de vidage sur une base de données d'IA autonome
-
Créez un répertoire dans lequel stocker les fichiers de vidage contenant les données exportées. Par exemple :
CREATE DIRECTORY data_export_dir as 'data_export'; -
Exécutez Data Pump Export avec le paramètre dumpfile défini, le paramètre filesize (Taille de fichier) réglé à moins de 50G et le paramètre directory (Répertoire). Par exemple, ce qui suit montre comment exporter un schéma nommé
SALESdans une base de données d'intelligence artificielle autonome nomméeATPC1avec 64 ECPU :expdp sales/password@ATPC1_high directory=data_export_dir dumpfile=exp%L.dmp parallel=16 encryption_pwd_prompt=yes filesize=1G logfile=export.logNotes relatives aux paramètres Data Pump :
-
Dans le cas des ECPU,
paralleldoit être réglé à 0,25 fois le nombre d'ECPU. Par conséquent, dans l'exemple ci-dessus avec 64 ECPU,parallelest réglé à 0,25 x 64, c'est-à-dire 16 avecexpdp. -
Dans le cas des OCPU,
paralleldoit être réglé à la même valeur que le nombre d'OCPU. Dans l'exemple ci-dessus avec 16 OCPU,parallelsera réglé à 16, avecexpdp. -
Si, lors de l'exportation avec
expdp, vous utilisez le paramètreencryption_pwd_prompt=yes, vous devez utiliserencryption_pwd_prompt=yesavec votre importation et entrer le même mot de passe à l'inviteimpdppour déchiffrer les fichiers de vidage (rappelez-vous le mot de passe que vous fournissez avec l'exportation). La longueur maximale du mot de passe de chiffrement est de 128 octets. -
Le paramètre
dumpfileprend en charge les caractères génériques%Let%len plus des caractères génériques%Uet%uexistants. Par exemple,dumpfile=export%L.dmp.Utilisez le caractère générique
%Lou%lpour les exportations à partir d'Oracle Database version 12.2 et supérieure. Ce caractère générique étend le nom du fichier dumpfile en un entier incrémentant de 3 chiffres à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.
Pour une meilleure performance d'exportation, utilisez le service de base de données
HIGHpour votre connexion d'exportation et réglez le paramètrePARALLELau nombre d'UC dans votre base de données. Pour plus d'informations sur le nom du service de base de données à connecter pour exécuter l'exportation de l'extraction de données, voir Noms de service de base de données prédéfinis pour les bases de données IA autonomes.Une fois l'exportation terminée, vous pouvez voir les fichiers de vidage générés en exécutant une requête semblable à celle qui suit :
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');Par exemple, la sortie de cette interrogation affiche les fichiers de vidage générés et le fichier journal d'exportation :
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED ---------------------- ---------- --------- ------------------------------- -------------------- exp01.dmp 12288 12-NOV-19 06.10.47.0 PM GMT 12-NOV-19... exp02.dmp 8192 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp03.dmp 1171456 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... exp04.dmp 348160 12-NOV-19 06.10.48.0 PM GMT 12-NOV-19... export.log 1663 12-NOV-19 06.10.50.0 PM GMT 12-NOV-19... -
Note :
- Pour effectuer une exportation complète ou pour exporter des objets appartenant à d'autres utilisateurs, vous devez disposer du rôle
DATAPUMP_CLOUD_EXP. - L'API que vous utilisez pour déplacer les fichiers de vidage vers le service de stockage d'objets prend en charge des tailles de fichier allant jusqu'à 50 Go. Veillez donc à ne pas spécifier de tailles supérieures à celles indiquées dans l'argument taille de fichier.
- Pour plus d'informations, voir Exportation avec Oracle Data Pump dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.
Déplacer le jeu de fichiers de vidage de la base de données IA autonome vers votre magasin d'objets en nuage
-
Connectez-vous à votre base de données autonome avec intelligence artificielle.
-
Stockez vos données d'identification du service de stockage d'objets en nuage à l'aide de la procédure
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Par exemple :BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Les valeurs que vous indiquez pour
usernameetpassworddépendent du service de stockage d'objets en nuage que vous utilisez :-
Oracle Cloud Infrastructure Object Storage :
usernameest votre nom d'utilisateur Oracle Cloud Infrastructure etpasswordest votre jeton d'authentification Oracle Cloud Infrastructure. Voir Utilisation de jetons d'authentification. -
Service de stockage d'objets pour Oracle Cloud Infrastructure Object Storage Classic :
usernameest votre nom d'utilisateur pour Oracle Cloud Infrastructure version classique etpasswordest votre mot de passe pour Oracle Cloud Infrastructure version classique.Cette opération stocke les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification. Notez que cette étape n'est requise qu'une seule fois, sauf si les données d'identification du magasin d'objets changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom pour tous les chargements de données.
-
-
Déplacez les fichiers de vidage de la base de données de l'IA autonome vers votre magasin d'objets en nuage en appelant
DBMS_CLOUD.PUT_OBJECT.Par exemple :
BEGIN DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp01.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp02.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp03.dmp'); DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME', object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp', directory_name => 'DATA_EXPORT_DIR', file_name => 'exp04.dmp'); END; /Voir Procédure PUT_OBJECT pour plus d'informations sur
PUT_OBJECT.
Exporter des données de la base de données de l'IA autonome vers le magasin d'objets directement
Indique comment utiliser Oracle Data Pump pour exporter directement des données de la base de données IA autonome vers le magasin d'objets en nuage.
-
Connectez-vous à votre base de données autonome avec intelligence artificielle.
-
Stockez vos données d'identification du service de stockage d'objets en nuage à l'aide de la procédure
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Par exemple :BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Les valeurs que vous indiquez pour username et password dépendent du service de stockage d'objets en nuage que vous utilisez :
-
Oracle Cloud Infrastructure Object Storage :
usernameest votre nom d'utilisateur Oracle Cloud Infrastructure etpasswordest votre jeton d'authentification Oracle Cloud Infrastructure. Voir Utilisation de jetons d'authentification. -
Service de stockage d'objets pour Oracle Cloud Infrastructure Object Storage Classic :
usernameest votre nom d'utilisateur pour Oracle Cloud Infrastructure version classique etpasswordest votre mot de passe pour Oracle Cloud Infrastructure version classique.
Cette opération stocke les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification. Notez que cette étape n'est requise qu'une seule fois, sauf si les données d'identification du magasin d'objets changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom pour tous les chargements de données.
-
-
En tant qu'utilisateur
ADMIN, définissez les données d'identification que vous avez définies à l'étape ci-dessus comme données d'identification par défaut pour votre base de données d'intelligence artificielle autonome.Par exemple :
ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME'; -
Exécutez Data Pump Export avec le paramètre dumpfile réglé à l'URL d'un seau existant dans votre stockage d'objets en nuage (se terminant par un nom de fichier ou un nom de fichier avec une variable de substitution, par exemple
exp%U.dmp).-
Oracle Data Pump version 19.9 ou ultérieure :
Réglez le paramètre
credentialau nom des données d'identification que vous avez créées à l'étape 2. Par exemple :expdp admin/password@ADBD_high \ SCHEMAS=SOE3 \ filesize=5GB \ credential=DEF_CRED_NAME \ dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ parallel=16 \ encryption_pwd_prompt=yes \ logfile=export.log \ directory=data_pump_dir \ EXCLUDE=statistics,indexDans cet exemple,
dumpfileest un URI Swift d'Oracle Cloud Infrastructure qui spécifie tous les fichiers dont le nom correspond àexport<number>.dmpdans le seaumybucketde la régionus-ashburn-1. (adbdpreview1est l'espace de noms du stockage d'objets dans lequel réside le seau.) -
Versions d'Oracle Data Pump antérieures à la version 19.9 :
Commencez la valeur du paramètre
dumpfilepar le mot clédefault_credentialet un signe deux-points. Par exemple :expdp admin/password@ADBD_high \ SCHEMAS=SOE3 \ filesize=5GB \ dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ parallel=16 \ encryption_pwd_prompt=yes \ logfile=export.log \ directory=data_pump_dir \ EXCLUDE=statistics,indexDans cet exemple, le mot clé
default_credentialdu paramètredumpfileest requis.
Notes relatives aux paramètres d'Oracle Data Pump :
-
Par défaut, Oracle Data Pump Export compresse uniquement les métadonnées avant d'écrire dans le jeu de fichiers dump. Vous pouvez régler le paramètre
compressionàALLpour compresser les métadonnées et les données avant d'écrire dans le jeu de fichiers de vidage. Pour plus de détails, voir COMPRESSION dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai. -
Le paramètre
dumpfileprend en charge les caractères génériques%Let%len plus des caractères génériques%Uet%uexistants. Par exemple,dumpfile=export%L.dmp.Utilisez le caractère générique
%Lou%lpour les exportations à partir d'Oracle Database version 12.2 et supérieure. Ce caractère générique étend le nom du fichier dumpfile en un entier incrémentant de 3 chiffres à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.Pour plus d'informations, voir Paramètres disponibles en mode de ligne de commande d'exportation de l'extraction de données dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.
-
Pour une meilleure performance d'exportation, utilisez le service de base de données
highpour votre connexion d'exportation et réglez le paramètreparallelà 0,25 fois le nombre d'ECPU ou le nombre d'OCPU dans votre base de données d'IA autonome. Pour plus d'informations sur le nom du service de base de données à connecter pour exécuter l'exportation de l'extraction de données, voir Noms de service de base de données prédéfinis pour les bases de données IA autonomes. -
Pour connaître le format d'URL du fichier de vidage pour les différents services de stockage d'objets en nuage, voir Formats d'URI du service de stockage d'objets en nuage.
Pour plus d'informations sur les objets non autorisés dans la base de données d'IA autonome, voir Limitations relatives à l'utilisation de commandes SQL.
-
-
Validez les résultats.
Oracle Data Pump divise chaque partie du fichier de vidage en fragments plus petits pour accélérer les chargements. La console du service de stockage d'objets pour Oracle Cloud Infrastructure affiche plusieurs fichiers pour chaque partie de fichier de vidage que vous exportez. La taille des fichiers de vidage réels affichée est de zéro (0) et celle des fragments associés est de 10 Mo ou moins. Par exemple :
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaNote :
Le téléchargement du fichier de vidage à zéro octet à partir de la console ou à l'aide de l'interface de ligne de commande ne vous donnera pas les fichiers de vidage complets. Pour télécharger les fichiers de vidage complets à partir du magasin d'objets, utilisez un outil qui prend en charge Swift, tel que curl, et fournissez votre nom de connexion d'utilisateur et votre jeton d'authentification Swift. Par exemple :
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp
Télécharger les fichiers de vidage, exécuter l'importation de l'extraction de données et nettoyer le stockage d'objets
Si nécessaire, téléchargez les fichiers de vidage à partir du magasin d'objets en nuage et utilisez la fonction d'importation d'Oracle Data Pump pour importer le jeu de fichiers de vidage dans la base de données cible. Effectuez ensuite tout nettoyage nécessaire.
-
Téléchargez les fichiers de vidage à partir du magasin d'objets en nuage.
Note : Cette étape n'est pas nécessaire si vous importez les données vers une autre base de données d'IA autonome
Si vous exportez directement vers le magasin d'objets à l'aide d'Oracle Data Pump, comme indiqué sous Exporter directement des données de la base de données IA autonome vers le magasin d'objets, les fichiers de vidage du magasin d'objets affichent la taille 0. Oracle Data Pump divise chaque partie du fichier de vidage en fragments plus petits pour accélérer les chargements. La console du service de stockage d'objets pour Oracle Cloud Infrastructure affiche plusieurs fichiers pour chaque partie de fichier de vidage que vous exportez. La taille des fichiers de vidage réels affichée est de zéro (0) et celle des fragments associés est de 10 Mo ou moins. Par exemple :
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaEn téléchargeant les fichiers de vidage à zéro octet à partir de la console Oracle Cloud Infrastructure ou à l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure, vous n'obtiendrez pas les fichiers de vidage complets. Pour télécharger les fichiers de vidage complets à partir du magasin d'objets, utilisez un outil qui prend en charge Swift, tel que curl, et fournissez votre nom de connexion d'utilisateur et votre jeton d'authentification Swift. Par exemple :
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmpLa commande cURL ne prend pas en charge les caractères génériques ni les caractères de substitution dans son URL. Vous devez utiliser plusieurs commandes cURL pour télécharger le jeu de fichiers de vidage à partir du magasin d'objets. Vous pouvez également utiliser un script qui prend en charge les caractères de substitution pour télécharger tous les fichiers de vidage de votre magasin d'objets à l'aide d'une seule commande.
-
Exécutez la fonction d'importation d'Oracle Data Pump pour importer le jeu de fichiers de vidage dans la base de données cible.
Note : Si vous importez les données vers une autre base de données d'IA autonome, voir Charger les données à l'aide d'Oracle Data Pump.
Pour les fichiers exportés directement vers le magasin d'objets à l'aide d'Oracle Data Pump, comme indiqué dans Exporter des données de la base de données IA autonome vers le magasin d'objets directement, si vous importez un fichier avec les procédures
DBMS_CLOUDqui prennent en charge le paramètreformattypeavec la valeur'datapump', vous n'avez qu'à fournir le nom du fichier principal. Les procédures qui prennent en charge le type de format'datapump'détectent et téléchargent automatiquement les fragments. -
Effectuer les tâches de nettoyage après l'importation. Si vous avez terminé l'importation des fichiers de vidage dans les bases de données cibles, supprimez le seau contenant les données ou supprimez les fichiers de vidage du seau du magasin d'objets en nuage, puis supprimez les fichiers de vidage de l'emplacement où vous les avez téléchargés pour exécuter la fonction d'importation d'Oracle Data Pump.
Pour des informations détaillées, voir Paramètres disponibles en mode de ligne de commande d'importation Oracle Data Pump dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.