Utilisation d'Oracle Data Pump pour exporter des données vers la banque d'objets en définissant la propriété DEFAULT_CREDENTIAL

Présente les étapes d'export de données de votre instance Autonomous Database vers Cloud Object Storage avec l'export Oracle Data Pump et la définition de la propriété DEFAULT_CREDENTIAL.

Oracle recommande d'utiliser la dernière version d'Oracle Data Pump pour exporter des données d'Autonomous Database vers d'autres bases de données 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.

Remarque

Database Actions fournit un lien pour Oracle Instant Client. Pour accéder à ce lien depuis Database Actions, sous Téléchargements, cliquez sur Télécharger Oracle Instant Client.
  1. Connectez-vous à la base de données autonome.
  2. Stockez vos informations d'identification Cloud Object Storage à l'aide de DBMS_CLOUD.CREATE_CREDENTIAL. Par exemple :
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    Les valeurs fournies pour username et password dépendent du service Cloud Object Storage que vous utilisez .

    Si vous effectuez l'export vers Oracle Cloud Infrastructure Object Storage, vous pouvez utiliser les URI natifs Oracle Cloud Infrastructure ou les URI Swift, mais les informations d'identification doivent être des jetons d'authentification. Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. En tant qu'utilisateur ADMIN, définissez les informations d'identification que vous avez définies à l'étape 2 comme informations d'identification par défaut pour votre base de données. Par exemple :
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'ADMIN.DEF_CRED_NAME'

    La valeur DEFAULT_CREDENTIAL ne peut pas être un principal de ressource OCI, un principal de service Azure, un nom de ressource Amazon (ARN) ou un compte de service Google. Pour plus d'informations sur l'authentification basée sur le principal de ressource, reportez-vous à Configuration de stratégies et de rôles pour accéder aux ressources.

  4. Exécutez l'export Data Pump avec le paramètre dumpfile défini sur l'URL d'un bucket existant sur le stockage d'objet cloud (terminée par le nom d'un fichier ou le nom d'un fichier avec une variable de substitution, comme exp%L.dmp). Par exemple :
    expdp admin/password@db2022adb_high \
         filesize=5GB \
         dumpfile=default_credential:https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/exp%L.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         logfile=export.log \
         directory=data_pump_dir
    

    Remarques concernant les paramètres Data Pump :

    • Si, pendant l'export avec expdp, vous avez utilisé le paramètre encryption_pwd_prompt=yes, utilisez encryption_pwd_prompt=yes et saisissez le même nom de passe à l'invite impdp que vous avez indiquée lors de l'export.

    • 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 hérités. 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 dump en un entier incrémentant de 3 à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.

    • Si votre bucket et vos données ne résident pas dans un domaine commercial (OC1), où les adresses dédiées OCI ne sont pas prises en charge, utilisez le format d'URI suivant pour dumpfile :

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    Pour dumpfile, cet exemple utilise le format d'URI recommandé à l'aide des adresses dédiées OCI pour le domaine commercial (OC1). namespace-string est l'espace de noms du stockage d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Adresses dédiées Object Storage, à Régions et domaines de disponibilité et à Présentation des espaces de noms Object Storage.

    Le mot-clé default_credential dans le paramètre dumpfile est requis.

    Pour des performances d'export optimales, utilisez le service de base de données HIGH pour votre connexion d'export et définissez le paramètre parallel sur un quart du nombre d'ECPU (.25 x nombre d'ECPU). Si vous utilisez un modèle de calcul OCPU, définissez le paramètre parallèle sur le nombre d'OCPU (1 x nombre d'OCPU).

    Pour plus d'informations sur le nom du service de base de données à connecter pour exécuter l'export Data Pump, reportez-vous à Gestion de la simultanéité et des priorités sur Autonomous Database.

    Pour le format d'URL du fichier dump des différents services Cloud Object Storage, reportez-vous à Formats d'URI DBMS_CLOUD.

    Cet exemple présente les paramètres recommandés pour l'export à partir d'Autonomous Database. Pour ces paramètres expdp, notez les points suivants :

    • La valeur maximale du paramètre filesize est de 10000 Mo pour les exports Oracle Cloud Infrastructure Object Storage.

    • La valeur maximale du paramètre filesize est de 20 Go pour les exports Oracle Cloud Infrastructure Object Storage Classic.

    • Si le fichier filesize indiqué est trop volumineux, l'export affiche le message d'erreur suivant :

      ORA-17500: ODM err:ODM HTTP Request Entity Too Large
    • Le paramètre directory indique le répertoire data_pump_dir pour le fichier journal indiqué, export.log. Pour plus d'informations, reportez-vous à Accès aux fichiers journaux pour l'export Data Pump.

    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. Par exemple :

    exp100.dmp
    exp100.dmp_aaaaaa
    exp101.dmp
    exp101.dmp_aaaaaa

    Le 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. Par exemple :

    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp100.dmp

    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 devez uniquement fournir le nom du fichier principal. Les procédures qui prennent en charge le type du format 'datapump' repèrent et téléchargent automatiquement les segments.

    Lorsque vous utilisez DBMS_CLOUD.DELETE_OBJECT, la procédure repère et supprime automatiquement les blocs lorsque la procédure supprime le fichier principal.

  5. Effectuez les étapes requises pour utiliser l'import et le nettoyage Oracle Data Pump.
Remarque

Pour effectuer un export complet ou exporter des objets appartenant à d'autres utilisateurs, vous devez disposer du rôle DATAPUMP_CLOUD_EXP.

Pour obtenir des informations détaillées sur les paramètres d'export Oracle Data Pump, reportez-vous à la section Utilitaires Oracle Database.