Déplacement des données vers la banque d'objets en tant que fichiers Oracle Data Pump à l'aide de EXPORT_DATA

Vous pouvez exporter des données vers des fichiers dump Oracle Data Pump en indiquant une requête.

Avec cette méthode d'export, vous utilisez la procédure DBMS_CLOUD.EXPORT_DATA afin d'indiquer une requête permettant de sélectionner les données à exporter, comme suit :

  1. Connectez-vous à votre base de données.
  2. Stockez vos informations d'identification de banque d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL.

    Par exemple :

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /
    

    La création d'informations d'identification pour accéder à Oracle Cloud Infrastructure Object Storage n'est pas requise si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure.

    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.

    Reportez-vous à Procédure CREATE_CREDENTIAL pour plus d'informations sur les paramètres username et password des différents services de stockage d'objet.

  3. Exportez des données à partir d'Autonomous Database vers le stockage d'objet cloud en tant que fichiers dump Oracle Data Pump en appelant DBMS_CLOUD.EXPORT_DATA avec le paramètre format type défini sur la valeur datapump. Exemples :
    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/exp01.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT warehouse_id, quantity FROM inventories'
     );
    END;
    /
    

    Les paramètres sont les suivants :

    • credential_name : nom des informations d'identification créées à l'étape précédente.

    • file_uri_list : liste des fichiers d'export séparés par des virgules. L'utilisation de caractères génériques et de substitution n'est pas prise en charge dans file_uri_list.

    • format : indique le paramètre type requis avec la valeur datapump, et définit éventuellement les options que vous pouvez indiquer pour l'export avec le pilote d'accès ORACLE_DATAPUMP.

    • query : indique une instruction SELECT afin que seules les données requises soient exportées. La requête détermine le contenu des fichiers dump.

    Dans cet exemple, namespace-string est l'espace de noms de stockage d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

    Remarque

    La procédure DBMS_CLOUD.EXPORT_DATA crée les fichiers dump que vous indiquez dans file_uri_list. La procédure ne remplace pas les fichiers. Si un fichier dump dans file_uri_list existe, DBMS_CLOUD.EXPORT_DATA signale une erreur. DBMS_CLOUD.EXPORT_DATA ne crée pas de buckets.

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à Procédure EXPORT_DATA.

  4. Effectuez les étapes requises pour utiliser l'import Oracle Data Pump et le nettoyage. Pour plus de détails, reportez-vous à Téléchargement des fichiers dump, exécution de l'import Data Pump et nettoyage de la banque d'objets.

Remarques relatives à l'export de données avec DBMS_CLOUD.EXPORT_DATA :

  • Les fichiers dump que vous créez avec DBMS_CLOUD.EXPORT_DATA ne peuvent pas être importés à l'aide d'Oracle Data Pump impdp. Selon la base de données, vous pouvez utiliser ces fichiers comme suit :

    • Sur une base de données Autonomous Database, vous pouvez utiliser les fichiers dump avec les procédures DBMS_CLOUD qui prennent en charge le paramètre de format type avec la valeur datapump. Vous pouvez importer les fichiers dump à l'aide de DBMS_CLOUD.COPY_DATA ou appeler DBMS_CLOUD.CREATE_EXTERNAL_TABLE pour créer une table externe.

    • Sur les autres bases de données Oracle Database, comme sur site Oracle Database 19c, vous pouvez importer les fichiers dump créés avec la procédure DBMS_CLOUD.EXPORT_DATA à l'aide du pilote d'accès ORACLE_DATAPUMP. Pour plus d'informations, reportez-vous à Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP.

  • Le nombre de fichiers dump générés par DBMS_CLOUD.EXPORT_DATA est déterminé lors de l'exécution de la procédure. Le nombre de fichiers de vidage générés dépend du nombre de noms de fichier indiqués dans le paramètre file_uri_list, ainsi que du nombre d'ECPU disponibles pour l'instance, du niveau de service et de la taille des données.

    Par exemple, si vous utilisez une instance Autonomous Database à 2 ECPU ou le service low, un seul fichier dump est exporté sans parallèle, même si vous indiquez plusieurs noms de fichier. Si vous utilisez une instance Autonomous Database à 8 ECPU avec le service medium ou high, les travaux peuvent être exécutés en parallèle et plusieurs fichiers dump sont exportés si vous indiquez plusieurs noms de fichier.

  • La valeur du paramètre query que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes.