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 :

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

  1. 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';
    
  2. 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é SALES dans une base de données d'intelligence artificielle autonome nommée ATPC1 avec 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.log
    

    Notes relatives aux paramètres Data Pump :

    • Dans le cas des ECPU, parallel doit être réglé à 0,25 fois le nombre d'ECPU. Par conséquent, dans l'exemple ci-dessus avec 64 ECPU, parallel est réglé à 0,25 x 64, c'est-à-dire 16 avec expdp.

    • Dans le cas des OCPU, parallel doit être réglé à la même valeur que le nombre d'OCPU. Dans l'exemple ci-dessus avec 16 OCPU, parallel sera réglé à 16, avec expdp.

    • Si, lors de l'exportation avec expdp, vous utilisez le paramètre encryption_pwd_prompt=yes, vous devez utiliser encryption_pwd_prompt=yes avec votre importation et entrer le même mot de passe à l'invite impdp pour 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 dumpfile prend en charge les caractères génériques %L et %l en plus des caractères génériques %U et %u existants. Par exemple, dumpfile=export%L.dmp.

      Utilisez le caractère générique %L ou %l pour 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 HIGH pour votre connexion d'exportation et réglez le paramètre PARALLEL au 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 :

Déplacer le jeu de fichiers de vidage de la base de données IA autonome vers votre magasin d'objets en nuage

  1. Connectez-vous à votre base de données autonome avec intelligence artificielle.

  2. 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 : username est votre nom d'utilisateur Oracle Cloud Infrastructure et password est 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 : username est votre nom d'utilisateur pour Oracle Cloud Infrastructure version classique et password est 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.

  3. 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.

  1. Connectez-vous à votre base de données autonome avec intelligence artificielle.

  2. 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 : username est votre nom d'utilisateur Oracle Cloud Infrastructure et password est 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 : username est votre nom d'utilisateur pour Oracle Cloud Infrastructure version classique et password est 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.

  3. 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';
    
  4. 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 credential au 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,index
      

      Dans cet exemple, dumpfile est un URI Swift d'Oracle Cloud Infrastructure qui spécifie tous les fichiers dont le nom correspond à export<number>.dmp dans le seau mybucket de la région us-ashburn-1. (adbdpreview1 est 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 dumpfile par le mot clé default_credential et 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,index
      

      Dans cet exemple, le mot clé default_credential du paramètre dumpfile est 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 à ALL pour 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 dumpfile prend en charge les caractères génériques %L et %l en plus des caractères génériques %U et %u existants. Par exemple, dumpfile=export%L.dmp.

      Utilisez le caractère générique %L ou %l pour 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 high pour votre connexion d'exportation et réglez le paramètre parallel à 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.

  5. 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_aaaaaa
    

    Note :

    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.

  1. 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_aaaaaa
    

    En 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.dmp
    

    La 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.

  2. 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_CLOUD qui prennent en charge le paramètre format type avec 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.

  3. 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.