Exporter des données en utilisant Oracle Data Pump
Oracle Data Pump permet de déplacer très rapidement des données et des métadonnées en bloc entre Autonomous AI Database et les autres bases de données d'Oracle.
Oracle recommande d'utiliser la dernière version d'"Oracle Data Pump" pour exporter les données d'Autonomous AI Database vers d'autres bases de données d'Oracle, car elle comporte des améliorations et des correctifs pour une meilleure expérience. Téléchargez la dernière version d'Oracle Instant Client et le package d'outils, qui inclut Oracle Data Pump, pour votre plate-forme à partir de la page Téléchargements Oracle Instant Client. Reportez-vous aux instructions d'installation de la page de téléchargement pour installation sur votre plate-forme afin de connaître les étapes d'installation requises après le téléchargement d'Oracle Instant Client et du package d'outils.
Pour déplacer des données d'une base de données Autonomous AI vers d'autres bases de données Oracle à l'aide d'Oracle Data Pump, utilisez l'une des options suivantes :
-
Option 1 : déplacement des données avec l'export Data Pump vers un répertoire de base de données Autonomous AI
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 la banque d'objets cloud. Cette méthode peut être utile lorsque vous souhaitez déplacer des données de votre base de données Autonomous AI vers plusieurs bases de données cible. Au lieu d'exporter les données vers plusieurs banques d'objets cloud, vous pouvez créer un unique ensemble de fichiers dump et l'utiliser pour plusieurs bases de données cible.
Procédez comme suit pour déplacer des données à partir d'une base de données Autonomous AI en les exportant vers un répertoire de votre base de données :
-
Exportez les données vers un répertoire sur la base de données Autonomous AI et déplacez l'ensemble de fichiers dump du répertoire vers votre banque d'objets cloud. Reportez-vous à Export des données à l'aide d'un répertoire sur Autonomous AI Database.
-
Téléchargez les fichiers dump à partir de la banque d'objets cloud, importez les données dans la base de données cible et nettoyez la banque d'objets cloud. Reportez-vous à Téléchargement des fichiers dump, exécution de l'import Data Pump et nettoyage de la banque d'objets.
-
-
Option 2 : déplacement des données avec Data Pump Export vers la banque d'objets
Avec cette méthode d'export, vous utilisez Oracle Data Pump pour exporter directement des données vers la banque d'objets. Cette méthode d'export est prise en charge avec Oracle Cloud Infrastructure Object Storage et Oracle Cloud Infrastructure Object Storage Classic. Cela évite la surcharge liée à la création d'un ensemble de fichiers dump dans un répertoire de votre base de données Autonomous AI, puis au déplacement de l'ensemble de fichiers dump vers la banque d'objets cloud. Si vous prévoyez de déplacer des données vers une base de données cible unique, cette méthode nécessite moins d'efforts et accélère le processus d'export.
Procédez comme suit pour déplacer des données à partir d'une base de données Autonomous AI en les exportant directement vers la banque d'objets :
- Exportez directement des données d'une base de données Autonomous AI vers une banque d'objets cloud. Reportez-vous à Export direct des données d'une base de données Autonomous AI vers la banque d'objets.
- Téléchargez les fichiers dump à partir de la banque d'objets cloud, importez les données dans la base de données cible et nettoyez la banque d'objets cloud. Reportez-vous à Téléchargement des fichiers dump, exécution de l'import Data Pump et nettoyage de la banque d'objets.
Export des données à l'aide d'un répertoire sur la base de données Autonomous AI
Pour exporter des données à l'aide d'un répertoire sur la base de données Autonomous AI, vous devez d'abord créer un jeu de fichiers dump avec les données exportées dans un répertoire dans votre base de données, puis télécharger ces fichiers du répertoire des bases de données vers la banque d'objets cloud.
Utilisation de Data Pump pour créer un ensemble de fichiers dump sur une base de données AI autonome
-
Créez le répertoire dans lequel stocker les fichiers dump contenant les données exportées. Exemple :
CREATE DIRECTORY data_export_dir as 'data_export'; -
Exécutez l'utilitaire d'export Data Pump avec le paramètre de dumpfile défini, le paramètre de filesize défini sur une valeur inférieure à 50 Go, et le paramètre de directory défini. Par exemple, l'exemple suivant montre comment exporter un schéma nommé
SALESdans une base de données Autonomous AI 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.logRemarques concernant les paramètres Data Pump :
-
Dans le cas des ECPU,
paralleldoit être défini sur 0,25 fois le nombre d'ECPU. Par conséquent, dans l'exemple ci-dessus avec 64 ECPU,parallelest défini sur 0,25 x 64, soit 16 avecexpdp. -
Dans le cas des OCPU,
paralleldoit être défini sur la même valeur que le nombre d'OCPU. Dans l'exemple ci-dessus avec 16 OCPU,parallelsera défini sur 16, avecexpdp. -
Si, pendant l'export avec
expdp, vous utilisez le paramètreencryption_pwd_prompt=yes, vous devez utiliserencryption_pwd_prompt=yesavec l'import et entrer le même mot De passe à l'inviteimpdppour décrypter les fichiers dump (n'oubliez pas le mot De Passe que vous fournissez avec l'export). La longueur maximale du mot de passe de cryptage 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%uhérités. 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 dump en un entier incrémentant de 3 à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.
Pour des performances d'export optimales, utilisez le service de base de données
HIGHpour votre connexion d'export et définissez la valeur du paramètrePARALLELsur le nombre d'UC de la base de données. Pour obtenir des informations sur le nom de service de base de donnée à connecter afin d'exécuter l'utilitaire d'export Data Pump, reportez-vous à la section Noms de service de base de donnée prédéfinis pour les bases de Données autonomes AI.Une fois l'export terminé, vous pouvez visualiser les fichiers dump générés en exécutant une requête semblable à la suivante :
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');Par exemple, la sortie de cette requête affiche les fichiers dump générés et le fichier journal d'export :
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... -
Remarque :
- Pour effectuer un export complet ou exporter des objets appartenant à d'autres utilisateurs, vous devez disposer du rôle
DATAPUMP_CLOUD_EXP. - L'API employée pour déplacer les fichiers dump vers Object Storage prend en charge des tailles d'un fichier allant jusqu'à 50 Go. Par conséquent, veillez de ne pas spécifier une taille supérieure dans l'argument filesize.
- Pour plus d'informations, reportez-vous à Export Oracle Data Pump dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.
Déplacer l'ensemble de fichiers dump à partir de la base de données Autonomous AI vers la banque d'objets cloud
-
Connectez-vous à votre base de données Autonomous AI.
-
Stockez vos informations d'identification du stockage d'objet cloud à l'aide de la procédure
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Exemple :BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Les valeurs fournies pour
usernameetpassworddépendent du service Cloud Object Storage que vous utilisez :-
Oracle Cloud Infrastructure Object Storage :
usernameest votre nom utilisateur Oracle Cloud Infrastructure etpasswordest votre jeton d'authentification Oracle Cloud Infrastructure. Reportez-vous à Utilisation des jetons d'authentification. -
Oracle Cloud Infrastructure Object Storage Classic :
usernameest votre nom utilisateur Oracle Cloud Infrastructure Classic etpasswordest votre mot de passe Oracle Cloud Infrastructure Classic.Cette opération stocke les informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations d'identification. Cette étape est requise une seule fois, sauf si les informations d'identification de banque d'objets changent. Une fois les informations d'identification stockées, vous pouvez utiliser le même nom d'informations d'identification pour tous les chargements de données.
-
-
Déplacez les fichiers dump de la base de données Autonomous AI vers la banque d'objets cloud en appelant
DBMS_CLOUD.PUT_OBJECT.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; /Pour plus d'informations sur
PUT_OBJECT, reportez-vous à Procédure PUT_OBJECT.
Exporter directement des données d'une base de données Autonomous AI vers la banque d'objets
Indique comment utiliser Oracle Data Pump pour exporter directement les données de la base de données Autonomous AI vers la banque d'objets cloud.
-
Connectez-vous à votre base de données Autonomous AI.
-
Stockez vos informations d'identification du stockage d'objet cloud à l'aide de la procédure
DBMS_CREDENTIAL.CREATE_CREDENTIAL. Exemple :BEGIN DBMS_CREDENTIAL.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@oracle.com', password => 'password' ); END; /Les valeurs fournies pour username et password dépendent du service Cloud Object Storage que vous utilisez :
-
Oracle Cloud Infrastructure Object Storage :
usernameest votre nom utilisateur Oracle Cloud Infrastructure etpasswordest votre jeton d'authentification Oracle Cloud Infrastructure. Reportez-vous à Utilisation des jetons d'authentification. -
Oracle Cloud Infrastructure Object Storage Classic :
usernameest votre nom utilisateur Oracle Cloud Infrastructure Classic etpasswordest votre mot de passe Oracle Cloud Infrastructure Classic.
Cette opération stocke les informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations d'identification. Cette étape est requise une seule fois, sauf si les informations d'identification de banque d'objets changent. Une fois les informations d'identification stockées, vous pouvez utiliser le même nom d'informations d'identification pour tous les chargements de données.
-
-
En tant qu'utilisateur
ADMIN, définissez les informations d'identification que vous avez définies à l'étape ci-dessus en tant qu'informations d'identification par défaut pour votre base de données Autonomous AI.Exemple :
ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME'; -
Exécutez l'export Data Pump avec le paramètre dumpfile défini sur l'URL d'un bucket existant dans votre stockage d'objet cloud (terminée par un nom d'un fichier ou un nom d'un fichier avec une variable de substitution, comme
exp%U.dmp).-
Oracle Data Pump version 19.9 ou ultérieure :
Définissez le paramètre
credentialsur le nom des informations d'identification créées à l'étape 2. 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 Oracle Cloud Infrastructure qui indique tous les fichiers dont le nom correspond àexport<numéro>.dmpdans le bucketmybucketde la régionus-ashburn-1. (adbdpreview1est l'espace de noms du stockage d'objet dans lequel le bucket réside.) -
Oracle Data Pump versions antérieures à la version 19.9 :
Commencez la valeur du paramètre
dumpfileavec le mot-clédefault_credentialet le signe deux-points. 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.
Remarques concernant les paramètres Oracle Data Pump :
-
Par défaut, l'export Oracle Data Pump compresse uniquement Les métadonnées avant d'écrire dans l'ensemble de fichiers dump. Vous pouvez définir le paramètre
compressionsurALLpour compresser les métadonnées et les données avant d'écrire dans l'ensemble de fichiers dump. Pour plus de détails, reportez-vous à 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%uhérités. 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 dump en un entier incrémentant de 3 à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.Pour plus d'informations, reportez-vous à Paramètres disponibles en mode ligne de commande d'export Data Pump dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.
-
Pour des performances d'export optimales, utilisez le service de base de données
highpour votre connexion d'export et définissez le paramètreparallelsur 0,25 fois le nombre d'ECPU ou sur le nombre d'OCPU de la base de données Autonomous AI. Pour obtenir des informations sur le nom de service de base de donnée à connecter afin d'exécuter l'utilitaire d'export Data Pump, reportez-vous à la section Noms de service de base de donnée prédéfinis pour les bases de Données autonomes AI. -
Pour le format d'URL de fichier dump des différents services Cloud Object Storage, reportez-vous à Formats d'URI de stockage d'objet cloud.
Pour obtenir des informations sur les objets non autorisés dans Autonomous AI Database, reportez-vous à la section Limites concernant l'utilisation des commandes SQL.
-
-
Validez les résultats.
Oracle Data Pump divise chaque partie de fichier dump en segments plus petits pour accélérer les téléchargements. La console Oracle Cloud Infrastructure Object Storage affiche plusieurs fichiers pour chaque partie de fichier dump que vous exportez. La taille affichée pour les fichiers dump réels est zéro (0) et celle affichée pour les segments de fichier associés 10 Mo ou moins. Exemple :
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaRemarque :
Le téléchargement du fichier dump de zéro octet à partir de la console ou à l'aide de la CLI ne vous donnera pas les fichiers dump complets. Pour télécharger les fichiers dump complets à partir de la banque d'objets, utilisez un outil prenant en charge Swift, tel que curl, et fournissez votre nom de connexion utilisateur et votre jeton d'authentification Swift. 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échargement des fichiers dump, exécution de l'import Data Pump et nettoyage de la banque d'objets
Si nécessaire, téléchargez les fichiers dump à partir de la banque d'objets cloud et utilisez l'utilitaire d'import Oracle Data Pump pour importer l'ensemble de fichiers dump vers la base de données cible. Effectuez ensuite le nettoyage requis.
-
Téléchargez les fichiers dump à partir de la banque d'objets cloud.
Remarque : cette étape n'est pas nécessaire si vous importez les données vers une autre base de données Autonomous AI
Si vous effectuez une exportation directe vers l'objet Store à l'aide d'Oracle Data Pump, comme indiqué dans Export direct des données d'une base de données Autonomous AI vers l'objet Store, les fichiers dump de la banque d'objets affichent une taille 0. Oracle Data Pump divise chaque partie de fichier dump en segments plus petits pour accélérer les téléchargements. La console Oracle Cloud Infrastructure Object Storage affiche plusieurs fichiers pour chaque partie de fichier dump que vous exportez. La taille affichée pour les fichiers dump réels est zéro (0) et celle affichée pour les segments de fichier associés 10 Mo ou moins. Exemple :
exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaaLe téléchargement du fichier dump de zéro octet à partir de la console Oracle Cloud Infrastructure ou à l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure ne vous fournit pas les fichiers dump complets. Pour télécharger les fichiers dump complets à partir de la banque d'objets, utilisez un outil prenant en charge Swift, tel que curl, et fournissez votre nom de connexion utilisateur et votre jeton d'authentification Swift. 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 ou de substitution dans l'URL. Vous devez utiliser plusieurs commandes cURL pour télécharger l'ensemble de fichiers dump à partir de la banque d'objets. Vous pouvez également utiliser un script qui prend en charge les caractères de substitution pour télécharger tous les fichiers dump de la banque d'objets en une seule commande.
-
Exécutez l'utilitaire d'import Data Pump pour importer l'ensemble de fichiers dump vers la base de données cible.
Remarque : si vous importez les données vers une autre base de données Autonomous AI, reportez-vous à Chargement de données à l'aide d'Oracle Data Pump.
Dans le cas de fichiers exportés directement vers l'aide d'Oracle Data Pump, comme indiqué dans Export direct des données d'une base de données Autonomous AI vers l'objet de la banque, si vous importez un fichier avec les procédures
DBMS_CLOUDqui prennent en charge le paramètreformattypeavec la valeur'datapump', vous devez uniquement indiquer le nom du fichier principal. Les procédures qui prennent en charge le type de format'datapump'repèrent et téléchargent automatiquement les segments. -
Effectuez les tâches de nettoyage post-import. Si vous avez terminé l'import des fichiers dump vers les bases de données cible, supprimez le bucket contenant les données ou enlevez les fichiers dump du bucket de banque d'objets cloud, puis enlevez les fichiers dump de l'emplacement auquel vous avez téléchargé les fichiers dump pour exécuter l'utilitaire d'import Data Pump.
Pour plus d'informations, reportez-vous à Paramètres disponibles en mode ligne de commande d'import Oracle Data Pump dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.