Déplacement des données vers la banque d'objets en tant que fichiers Oracle Data Pump à l'aide d'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 pour indiquer une requête afin de sélectionner les données à exporter, comme suit :

  1. Connectez-vous à votre base de données.
  2. Stockez les informations d'identification de la 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 à la banque d'objets Oracle Cloud Infrastructure 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 à des 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 pour le nom des informations d'identification. Cette étape n'est requise qu'une seule fois, sauf si vos 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 plus d'informations sur les paramètres username et password pour différents services Object Storage, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Exportez les données d'Autonomous Database vers votre banque d'objets 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. Par exemple :
    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 délimitée par des virgules des fichiers d'export. L'utilisation de caractères génériques et de caractères 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 de sorte que seules les données requises soient exportées. L'interrogation détermine le contenu du ou des fichiers dump.

    Dans cet exemple, namespace-string est l'espace de noms 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 n'écrase 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 à la procédure EXPORT_DATA.

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

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. En fonction de la base de données, vous pouvez utiliser ces fichiers comme suit :

    • Sur une instance Autonomous Database, vous pouvez utiliser les fichiers dump avec les procédures DBMS_CLOUD qui prennent en charge le paramètre 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 toute autre base de données Oracle Database, telle qu'Oracle Database 19c sur site, 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 dump générés dépend du nombre de noms de fichier fournis 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 fichier dump unique est exporté sans parallélisme, 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 de paramètre query que vous fournissez peut être une requête avancée, si nécessaire, telle qu'une requête qui inclut des jointures ou des sous-requêtes.